Bug 388569 - Segfault when quickly switching between workspaces
Summary: Segfault when quickly switching between workspaces
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-05 14:29 UTC by Nicholas LaPointe
Modified: 2018-06-27 18:35 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas LaPointe 2018-01-05 14:29:06 UTC
Switching between "Big_Paint" and "Big_Paint_2" or "Small_Vector" and "VFX_Paint" at a somewhat fast pace usually crashes Krita.

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007ffff69017e5 in QGraphicsItemPrivate::invalidateParentGraphicsEffectsRecursively() () from /opt/Qt-5.9/lib/libQt5Widgets.so.5

Krita grabs the mouse and keyboard, so I'm unsure of how to get the entire backtrace.
Comment 1 Halla Rempt 2018-01-17 14:04:21 UTC
I can reproduce a crash, but it's probably a different one:

Thread 1 (Thread 0x7fc8c83e4940 (LWP 18992)):
[KCrash Handler]
#6  0x00007fc8bd1688f8 in QVariant::QVariant(QVariant const&) () from /usr/lib64/libQt5Core.so.5
#7  0x00007fc8be32a409 in QGraphicsItemPrivate::extraItemCache() const () from /usr/lib64/libQt5Widgets.so.5
#8  0x00007fc8be32a645 in QGraphicsItem::update(QRectF const&) () from /usr/lib64/libQt5Widgets.so.5
#9  0x00007fc88de978f1 in ImageStripScene::slotItemContentChanged (this=0x7c5a890, item=0x8065900) at /home/boud/dev/krita/plugins/dockers/imagedocker/image_strip_scene.cpp:189
#10 0x00007fc88de9ba4c in ImageStripScene::qt_static_metacall (_o=0x7c5a890, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fc84c005540) at /home/boud/dev/b-krita/plugins/dockers/imagedocker/moc_image_strip_scene.cpp:201
#11 0x00007fc8bd154b26 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#12 0x00007fc8be35e6fb in QGraphicsScene::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007fc8be065cbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007fc8be06ca10 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007fc8c7b46c73 in KisApplication::notify (this=0x7ffe4e8c55e0, receiver=0x7c5a890, event=0x7fc84c150360) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:600
#16 0x00007fc8bd129d25 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#17 0x00007fc8bd12c303 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#18 0x00007fc8bd17b593 in ?? () from /usr/lib64/libQt5Core.so.5
#19 0x00007fc8b852f134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#20 0x00007fc8b852f388 in ?? () from /usr/lib64/libglib-2.0.so.0
#21 0x00007fc8b852f42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#22 0x00007fc8bd17adbc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#23 0x00007fc8bd12801b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#24 0x00007fc8bd1305e4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#25 0x000000000040a498 in main (argc=1, argv=0x7ffe4e8c5f28) at /home/boud/dev/krita/krita/main.cc:312
Comment 2 Halla Rempt 2018-01-17 14:16:24 UTC
Maybe it would be an idea to add the KisSignalCompressor here to give every change the time to propagate through the UI.
Comment 3 Antti Savolainen 2018-06-27 18:35:17 UTC
I tried doing this crash with hotkeys. Click on the Window menu and press K+B/K+P repeatedly with no crash. Closing it for now unless someone can reproduce this again.