Summary: | Krita crashes when flattening image | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Halla Rempt <halla> |
Component: | General | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | enrico_guarnieri, info |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Halla Rempt
2012-01-11 14:17:42 UTC
Dmitry, I have a sort of feeling this is to do with the changes to the node model. Same problem, here. You can download the kra file for further tests from: http://www.mediafire.com/file/4xjpi68x6xo0vnu/test.kra.zip Layer -> Flatten Image = Crash every time! ^^ Application: Krita (krita), signal: Segmentation fault [Current thread is 1 (Thread 0x7f537f8b07c0 (LWP 1330))] Thread 6 (Thread 0x7f5355fc7700 (LWP 1331)): #0 0x00007f537894f04c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f537d15a1ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f537d156ba5 in QSemaphore::acquire(int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007f536189a3ae in KisTileDataPooler::waitForWork (this=0x544f110) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/kis_tile_data_pooler.cc:162 #4 0x00007f536189aa94 in KisTileDataPooler::run (this=0x544f110) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/kis_tile_data_pooler.cc:184 #5 0x00007f537d159d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f53724e256c in ?? () from /usr/lib/nvidia-current/libGL.so.1 #7 0x00007f537894aefc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #8 0x00007f537f1da89d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #9 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f53557c6700 (LWP 1332)): #0 0x00007f537894f04c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f537d15a1ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f537d156dd9 in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007f53618bab4a in KisTileDataSwapper::run (this=0x544f148) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92 #4 0x00007f537d159d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f53724e256c in ?? () from /usr/lib/nvidia-current/libGL.so.1 #6 0x00007f537894aefc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #7 0x00007f537f1da89d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #8 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f534a6cb700 (LWP 1337)): #0 0x00007f537f1d3913 in select () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f537d268bc6 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f537d26e330 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007f537d26e833 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f537d23fcf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f537d23fef7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f537d15727f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007f537d222cbf in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007f537d159d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #9 0x00007f53724e256c in ?? () from /usr/lib/nvidia-current/libGL.so.1 #10 0x00007f537894aefc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #11 0x00007f537f1da89d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #12 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f534ffff700 (LWP 1350)): #0 0x00007f537894f04c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f537d15a1ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f537e1307d4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #3 0x00007f537d159d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f53724e256c in ?? () from /usr/lib/nvidia-current/libGL.so.1 #5 0x00007f537894aefc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007f537f1da89d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #7 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f534aecc700 (LWP 1351)): #0 0x00007f537f1d3913 in select () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f537d268bc6 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f537d26e330 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007f537d26e833 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f537d23fcf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f537d23fef7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f537d15727f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007f537d222cbf in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007f537d159d05 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #9 0x00007f53724e256c in ?? () from /usr/lib/nvidia-current/libGL.so.1 #10 0x00007f537894aefc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #11 0x00007f537f1da89d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #12 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f537f8b07c0 (LWP 1330)): [KCrash Handler] #6 KisNodeDummy::nodeShape (this=0x0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_node_dummies_graph.cpp:79 #7 0x00007f5361d75424 in KisNodeShapesGraph::unmapDummyRecursively (this=0x7f533c5d8308, dummy=0x0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_node_shapes_graph.cpp:72 #8 0x00007f5361d75af9 in KisNodeShapesGraph::removeNode (this=0x7f533c5d8308, node=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_node_shapes_graph.cpp:64 #9 0x00007f5361d76839 in KisShapeController::slotContinueRemoveNode (this=0xa1d8a60, node=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_shape_controller.cpp:286 #10 0x00007f5361d786e4 in KisShapeController::qt_metacall (this=0xa1d8a60, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff68286990) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/ui/kis_shape_controller.moc:109 #11 0x00007f537d253eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #12 0x00007f5361d766c5 in KisShapeController::sigContinueRemoveNode (this=<optimized out>, _t1=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/ui/kis_shape_controller.moc:148 #13 0x00007f5361d76b62 in KisShapeController::slotRemoveNode (this=<optimized out>, node=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_shape_controller.cpp:251 #14 0x00007f5361d76ff4 in KisShapeController::setImage (this=0xa1d8a60, image=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_shape_controller.cpp:108 #15 0x00007f5361d784e3 in KisShapeController::slotLayersChanged (this=0xa1d8a60) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/flake/kis_shape_controller.cpp:230 #16 0x00007f5361d78848 in KisShapeController::qt_metacall (this=0xa1d8a60, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7fff68286d70) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/ui/kis_shape_controller.moc:106 #17 0x00007f537d253eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #18 0x00007f53619353c1 in KisImage::qt_metacall (this=0xa20f220, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0x7fff68286f50) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/image/kis_image.moc:182 #19 0x00007f537d253eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #20 0x00007f536193eba5 in KisImageSignalRouter::slotNotification (this=0xa1ec010, type=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_image_signal_router.cpp:162 #21 0x00007f5361895e7f in KisImageSignalRouter::qt_metacall (this=0xa1ec010, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0x7fff682872d0) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/image/moc_kis_image_signal_router.cpp:133 #22 0x00007f537d253eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #23 0x00007f536189584e in KisImageSignalRouter::sigNotification (this=<optimized out>, _t1=LayersChangedSignal) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/image/moc_kis_image_signal_router.cpp:145 #24 0x00007f53618d68a9 in KisImageChangeLayersCommand::redo (this=0x1f60a7d0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/commands/kis_image_change_layers_command.cpp:39 #25 0x00007f537a67593d in KUndo2QStack::push (this=0x7f53528e7340, cmd=0x1f60a7d0) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/kundo2/kundo2stack.cpp:562 #26 0x00007f5361982dd6 in KisDocumentUndoStore::addCommand (this=0xa1a5c80, command=0x1f60a7d0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_undo_stores.cpp:60 #27 0x00007f536198385a in addCommand (command=0x1f60a7d0, this=0xa20fbd0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_legacy_undo_adapter.cpp:47 #28 KisLegacyUndoAdapter::addCommand (this=0xa20fbd0, command=0x1f60a7d0) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_legacy_undo_adapter.cpp:42 #29 0x00007f5361939b39 in KisImage::flatten (this=0xa20f220) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_image.cc:900 #30 0x00007f5361de2992 in KisLayerManager::flattenImage (this=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kis_layer_manager.cc:729 #31 0x00007f5361de9aad in KisLayerManager::qt_metacall (this=0x7f532baaedc0, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fff682879e0) at /media/sda7/Build/Koffice/calligra/calligra-build/krita/ui/kis_layer_manager.moc:143 #32 0x00007f537d253eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #33 0x00007f537dc3ab62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #34 0x00007f537dc3ad4f in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #35 0x00007f537e075609 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #36 0x00007f537e07b252 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #37 0x00007f537ea16cb0 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5 #38 0x00007f537dc91c9a in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #39 0x00007f537e07c7fb in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #40 0x00007f537dc41424 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #41 0x00007f537dc46c6b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #42 0x00007f537e955126 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #43 0x00007f537d240afc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #44 0x00007f537dc423f2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #45 0x00007f537dcc2001 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #46 0x00007f537dcc08be in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #47 0x00007f537dce9e2a in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #48 0x00007f537d23fcf2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #49 0x00007f537d23fef7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #50 0x00007f537d244789 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #51 0x00007f537f49ea5d in kdemain (argc=<optimized out>, argv=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/main.cc:71 #52 0x00007f537f11a30d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #53 0x0000000000400661 in _start () Yes, the Sunday's patch. I'll probably take a look on 14th or 19th, if there is time between exams. Haaaaa , I get striked by this one. Using the keyboard shortcut ! (violent). Happilly nothing important is lost, backup files saved most of my painting time. Git commit 2fbb50379446e2b0707e4116911d14046a390a76 by Dmitry Kazakov. Committed on 14/01/2012 at 18:57. Pushed by dkazakov into branch 'master'. Fix bug in KisShapeController when the root of the image changes M +5 -2 krita/ui/flake/kis_shape_controller.cpp M +26 -0 krita/ui/tests/kis_shape_controller_test.cpp M +1 -0 krita/ui/tests/kis_shape_controller_test.h http://commits.kde.org/calligra/2fbb50379446e2b0707e4116911d14046a390a76 The fix works for multilayer picture. ( but a weird glitch appear, using the brush outline 'outline' , the cursor after this operation become outline + color picker, or a 'target' cursor appear at the center ). Also , Krita still have a crash here when flatten a single image layer ( normally , flatten a single layer remove alpha and replace it with background color ). Git commit dfc19c9649158820225318f9da7f1c5362b792d8 by Dmitry Kazakov. Committed on 03/02/2012 at 12:35. Pushed by dkazakov into branch 'shapes-as-node-model-kazakov'. Fixed managing selection masks which are children of the root node Now the mapping between KisNodeDummy and QModelIndex is done by classes KisModeIndexConverter and KisModelIndexConverterShowAll. They represent two options available to the user: normal mode and mode when the root layer is visible. This is the last commit in a series of refactorings for KisNodeModel. Now there should be no known crashes or bugs. So if you see one, do not hesitate to report! ;) My plan is the following: 1) I'm pushing it to my branch. 2) Then I'll fix drag-and-drop (it is unrelated to the refactorings) 3) Then I'll make a call for testing both of the features, to save the time of artists ;) Related: bug 290708 M +11 -3 krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp M +28 -0 krita/sdk/tests/empty_nodes_test.h M +3 -0 krita/ui/CMakeLists.txt M +10 -3 krita/ui/flake/kis_dummies_facade_base.cpp M +2 -0 krita/ui/flake/kis_dummies_facade_base.h A +179 -0 krita/ui/kis_model_index_converter.cpp [License: GPL (v2+)] A +49 -0 krita/ui/kis_model_index_converter.h [License: GPL (v2+)] A +24 -0 krita/ui/kis_model_index_converter_base.cpp [License: GPL (v2+)] A +64 -0 krita/ui/kis_model_index_converter_base.h [License: GPL (v2+)] A +91 -0 krita/ui/kis_model_index_converter_show_all.cpp [License: GPL (v2+)] A +47 -0 krita/ui/kis_model_index_converter_show_all.h [License: GPL (v2+)] M +62 -86 krita/ui/kis_node_model.cpp M +4 -3 krita/ui/kis_node_model.h M +6 -0 krita/ui/tests/CMakeLists.txt A +279 -0 krita/ui/tests/kis_model_index_converter_test.cpp [License: GPL (v2+)] A +61 -0 krita/ui/tests/kis_model_index_converter_test.h [License: GPL (v2+)] http://commits.kde.org/calligra/dfc19c9649158820225318f9da7f1c5362b792d8 |