PDA

View Full Version : QAbstractEventDispatcher: INTERNAL ERROR, timer ID 0 is too large



jasonhxs
19th May 2016, 04:40
Hi,

I used QTreeView and QStandardItemModel to model the scope tree.
Now the parent node has lots of children and sub-children nodes (probably million nodes).
I suffer a crash when updateGeometries() for the tree view.

The message is:

Fatal: QAbstractEventDispatcher: INTERNAL ERROR, timer ID 0 is too large
catch signal 6

The call-stack is:
#7 0x0000000006964621 in catchSignalCB ()
#8 <signal handler called>
#9 0x00002aaab0e51265 in raise ()
#10 0x00002aaab0e52d10 in abort ()
#11 0x0000000004c0e600 in qtMessageHandler(QtMsgType, char const*)
#12 0x00002aaaac0ca6fe in qt_message_output(QtMsgType, char const*)
#13 0x00002aaaac0ca8c8 in qt_message(QtMsgType, char const*, __va_list_tag*)
#14 0x00002aaaac0caa54 in qFatal(char const*, ...)
#15 0x00002aaaac1c2e73 in QAbstractEventDispatcherPrivate::allocateTimerId()
#16 0x00002aaaac1c3176 in QAbstractEventDispatcher::registerTimer(int, QObject*)
#17 0x00002aaaac1cf371 in QBasicTimer::start(int, QObject*)
#18 0x00002aaaabaad179 in QTreeView::rowsInserted(QModelIndex const&, int, int)
#19 0x00002aaaac1e5bcf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
#20 0x00002aaaac22eaa4 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int)
#21 0x00002aaaac1cb0ca in QAbstractItemModel::endInsertRows()
#22 0x00002aaaabafaf30 in QStandardItemModelPrivate::rowsInserted(QStandardI tem*, int, int) ()
#23 0x00002aaaabafbcf7 in QStandardItemPrivate::insertRows(int, int, QList<QStandardItem*> const&) ()

Do you have any idea about this, thanks.

wysota
24th May 2016, 06:58
When exactly does the crash occur? The trace seems to indicate you were inserting some rows into the model. How many rows?

jasonhxs
19th May 2017, 04:41
We got a solution, insert the children by group, so the calling of "QAbstractItemModel::rowsInserted" will be reduced, and time ID is not overflow.