| Summary: | Crash when creating a vector layer, after switching to a session | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | Luna <ciubix8514> |
| Component: | General | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | crash | CC: | dimula73 |
| Priority: | NOR | Keywords: | regression, release_blocker |
| Version First Reported In: | git master (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SUMMARY Krita segfaults when creating a new vector layer, after switching to a session. STEPS TO REPRODUCE 1. Open a document 2. Switch to a previously saved session 3. Create a new vector layer OBSERVED RESULT This causes a segfault in the `DefaultTool::updateDistinctiveActions` call. Specifically what's happening here is the action group for the action `text_type_preformatted` is set to null after the session switch. Tho it only happens every other session switch. BACKTRACE #0 0x00007ffff5a59a3d in QActionGroup::setEnabled(bool) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Gui.so.6 #1 0x00007fffa8bba870 in DefaultTool::updateDistinctiveActions (this=0x55555f67b0e0, editableShapes=...) at /home/appimage/persistent/krita/plugins/tools/defaulttool/defaulttool/DefaultTool.cpp:2219 #2 0x00007fffa8bba1b2 in DefaultTool::updateActions (this=0x55555f67b0e0) at /home/appimage/persistent/krita/plugins/tools/defaulttool/defaulttool/DefaultTool.cpp:2165 #3 0x00007ffff501b55c in void doActivate<false>(QObject*, int, void**) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #4 0x00007ffff7530a9f in KisCanvas2::KisCanvas2Private::setActiveShapeManager ( shapeManager=<optimized out>, this=<optimized out>) at /home/appimage/persistent/krita/libs/ui/canvas/kis_canvas2.cpp:584 #5 KisCanvas2::KisCanvas2Private::setActiveShapeManager (shapeManager=<optimized out>, this=<optimized out>) at /home/appimage/persistent/krita/libs/ui/canvas/kis_canvas2.cpp:580 #6 KisCanvas2::localShapeManager (this=<optimized out>) at /home/appimage/persistent/krita/libs/ui/canvas/kis_canvas2.cpp:665 #7 0x00007ffff7530ccd in KisCanvas2::shapeManager (this=0x555558d9a228) at /home/appimage/persistent/krita/libs/ui/canvas/kis_canvas2.cpp:590 #8 0x00007ffff3e594ac in KoToolManager::Private::postSwitchTool (this=0x55555823d980) at /home/appimage/persistent/krita/libs/flake/KoToolManager.cpp:556 #9 0x00007ffff7724e27 in KisNodeManager::slotUiActivatedNode (this=0x555563f5af40, node=...) at /home/appimage/persistent/krita/libs/ui/kis_node_manager.cpp:863 #10 0x00007ffff773ba66 in KisNodeSelectionAdapter::setActiveNode (this=<optimized out>, node=...) at /home/appimage/persistent/krita/libs/ui/kis_node_selection_adapter.cpp:34 #11 0x00007ffff774258c in KisNodeModel::setData (this=0x55555d757490, index=..., value=..., role=257) at /home/appimage/persistent/krita/libs/ui/kis_node_model.cpp:714 #12 0x00007ffff5263809 in QSortFilterProxyModel::setData(QModelIndex const&, QVariant const&, int) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #13 0x00007fffa2fde358 in LayerBox::setCurrentNode (this=0x555561e76da0, node=...) at /home/appimage/persistent/krita/plugins/dockers/layerdocker/LayerBox.cpp:759 #14 0x00007fffa2fe2590 in LayerBox::qt_static_metacall (_o=0x555561e76da0, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/appimage/appimage-workspace/krita-build/plugins/dockers/layerdocker/kritalayerdocker_static_autogen/include/moc_LayerBox.cpp:352 #15 0x00007ffff501b55c in void doActivate<false>(QObject*, int, void**) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #16 0x00007ffff74bd109 in KisNodeManager::sigUiNeedChangeActiveNode (this=this@entry=0x555563f5af40, _t1=...) at /home/appimage/appimage-workspace/krita-build/libs/ui/kritaui_autogen/EWIEGA46WW/moc_kis_node_manager.cpp:807 #17 0x00007ffff772271e in KisNodeManager::slotSomethingActivatedNodeImpl (this=0x555563f5af40, node=...) at /home/appimage/persistent/krita/libs/ui/kis_node_manager.cpp:803 #18 0x00007ffff77229c0 in KisNodeManager::slotNonUiActivatedNode (this=0x555563f5af40, node=...) at /home/appimage/persistent/krita/libs/ui/kis_node_manager.cpp:825 #19 0x00007ffff74d7caa in KisNodeManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffd460) at /home/appimage/appimage-workspace/krita-build/libs/ui/kritaui_autogen/EWIEGA46WW/moc_kis_node_manager.cpp:550 #20 0x00007ffff501b55c in void doActivate<false>(QObject*, int, void**) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #21 0x00007ffff74bbf69 in KisDummiesFacadeBase::sigActivateNode (this=this@entry=0x555558b705c0, _t1=...) at /home/appimage/appimage-workspace/krita-build/libs/ui/kritaui_autogen/QUY67KCZCL/moc_kis_dummies_facade_base.cpp:311 #22 0x00007ffff7659090 in KisDummiesFacadeBase::slotNodeActivationRequested (this=0x555558b705c0, node=..., flags=...) at /home/appimage/persistent/krita/libs/ui/flake/kis_dummies_facade_base.cpp:162 #23 0x00007ffff765d2d6 in boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >::operator() (this=<optimized out>, a1=..., a2=..., p=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/boost/bind/mem_fn_template.hpp:280 #24 boost::_bi::list3<boost::_bi::value<KisDummiesFacadeBase*>, boost::arg<1>, boost::arg<2> >::operator()<boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >, boost::_bi::rrlist2<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> > > (a=<synthetic pointer>..., f=..., this=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/boost/bind/bind.hpp:377 --Type <RET> for more, q to quit, c to continue without paging-- #25 boost::_bi::bind_t<void, boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >, boost::_bi::list3<boost::_bi::value<KisDummiesFacadeBase*>, boost::arg<1>, boost::arg<2> > >::operator()<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> > (a2=..., a1=..., this=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/boost/bind/bind.hpp:1297 #26 std::__invoke_impl<void, boost::_bi::bind_t<void, boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >, boost::_bi::list3<boost::_bi::value<KisDummiesFacadeBase*>, boost::arg<1>, boost::arg<2> > >&, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> > (__f=...) at /usr/include/c++/13/bits/invoke.h:61 #27 std::__invoke_r<void, boost::_bi::bind_t<void, boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >, boost::_bi::list3<boost::_bi::value<KisDummiesFacadeBase*>, boost::arg<1>, boost::arg<2> > >&, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> > (__fn=...) at /usr/include/c++/13/bits/invoke.h:111 #28 std::_Function_handler<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>), boost::_bi::bind_t<void, boost::_mfi::mf2<void, KisDummiesFacadeBase, KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >, boost::_bi::list3<boost::_bi::value<KisDummiesFacadeBase*>, boost::arg<1>, boost::arg<2> > > >::_M_invoke(std::_Any_data const&, KisSharedPtr<KisNode>&&, QFlags<KisNodeAdditionFlag>&&) (__functor=..., __args#0=..., __args#1=...) at /usr/include/c++/13/bits/std_function.h:290 #29 0x00007ffff765dd72 in std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>::operator()(KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>) const (__args#1=..., __args#0=..., this=0x55555932e5d8) at /usr/include/c++/13/bits/std_function.h:591 #30 std::__invoke_impl<void, std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, KisSharedPtr<KisNode>&, QFlags<KisNodeAdditionFlag>&>(std::__invoke_other, std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, KisSharedPtr<KisNode>&, QFlags<KisNodeAdditionFlag>&) (__f=...) at /usr/include/c++/13/bits/invoke.h:61 #31 std::__invoke<std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, KisSharedPtr<KisNode>&, QFlags<KisNodeAdditionFlag>&>(std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, KisSharedPtr<KisNode>&, QFlags<KisNodeAdditionFlag>&) (__fn=...) at /usr/include/c++/13/bits/invoke.h:96 #32 std::__apply_impl<std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, std::tuple<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >&, 0ul, 1ul>(std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, std::tuple<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >&, std::integer_sequence<unsigned long, 0ul, 1ul>) (__t=..., __f=...) at /usr/include/c++/13/tuple:2288 #33 std::apply<std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, std::tuple<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >&>(std::function<void (KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag>)>&, std::tuple<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >&) (__t=..., __f=...) at /usr/include/c++/13/tuple:2299 #34 KisSynchronizedConnection<KisSharedPtr<KisNode>, QFlags<KisNodeAdditionFlag> >::deliverEventToReceiver (this=0x55555932e5c8) at /home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.h:234 #35 0x00007ffff65d099a in KisSynchronizedConnectionBase::event (event=0x555564c84260, this=0x55555932e5c8) at /home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.cpp:101 #36 KisSynchronizedConnectionBase::event (this=0x55555932e5c8, event=0x555564c84260) at /home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.cpp:94 #37 0x00007ffff5f226b5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Widgets.so.6 #38 0x00007ffff7b26e65 in KisApplication::notify (this=0x7fffffffdf80, receiver=0x55555932e5c8, event=0x555564c84260) at /home/appimage/persistent/krita/libs/ui/KisApplication.cpp:912 #39 0x00007ffff4fbb258 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #40 0x00007ffff4fbef43 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #41 0x00007ffff5295d27 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #42 0x00007ffff2271d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #43 0x00007ffff22c72b8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #44 0x00007ffff226f3e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #45 0x00007ffff5295480 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #46 0x00007ffff4fc7bb2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #47 0x00007ffff4fc3786 in QCoreApplication::exec() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt6Core.so.6 #48 0x000055555555d1cb in main (argc=<optimized out>, argv=<optimized out>) at /home/appimage/persistent/krita/krita/main.cc:783