Many of the OpenGL toolbar buttons, such as: Turntable, Goraud, Phong, Matcap, (and possibly others) crashes the application on an assertion of !key.isDefault()
.
I glanced at the source to try to understand what's going on, but as far as I can tell, there is no way to set PropertyKey to non-default, so I don't understand the purpose of it.
Unless I'm missing something, the m_index
member data is private, the only constructor is a default constructor, and no member functions can modify it, so I don't really know how or where it should have been set.
#1 0x00007ffff5385859 in __GI_abort () at abort.c:79
#2 0x00007ffff5385729 in __assert_fail_base
(fmt=0x7ffff551b588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fffda22c8fd "!key.isDefault()", file=0x7fffda22c90e "/home/hans/projects/possumwood/src/plugins/cgal/./property.inl", line=26, function=<optimized out>) at assert.c:92
#3 0x00007ffff5396f36 in __GI___assert_fail
(assertion=0x7fffda22c8fd "!key.isDefault()", file=0x7fffda22c90e "/home/hans/projects/possumwood/src/plugins/cgal/./property.inl", line=26, function=0x7fffda22c961 "void possumwood::Property<std::array<float, 3>>::set(const possumwood::PropertyKey &, const T &) [T = std::array<float, 3>]") at assert.c:101
#4 0x00007fffda08a7a8 in possumwood::Property<std::array<float, 3ul> >::set(possumwood::PropertyKey const&, std::array<float, 3ul> const&) (this=0x7fffd0c16f60, key=..., value=...)
at /home/hans/projects/possumwood/src/plugins/cgal/./property.inl:26
#5 0x00007fffda083a70 in (anonymous namespace)::put<std::array<float, 3ul>, (anonymous namespace)::FakeKernel::Vector_3>(possumwood::Property<std::array<float, 3ul> >&, possumwood::PropertyKey const&, (anonymous namespace)::FakeKernel::Vector_3 const&) (prop=warning: RTTI symbol not found for class 'possumwood::Property<std::array<float, 3ul> >'
..., key=..., value=...)
at /home/hans/projects/possumwood/src/plugins/cgal/nodes/normals_generator.cpp:207
#6 0x00007fffda082b62 in (anonymous namespace)::put<possumwood::Property<std::array<float, 3ul> >, CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<possumwood::CGALVertex<CGAL::HalfedgeDS_list_types<CGAL::Simple_cartesian<float>, CGAL::I_Polyhedron_derived_items_3<possumwood::CGALPolyhedronItems>, std::allocator<int> > > > >, std::allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<possumwood::CGALVertex<CGAL::HalfedgeDS_list_types<CGAL::Simple_cartesian<float>, CGAL::I_Polyhedron_derived_items_3<possumwood::CGALPolyhedronItems>, std::allocator<int> > > > > > > >(std::reference_wrapper<possumwood::Property<std::array<float, 3ul> > >&, CGAL::internal::In_place_list_iterator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<possumwood::CGALVertex<CGAL::HalfedgeDS_list_types<CGAL::Simple_cartesian<float>, CGAL::I_Polyhedron_derived_items_3<possumwood::CGALPolyhedronItems>, std::allocator<int> > > > >, std::allocator<CGAL::HalfedgeDS_in_place_list_vertex<CGAL::I_Polyhedron_vertex<possumwood::CGALVertex<CGAL::HalfedgeDS_list_types<CGAL::Simple_cartesian<float>, CGAL::I_Polyhedron_derived_items_3<possumwood::CGALPolyhedronItems>, std::allocator<int> > > > > > > const&, (anonymous namespace)::FakeKernel::Vector_3 const&)
(prop=..., target=..., norm=...) at /home/hans/projects/possumwood/src/plugins/cgal/nodes/normals_generator.cpp:202
#7 0x00007fffda0826e9 in CGAL::Polygon_mesh_processing::compute_vertex_normals<CGAL::Polyhedron_3<CGAL::Simple_cartesian<float>, possumwood::CGALPolyhedronItems, CGAL::HalfedgeDS_default, std::allocator<int> >, std::reference_wrapper<possumwood::Property<std::array<float, 3ul> > >, CGAL::Named_function_parameters<(anonymous namespace)::FakeKernel, CGAL::internal_np::geom_traits_t, CGAL::internal_np::No_property> >(CGAL::Polyhedron_3<CGAL::Simple_cartesian<float>, possumwood::CGALPolyhedronItems, CGAL::HalfedgeDS_default, std::allocator<int> > const&, std::reference_wrapper<possumwood::Property<std::array<float, 3ul> > >, CGAL::Named_function_parameters<(anonymous namespace)::FakeKernel, CGAL::internal_np::geom_traits_t, CGAL::internal_np::No_property> const&) (pmesh=..., vnm=..., np=...) at /usr/include/CGAL/Polygon_mesh_processing/compute_normal.h:307
#8 0x00007fffda0823ad in (anonymous namespace)::compute(dependency_graph::Values&) (data=...)
at /home/hans/projects/possumwood/src/plugins/cgal/nodes/normals_generator.cpp:228
#9 0x00007ffff7efd7fb in std::__invoke_impl<dependency_graph::State, dependency_graph::State (*&)(dependency_graph::Values&), dependency_graph::Values&>(std::__invoke_other, dependency_graph::State (*&)(dependency_graph::Values&), dependency_graph::Values&) (__f=@0x7fffdabdd950: 0x7fffda082050 <(anonymous namespace)::compute(dependency_graph::Values&)>, __args=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60
#10 0x00007ffff7efd76b in _ZSt10__invoke_rIN16dependency_graph5StateERPFS1_RNS0_6ValuesEEJS3_EENSt9enable_ifIXsr6__and_ISt6__not_ISt7is_voidIT_EESt14is_convertibleINSt15__invoke_resultIT0_JDpT1_EE4typeESA_EEE5valueESA_E4typeEOSF_DpOSG_ (__fn=@0x7fffdabdd950: 0x7fffda082050 <(anonymous namespace)::compute(dependency_graph::Values&)>, __args=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:141
#11 0x00007ffff7efd63b in std::_Function_handler<dependency_graph::State (dependency_graph::Values&), dependency_graph::State (*)(dependency_graph::Values&)>::_M_invoke(std::_Any_data const&, dependency_graph::Values&) (__functor=..., __args=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:291
#12 0x00007ffff5a70bc1 in std::function<dependency_graph::State (dependency_graph::Values&)>::operator()(dependency_graph::Values&) const (this=0x7fffdabdd950, __args=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:622
#13 0x00007ffff5a6fd1f in dependency_graph::NodeBase::computeOutput(unsigned long) (this=0x7fffd719e2c0, index=3)
at /home/hans/projects/possumwood/src/libs/dependency_graph/node_base.cpp:237
#14 0x00007ffff5a77c70 in dependency_graph::Port::getData() (this=0x7fffd7133cf0) at /home/hans/projects/possumwood/src/libs/dependency_graph/port.cpp:113
#15 0x00007ffff5a6f7b7 in dependency_graph::NodeBase::computeInput(unsigned long) (this=0x7fffd6e19ec0, index=0)
at /home/hans/projects/possumwood/src/libs/dependency_graph/node_base.cpp:198
#16 0x00007ffff5a77bf7 in dependency_graph::Port::getData() (this=0x7fffd70c2880) at /home/hans/projects/possumwood/src/libs/dependency_graph/port.cpp:105
#17 0x00007ffff5a6fad7 in dependency_graph::NodeBase::computeOutput(unsigned long) (this=0x7fffd6e19ec0, index=2)
at /home/hans/projects/possumwood/src/libs/dependency_graph/node_base.cpp:228
#18 0x00007ffff5a77c70 in dependency_graph::Port::getData() (this=0x7fffd70c2920) at /home/hans/projects/possumwood/src/libs/dependency_graph/port.cpp:113
#19 0x00007ffff5a6f7b7 in dependency_graph::NodeBase::computeInput(unsigned long) (this=0x7fffd6e1a340, index=1)
at /home/hans/projects/possumwood/src/libs/dependency_graph/node_base.cpp:198
#20 0x00007ffff5a77bf7 in dependency_graph::Port::getData() (this=0x7fffd7132210) at /home/hans/projects/possumwood/src/libs/dependency_graph/port.cpp:105
#21 0x00007ffff1b5a5b5 in dependency_graph::Port::get<possumwood::VertexData>() (this=0x7fffd7132210)
at /home/hans/projects/possumwood/src/libs/dependency_graph/port.inl:21
#22 0x00007ffff1b599cc in dependency_graph::Values::get<possumwood::VertexData>(dependency_graph::InAttr<possumwood::VertexData> const&) const (this=0x7fffd7286928, attr=...)
at /home/hans/projects/possumwood/src/libs/dependency_graph/values.inl:16
#23 0x00007ffff1b4baa5 in (anonymous namespace)::Drawable::draw() (this=0x7fffd7286920) at /home/hans/projects/possumwood/src/plugins/render/nodes/draw.cpp:128
#24 0x00007ffff7edbb0d in possumwood::Drawable::doDraw(possumwood::ViewportState const&) (this=0x7fffd7286920, viewport=...)
at /home/hans/projects/possumwood/src/libs/possumwood_sdk/drawable.cpp:41
#25 0x00007ffff7e6d0c9 in possumwood::App::draw(possumwood::ViewportState const&, std::function<void (dependency_graph::NodeBase const&)>) (this=
0x7ffff244d000, viewport=..., stateChangedCallback=...) at /home/hans/projects/possumwood/src/libs/possumwood_sdk/app.cpp:230
#26 0x00000000005a0179 in Adaptor::draw(possumwood::ViewportState const&) (this=0x7ffff2552480, viewport=...)
at /home/hans/projects/possumwood/src/apps/possumwood/adaptor.cpp:568
#27 0x00000000005ebf5b in MainWindow::draw(float) (this=0x7fffffffd6a0, dt=2.74980307) at /home/hans/projects/possumwood/src/apps/possumwood/main_window.cpp:449
#28 0x0000000000676ead in MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x7fffffffd6a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffa360)
at moc_main_window.cpp:72
#29 0x00007ffff5fe9300 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x7fffdaccb080, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
at kernel/qobject.cpp:3804
#30 0x000000000067839a in Viewport::render(float) (this=0x7fffdaccb080, _t1=2.74980307) at moc_viewport.cpp:133
#31 0x000000000066f7ee in Viewport::paintGL() (this=0x7fffdaccb080) at /home/hans/projects/possumwood/src/apps/possumwood/viewport.cpp:94
#32 0x00007ffff6a3ae05 in QOpenGLWidgetPrivate::invokeUserPaint() (this=0x7fffdadab780) at ../../include/QtGui/../../src/gui/kernel/qopenglcontext.h:152
#33 0x00007ffff6a182b6 in QWidget::event(QEvent*) (this=0x7fffdaccb080, event=0x7fffffffa820) at kernel/qwidget.cpp:8981
#34 0x00007ffff69d5a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffdc241980, receiver=receiver@entry=0x7fffdaccb080, e=e@entry=0x7fffffffa820)
at kernel/qapplication.cpp:3700
#35 0x00007ffff69df0f0 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd758, receiver=0x7fffdaccb080, e=0x7fffffffa820) at kernel/qapplication.cpp:3446
#36 0x00007ffff5fbd93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffdaccb080, event=0x7fffffffa820) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#37 0x00007ffff6a10f4a in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x7fffdadab780, toBePainted=...) at kernel/qwidget.cpp:5698
#38 0x00007ffff6a3ac2f in QOpenGLWidget::resizeEvent(QResizeEvent*) (this=0x7fffdaccb080, e=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qsize.h:134
#39 0x00007ffff6a18947 in QWidget::event(QEvent*) (this=0x7fffdaccb080, event=0x7fffffffac10) at kernel/qwidget.cpp:9122
#40 0x00007ffff69d5a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffdc241980, receiver=receiver@entry=0x7fffdaccb080, e=e@entry=0x7fffffffac10)
at kernel/qapplication.cpp:3700
#41 0x00007ffff69df0f0 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd758, receiver=0x7fffdaccb080, e=0x7fffffffac10) at kernel/qapplication.cpp:3446
#42 0x00007ffff5fbd93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffdaccb080, event=0x7fffffffac10) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#43 0x00007ffff6a0fce0 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) (this=this@entry=0x7fffdadab780, x=0, y=0, w=<optimized out>, h=<optimized out>, isMove=isMove@entry=true)
at kernel/qwidget.cpp:7366
#44 0x00007ffff6a10a84 in QWidget::setGeometry(QRect const&) (this=0x7fffdaccb080, r=...) at ../../include/QtCore/../../src/corelib/tools/qrect.h:266
#45 0x00007ffff69f9425 in QWidget::setGeometry(int, int, int, int) (ah=850, aw=799, ay=0, ax=0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qrect.h:184
#46 QWidgetItem::setGeometry(QRect const&) (rect=..., this=0x7fffdacfa2e0) at kernel/qlayoutitem.cpp:505
#47 QWidgetItem::setGeometry(QRect const&) (this=0x7fffdacfa2e0, rect=...) at kernel/qlayoutitem.cpp:451
#48 0x00007ffff69ef23b in QBoxLayout::setGeometry(QRect const&) (this=<optimized out>, r=...) at ../../include/QtCore/../../src/corelib/tools/qrect.h:215
#49 0x00007ffff69f5618 in QLayoutPrivate::doResize(QSize const&) (this=0x7fffdac17400, r=...) at ../../include/QtCore/../../src/corelib/tools/qrect.h:184
#50 0x00007ffff69f6911 in QLayout::widgetEvent(QEvent*) (this=<optimized out>, e=e@entry=0x7fffffffb0f0) at ../../include/QtGui/../../src/gui/kernel/qevent.h:471
#51 0x00007ffff69d5a4a in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffdc241980, receiver=receiver@entry=0x7fffdaddad80, e=e@entry=0x7fffffffb0f0)
at kernel/qapplication.cpp:3689
#52 0x00007ffff69df0f0 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd758, receiver=0x7fffdaddad80, e=0x7fffffffb0f0) at kernel/qapplication.cpp:3446
#53 0x00007ffff5fbd93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffdaddad80, event=0x7fffffffb0f0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#54 0x00007ffff6a0fce0 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool)
(this=this@entry=0x7fffdadf4800, x=659, y=100, w=<optimized out>, h=<optimized out>, isMove=isMove@entry=true) at kernel/qwidget.cpp:7366
#55 0x00007ffff6a10a84 in QWidget::setGeometry(QRect const&) (this=0x7fffdaddad80, r=...) at ../../include/QtCore/../../src/corelib/tools/qrect.h:266
#56 0x00007ffff6a17b3f in QWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
(_o=_o@entry=0x7fffdaddad80, _c=_c@entry=QMetaObject::WriteProperty, _id=_id@entry=3, _a=_a@entry=0x7fffffffb260) at .moc/moc_qwidget.cpp:514
#57 0x00007ffff6a1a203 in QWidget::qt_metacall(QMetaObject::Call, int, void**) (this=0x7fffdaddad80, _c=QMetaObject::WriteProperty, _id=3, _a=0x7fffffffb260) at .moc/moc_qwidget.cpp:610
#58 0x00007ffff5de1c8d in QPropertyAnimationPrivate::updateProperty(QVariant const&) (newValue=..., this=0x7fffd1450540) at animation/qpropertyanimation.cpp:132
#59 QPropertyAnimationPrivate::updateProperty(QVariant const&) (newValue=..., this=0x7fffd1450540) at animation/qpropertyanimation.cpp:116
#60 QPropertyAnimation::updateCurrentValue(QVariant const&) (this=<optimized out>, value=...) at animation/qpropertyanimation.cpp:239
#61 0x00007ffff5dde700 in QVariantAnimationPrivate::setCurrentValueForProgress(double) (this=0x7fffd1450540, progress=<optimized out>)
at ../../include/QtCore/5.12.8/QtCore/private/../../../../../src/corelib/kernel/qobject_p.h:110
#62 0x00007ffff5ddef20 in QVariantAnimationPrivate::recalculateCurrentInterval(bool) (this=0x7fffd1450540, force=<optimized out>) at animation/qvariantanimation.cpp:269
#63 0x00007ffff5de2667 in QPropertyAnimation::updateState(QAbstractAnimation::State, QAbstractAnimation::State)
(this=0x7fffd2fef9b0, newState=<optimized out>, oldState=QAbstractAnimation::Stopped) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:208
#64 0x00007ffff5ddc9bc in QAbstractAnimationPrivate::setState(QAbstractAnimation::State) (newState=QAbstractAnimation::Running, this=0x7fffd1450540)
at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:167
#65 QAbstractAnimation::start(QAbstractAnimation::DeletionPolicy) (this=<optimized out>, policy=<optimized out>) at animation/qabstractanimation.cpp:1357
#66 0x00007ffff6aca104 in QWidgetAnimator::animate(QWidget*, QRect const&, bool) (this=this@entry=0x7fffdc2f5da0, widget=<optimized out>, _final_geometry=..., animate=<optimized out>,
animate@entry=false) at widgets/qwidgetanimator.cpp:113
#67 0x00007ffff6b04ff0 in QDockAreaLayout::apply(bool) (this=this@entry=0x7fffdc2f5940, animate=animate@entry=false) at widgets/qdockarealayout.cpp:3224
#68 0x00007ffff6b35c35 in QMainWindowLayoutState::apply(bool) (animated=<optimized out>, this=0x7fffdc2f5868) at widgets/qmainwindowlayout.cpp:670
#69 QMainWindowLayout::applyState(QMainWindowLayoutState&, bool) (this=this@entry=0x7fffdc2f5800, newState=..., animate=animate@entry=false) at widgets/qmainwindowlayout.cpp:2709
#70 0x00007ffff6b38b0a in QMainWindowLayout::restoreState(QDataStream&) (this=0x7fffdc2f5800, stream=...) at widgets/qmainwindowlayout.cpp:2733
#71 0x00007ffff6b2c7e9 in QMainWindow::restoreState(QByteArray const&, int) (this=0x7fffffffd6a0, state=..., version=0) at widgets/qmainwindow.h:211
#72 0x00007ffff7e6becc in possumwood::App::loadFile(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&) (this=0x7ffff244d000, json=...)
at /home/hans/projects/possumwood/src/libs/possumwood_sdk/app.cpp:138
#73 0x00007ffff7e6c375 in possumwood::App::loadFile(possumwood::Filepath const&, bool) (this=0x7ffff244d000, filename=..., alterCurrentFilename=false)
at /home/hans/projects/possumwood/src/libs/possumwood_sdk/app.cpp:160
#74 0x00000000005ed514 in MainWindow::loadFile(boost::filesystem::path const&, bool) (this=0x7fffffffd6a0, filename=..., updateFilename=false)
at /home/hans/projects/possumwood/src/apps/possumwood/main_window.cpp:618
#75 0x000000000061d1c4 in Toolbar::Toolbar()::$_0::operator()() const (this=0x7fffd6dbf080) at /home/hans/projects/possumwood/src/apps/possumwood/toolbar.cpp:121
#76 0x000000000061d009 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Toolbar::Toolbar()::$_0>::call(Toolbar::Toolbar()::$_0&, void**)
(f=..., arg=0x7fffffffc640) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#77 0x000000000061cfe1 in QtPrivate::Functor<Toolbar::Toolbar()::$_0, 0>::call<QtPrivate::List<>, void>(Toolbar::Toolbar()::$_0&, void*, void**) (f=..., arg=0x7fffffffc640)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#78 0x000000000061cf6c in QtPrivate::QFunctorSlotObject<Toolbar::Toolbar()::$_0, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x7fffd6dbf070, r=0x7fffd6a6e5d0, a=0x7fffffffc640, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:439
#79 0x00007ffff5fe9458 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffc640, r=0x7fffd6a6e5d0, this=0x7fffd6dbf070)
at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#80 QMetaObject::activate(QObject*, int, int, void**) (sender=0x7fffd6a6e5d0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>)
at kernel/qobject.cpp:3784
#81 0x00007ffff69cf3e6 in QAction::triggered(bool) (this=this@entry=0x7fffd6a6e5d0, _t1=<optimized out>) at .moc/moc_qaction.cpp:380
#82 0x00007ffff69d1aa2 in QAction::activate(QAction::ActionEvent) (this=0x7fffd6a6e5d0, event=<optimized out>) at kernel/qaction.cpp:1166
#83 0x00007ffff6acbe10 in QAbstractButtonPrivate::click() (this=0x7fffd6acf680) at widgets/qabstractbutton.cpp:397
#84 0x00007ffff6acc035 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (this=0x7fffd6dbf010, e=0x7fffffffcbe0) at widgets/qabstractbutton.cpp:1011
#85 0x00007ffff6bbf5fe in QToolButton::mouseReleaseEvent(QMouseEvent*) (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:622
#86 0x00007ffff6a182b6 in QWidget::event(QEvent*) (this=0x7fffd6dbf010, event=0x7fffffffcbe0) at kernel/qwidget.cpp:8981
#87 0x00007ffff6acd273 in QAbstractButton::event(QEvent*) (this=this@entry=0x7fffd6dbf010, e=e@entry=0x7fffffffcbe0) at widgets/qabstractbutton.cpp:968
#88 0x00007ffff6bbf6a8 in QToolButton::event(QEvent*) (this=0x7fffd6dbf010, event=0x7fffffffcbe0) at widgets/qtoolbutton.cpp:1001
#89 0x00007ffff69d5a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffdc241980, receiver=receiver@entry=0x7fffd6dbf010, e=e@entry=0x7fffffffcbe0)
at kernel/qapplication.cpp:3700
#90 0x00007ffff69df343 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffd6dbf010, e=0x7fffffffcbe0) at kernel/qapplication.cpp:3160
#91 0x00007ffff5fbd93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffd6dbf010, event=0x7fffffffcbe0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#92 0x00007ffff69de457 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)
(receiver=receiver@entry=0x7fffd6dbf010, event=event@entry=0x7fffffffcbe0, alienWidget=alienWidget@entry=0x7fffd6dbf010, nativeWidget=0x7fffffffd6a0, buttonDown=buttonDown@entry=0x7ffff6f058d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2646
#93 0x00007ffff6a3435d in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x7fffd6e45940, event=0x7fffffffd060) at /usr/include/c++/9/bits/atomic_base.h:413
#94 0x00007ffff6a371ec in QWidgetWindow::event(QEvent*) (event=0x7fffffffd060, this=0x7fffd6e45940) at kernel/qwidgetwindow.cpp:289
#95 QWidgetWindow::event(QEvent*) (this=0x7fffd6e45940, event=0x7fffffffd060) at kernel/qwidgetwindow.cpp:232
#96 0x00007ffff69d5a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7fffdc241980, receiver=receiver@entry=0x7fffd6e45940, e=e@entry=0x7fffffffd060)
at kernel/qapplication.cpp:3700
#97 0x00007ffff69df0f0 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd758, receiver=0x7fffd6e45940, e=0x7fffffffd060) at kernel/qapplication.cpp:3446
#98 0x00007ffff5fbd93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffd6e45940, event=0x7fffffffd060) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#99 0x00007ffff63a67d3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=e@entry=0x7fffd0c11c30) at kernel/qguiapplication.cpp:2107
#100 0x00007ffff63a810b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=e@entry=0x7fffd0c11c30) at kernel/qguiapplication.cpp:1842
#101 0x00007ffff638235b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1151
#102 0x00007fffd839c32e in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#103 0x00007ffff46aa17d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#104 0x00007ffff46aa400 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#105 0x00007ffff46aa4a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#106 0x00007ffff6015565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffdacc62b0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#107 0x00007ffff5fbc4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd400, flags=..., flags@entry=...)
at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#108 0x00007ffff5fc4246 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#109 0x00000000005de26b in main(int, char**) (argc=1, argv=0x7fffffffdb08) at /home/hans/projects/possumwood/src/apps/possumwood/main.cpp:141
I also tried an install from PPA, and snap, and they all crash from these toolbar buttons.