10110111 / k4oxygen

A standalone variant of Oxygen theme for Qt 4,5,6, intended to look mostly like Oxygen@KDE4
GNU Lesser General Public License v2.1
4 stars 1 forks source link

QtCreator sometimes crashes on saving file #10

Open 10110111 opened 5 years ago

10110111 commented 5 years ago

This has been reported as QtCreator bug 21069 (which is now closed due to unreproducibility, but I've now reproduced it again with current QtCreator master), but apparently, it's K4Oxygen who's the culprit. Backtrace:

#0  0x0000000000000000 in ?? ()
#1  0x00007fffdb7436b3 in CPlusPlus::Icons::iconTypeForSymbol (symbol=0x7fffb0435400) at /home/ruslan/packages/qt-creator/src/libs/cplusplus/Icons.cpp:54
#2  0x00007fffdb743a90 in CPlusPlus::Icons::iconForSymbol (symbol=<optimized out>) at /home/ruslan/packages/qt-creator/src/libs/cplusplus/Icons.cpp:38
#3  0x00007fffdbbd9ab5 in CppTools::SymbolItem::data (this=0x7fff899cef00, role=1) at /home/ruslan/packages/qt-creator/src/plugins/cpptools/cppoverviewmodel.cpp:119
#4  0x00007ffff7608ca1 in Utils::BaseTreeModel::data (this=0x5555581d5790, idx=..., role=1) at /home/ruslan/packages/qt-creator/src/libs/utils/treemodel.cpp:1016
#5  0x00007ffff5ddf2c5 in QSortFilterProxyModel::data (this=0x555558b6e690, index=..., role=1) at itemmodels/qsortfilterproxymodel.cpp:2232
#6  0x00007ffff6e9eda6 in QModelIndex::data (this=0x7fffffffad60, arole=1) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:458
#7  0x00007ffff708f635 in QStyledItemDelegate::initStyleOption (this=0x555558b69fa0, option=0x7fffffffac00, index=...) at itemviews/qstyleditemdelegate.cpp:302
#8  0x00007ffff708fe46 in QStyledItemDelegate::sizeHint (this=0x555558b69fa0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:410
#9  0x00007ffff70f63d1 in QTreeView::indexRowSizeHint (this=0x555558b54620, index=...) at itemviews/qtreeview.cpp:2994
#10 0x00007ffff70f7cd1 in QTreeViewPrivate::layout (this=0x555558b66b30, i=-1, recursiveExpanding=false, afterIsUninitialized=false) at itemviews/qtreeview.cpp:3328
#11 0x00007ffff70f24e2 in QTreeView::doItemsLayout (this=0x555558b54620) at itemviews/qtreeview.cpp:2114
#12 0x00007ffff70f91bd in QTreeViewPrivate::updateScrollBars (this=0x555558b66b30) at itemviews/qtreeview.cpp:3661
#13 0x00007ffff70f58e4 in QTreeView::updateGeometries (this=0x555558b54620) at itemviews/qtreeview.cpp:2833
#14 0x00007ffff705eece in QAbstractItemView::resizeEvent (this=0x555558b54620, event=0x7fffffffba70) at itemviews/qabstractitemview.cpp:2515
#15 0x00007ffff75cb76f in Utils::NavigationTreeView::resizeEvent (this=0x555558b54620, event=0x7fffffffba70) at /home/ruslan/packages/qt-creator/src/libs/utils/navigationtreeview.cpp:112
#16 0x00007ffff6d7b18b in QWidget::event (this=0x555558b54620, event=0x7fffffffba70) at kernel/qwidget.cpp:9106
#17 0x00007ffff6e6fa4f in QFrame::event (this=0x555558b54620, e=0x7fffffffba70) at widgets/qframe.cpp:550
#18 0x00007ffff6e73848 in QAbstractScrollArea::viewportEvent (this=0x555558b54620, e=0x7fffffffba70) at widgets/qabstractscrollarea.cpp:1221
#19 0x00007ffff705b748 in QAbstractItemView::viewportEvent (this=0x555558b54620, event=0x7fffffffba70) at itemviews/qabstractitemview.cpp:1750
#20 0x00007ffff70ee320 in QTreeView::viewportEvent (this=0x555558b54620, event=0x7fffffffba70) at itemviews/qtreeview.cpp:1318
#21 0x00007ffff6e74c2d in QAbstractScrollAreaPrivate::viewportEvent (this=0x555558b66b30, event=0x7fffffffba70) at widgets/qabstractscrollarea_p.h:113
#22 0x00007ffff6e74d1e in QAbstractScrollAreaFilter::eventFilter (this=0x555558b67f30, o=0x555558b66610, e=0x7fffffffba70) at widgets/qabstractscrollarea_p.h:129
#23 0x00007ffff5e0bd67 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x555558b66610, event=0x7fffffffba70) at kernel/qcoreapplication.cpp:1186
#24 0x00007ffff6d2ccbb in QApplicationPrivate::notify_helper (this=0x5555557a6f70, receiver=0x555558b66610, e=0x7fffffffba70) at kernel/qapplication.cpp:3728
#25 0x00007ffff6d2caeb in QApplication::notify (this=0x7fffffffdb90, receiver=0x555558b66610, e=0x7fffffffba70) at kernel/qapplication.cpp:3687
#26 0x00007ffff5e0b919 in QCoreApplication::notifyInternal2 (receiver=0x555558b66610, event=0x7fffffffba70) at kernel/qcoreapplication.cpp:1060
#27 0x00007ffff5e0c316 in QCoreApplication::sendEvent (receiver=0x555558b66610, event=0x7fffffffba70) at kernel/qcoreapplication.cpp:1450
#28 0x00007ffff6d781e8 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555558b66ff0, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7967
#29 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555558b66b30, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#30 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555558b6fa80, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#31 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555558b66960, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#32 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555556cd1140, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#33 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x5555575f7630, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#34 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555555e25940, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#35 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555555f3eaa0, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#36 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555555f30e50, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#37 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555555c05210, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#38 0x00007ffff6d7829e in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x555555c101d0, recursive=true, disableUpdates=true) at kernel/qwidget.cpp:7979
#39 0x00007ffff6d6fc86 in QWidgetPrivate::prepareToRender (this=0x555555c101d0, region=..., renderFlags=...) at kernel/qwidget.cpp:5401
#40 0x00007ffff6d6ede5 in QWidget::render (this=0x555555d18530, painter=0x7fffffffc188, targetOffset=..., sourceRegion=..., renderFlags=...) at kernel/qwidget.cpp:5162
#41 0x00007fffe8ee0fd6 in Oxygen::TransitionWidget::grabBackground (this=0x555558b2e3f0, pixmap=..., widget=0x5555581feed0, rect=...) at /home/ruslan/packages/k4oxygen/style/transitions/oxygentransitionwidget.cpp:250
#42 0x00007fffe8ee03a6 in Oxygen::TransitionWidget::grab (this=0x555558b2e3f0, widget=0x5555581feed0, rect=...) at /home/ruslan/packages/k4oxygen/style/transitions/oxygentransitionwidget.cpp:95
#43 0x00007fffe8ed7781 in Oxygen::ComboBoxData::animate (this=0x555558b2e320) at /home/ruslan/packages/k4oxygen/style/transitions/oxygencomboboxdata.cpp:135
#44 0x00007fffe8ed70f0 in Oxygen::ComboBoxData::indexChanged (this=0x555558b2e320) at /home/ruslan/packages/k4oxygen/style/transitions/oxygencomboboxdata.cpp:53
#45 0x00007fffe8f6e81d in Oxygen::ComboBoxData::qt_static_metacall (_o=0x555558b2e320, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffc500) at /home/ruslan/packages/k4oxygen/build-qt5-self-compiled/style/k4oxygen_autogen/FWOITDCNJQ/moc_oxygencomboboxdata.cpp:81
#46 0x00007ffff5e5421d in QMetaObject::activate (sender=0x5555581feed0, signalOffset=7, local_signal_index=5, argv=0x7fffffffc500) at kernel/qobject.cpp:3795
#47 0x00007ffff5e539e6 in QMetaObject::activate (sender=0x5555581feed0, m=0x7ffff740f6c0 <QComboBox::staticMetaObject>, local_signal_index=5, argv=0x7fffffffc500) at kernel/qobject.cpp:3648
#48 0x00007ffff6e9df53 in QComboBox::currentIndexChanged (this=0x5555581feed0, _t1=-1) at .moc/moc_qcombobox.cpp:509
#49 0x00007ffff6e96144 in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=0x555558172f50, index=...) at widgets/qcombobox.cpp:1377
#50 0x00007ffff6e9506c in QComboBoxPrivate::_q_rowsRemoved (this=0x555558172f50, parent=...) at widgets/qcombobox.cpp:1139
#51 0x00007ffff6e9d2cc in QComboBox::qt_static_metacall (_o=0x5555581feed0, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fffffffc830) at .moc/moc_qcombobox.cpp:296
#52 0x00007ffff5e5421d in QMetaObject::activate (sender=0x55555820ad80, signalOffset=3, local_signal_index=12, argv=0x7fffffffc830) at kernel/qobject.cpp:3795
#53 0x00007ffff5e539e6 in QMetaObject::activate (sender=0x55555820ad80, m=0x7ffff6229080 <QAbstractItemModel::staticMetaObject>, local_signal_index=12, argv=0x7fffffffc830) at kernel/qobject.cpp:3648
#54 0x00007ffff5db4998 in QAbstractItemModel::rowsRemoved (this=0x55555820ad80, _t1=..., _t2=0, _t3=107, _t4=...) at .moc/moc_qabstractitemmodel.cpp:605
#55 0x00007ffff5daf1d0 in QAbstractItemModel::endRemoveRows (this=0x55555820ad80) at itemmodels/qabstractitemmodel.cpp:2807
#56 0x00007ffff5dd942e in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x55555820b000, source_to_proxy={...}, proxy_to_source=<empty>, proxy_start=0, proxy_end=107, proxy_parent=..., orient=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:776
#57 0x00007ffff5dd9329 in QSortFilterProxyModelPrivate::remove_source_items (this=0x55555820b000, source_to_proxy={...}, proxy_to_source=<empty>, source_items={...}, source_parent=..., orient=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:745
#58 0x00007ffff5dda5d3 in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x55555820b000, source_parent=..., start=0, end=107, orient=Qt::Vertical) at itemmodels/qsortfilterproxymodel.cpp:1046
#59 0x00007ffff5ddd457 in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x55555820b000, source_parent=..., start=0, end=107) at itemmodels/qsortfilterproxymodel.cpp:1672
#60 0x00007ffff5de1e13 in QSortFilterProxyModel::qt_static_metacall (_o=0x55555820ad80, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0x7fffffffcca0) at .moc/moc_qsortfilterproxymodel.cpp:232
#61 0x00007ffff5e5421d in QMetaObject::activate (sender=0x5555581d5790, signalOffset=3, local_signal_index=11, argv=0x7fffffffcca0) at kernel/qobject.cpp:3795
#62 0x00007ffff5e539e6 in QMetaObject::activate (sender=0x5555581d5790, m=0x7ffff6229080 <QAbstractItemModel::staticMetaObject>, local_signal_index=11, argv=0x7fffffffcca0) at kernel/qobject.cpp:3648
#63 0x00007ffff5db48f4 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x5555581d5790, _t1=..., _t2=0, _t3=107, _t4=...) at .moc/moc_qabstractitemmodel.cpp:598
#64 0x00007ffff5daf124 in QAbstractItemModel::beginRemoveRows (this=0x5555581d5790, parent=..., first=0, last=107) at itemmodels/qabstractitemmodel.cpp:2790
#65 0x00007ffff76075f9 in Utils::TreeItem::removeChildren (this=0x7fff8882af00) at /home/ruslan/packages/qt-creator/src/libs/utils/treemodel.cpp:716
#66 0x00007ffff7609104 in Utils::BaseTreeModel::setRootItem (this=0x5555581d5790, item=0x5555581bcfc0) at /home/ruslan/packages/qt-creator/src/libs/utils/treemodel.cpp:1082
#67 0x00007fffdbbd9e9a in CppTools::OverviewModel::rebuild (this=0x5555581d5790, doc=...) at /home/ruslan/packages/qt-creator/src/plugins/cpptools/cppoverviewmodel.cpp:163
#68 0x00007fffdbb74134 in CppTools::CppEditorOutline::updateNow (this=0x5555581ffcd0) at /home/ruslan/packages/qt-creator/src/plugins/cpptools/cppeditoroutline.cpp:212
#69 0x00007fffdbb75896 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (CppTools::CppEditorOutline::*)()>::call(void (CppTools::CppEditorOutline::*)(), CppTools::CppEditorOutline*, void**) (f=(void (CppTools::CppEditorOutline::*)(class CppTools::CppEditorOutline * const)) 0x7fffdbb73fc8 <CppTools::CppEditorOutline::updateNow()>, o=0x5555581ffcd0, arg=0x7fffffffd0a0) at /home/ruslan/opt/qt5/include/QtCore/qobjectdefs_impl.h:152
#70 0x00007fffdbb756ea in QtPrivate::FunctionPointer<void (CppTools::CppEditorOutline::*)()>::call<QtPrivate::List<>, void>(void (CppTools::CppEditorOutline::*)(), CppTools::CppEditorOutline*, void**) (f=(void (CppTools::CppEditorOutline::*)(class CppTools::CppEditorOutline * const)) 0x7fffdbb73fc8 <CppTools::CppEditorOutline::updateNow()>, o=0x5555581ffcd0, arg=0x7fffffffd0a0) at /home/ruslan/opt/qt5/include/QtCore/qobjectdefs_impl.h:185
#71 0x00007fffdbb75574 in QtPrivate::QSlotObject<void (CppTools::CppEditorOutline::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55555820ea60, r=0x5555581ffcd0, a=0x7fffffffd0a0, ret=0x0) at /home/ruslan/opt/qt5/include/QtCore/qobjectdefs_impl.h:414
#72 0x00007ffff5e1da63 in QtPrivate::QSlotObjectBase::call (this=0x55555820ea60, r=0x5555581ffcd0, a=0x7fffffffd0a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#73 0x00007ffff5e540ec in QMetaObject::activate (sender=0x5555582008c0, signalOffset=3, local_signal_index=0, argv=0x7fffffffd0a0) at kernel/qobject.cpp:3776
#74 0x00007ffff5e539e6 in QMetaObject::activate (sender=0x5555582008c0, m=0x7ffff622aec0 <QTimer::staticMetaObject>, local_signal_index=0, argv=0x7fffffffd0a0) at kernel/qobject.cpp:3648
#75 0x00007ffff5e62604 in QTimer::timeout (this=0x5555582008c0, _t1=...) at .moc/moc_qtimer.cpp:204
#76 0x00007ffff5e6166f in QTimer::timerEvent (this=0x5555582008c0, e=0x7fffffffd690) at kernel/qtimer.cpp:255
#77 0x00007ffff5e4d3fd in QObject::event (this=0x5555582008c0, e=0x7fffffffd690) at kernel/qobject.cpp:1241
#78 0x00007ffff6d2cce4 in QApplicationPrivate::notify_helper (this=0x5555557a6f70, receiver=0x5555582008c0, e=0x7fffffffd690) at kernel/qapplication.cpp:3736
#79 0x00007ffff6d2a0a2 in QApplication::notify (this=0x7fffffffdb90, receiver=0x5555582008c0, e=0x7fffffffd690) at kernel/qapplication.cpp:3093
#80 0x00007ffff5e0b919 in QCoreApplication::notifyInternal2 (receiver=0x5555582008c0, event=0x7fffffffd690) at kernel/qcoreapplication.cpp:1060
#81 0x00007ffff5e0c316 in QCoreApplication::sendEvent (receiver=0x5555582008c0, event=0x7fffffffd690) at kernel/qcoreapplication.cpp:1450
#82 0x00007ffff5e9a193 in QTimerInfoList::activateTimers (this=0x5555557f0050) at kernel/qtimerinfo_unix.cpp:643
#83 0x00007ffff5e9bb3d in timerSourceDispatch (source=0x5555557efff0) at kernel/qeventdispatcher_glib.cpp:182
#84 0x00007ffff5e9bc38 in idleTimerSourceDispatch (source=0x5555557f6c30) at kernel/qeventdispatcher_glib.cpp:229
#85 0x00007ffff2afd417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff2afd650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007ffff2afd6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#88 0x00007ffff5e9c55e in QEventDispatcherGlib::processEvents (this=0x5555557f00a0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#89 0x00007fffee8724d2 in QXcbGlibEventDispatcher::processEvents (this=0x5555557f00a0, flags=...) at qxcbeventdispatcher.cpp:143
#90 0x00007ffff5e08169 in QEventLoop::processEvents (this=0x7fffffffd990, flags=...) at kernel/qeventloop.cpp:138
#91 0x00007ffff5e084a3 in QEventLoop::exec (this=0x7fffffffd990, flags=...) at kernel/qeventloop.cpp:225
#92 0x00007ffff5e0c15a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363
#93 0x00007ffff65ac1c4 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1779
#94 0x00007ffff6d29931 in QApplication::exec () at kernel/qapplication.cpp:2893
#95 0x0000555555566019 in main (argc=3, argv=0x7fffffffdd58) at /home/ruslan/packages/qt-creator/src/app/main.cpp:635
(gdb) f 41
#41 0x00007fffe8ee0fd6 in Oxygen::TransitionWidget::grabBackground (this=0x555558b2e3f0, pixmap=..., widget=0x5555581feed0, rect=...)
    at /home/ruslan/packages/k4oxygen/style/transitions/oxygentransitionwidget.cpp:250
250                 w->render(&p,-widget->mapTo(w,rect.topLeft()),rect,0);
10110111 commented 5 years ago

A workaround is to disable Combo box transitions in the Animations tab of Oxygen Settings (oxygen-settings or, in KF5, oxygen-settings5 will also work).