Bug 371138 - Crash attempting to undo selection mask transformation. (gdb backtrace)
Summary: Crash attempting to undo selection mask transformation. (gdb backtrace)
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Layers/Vector (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-18 16:38 UTC by wolthera
Modified: 2016-10-21 21:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description wolthera 2016-10-18 16:38:59 UTC
I had a vector selection in a local selection mask. I resized it using the regular default tool. Then I tried undoing it.

Krita then crashed:

Thread 2830 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff7d9aa700 (LWP 25041)]
KoPathPoint::properties (this=this@entry=0x0)
    at /home/krita/kde/src/krita/libs/flake/KoPathPoint.cpp:386
386	    return d->properties;
(gdb) thread apply all backtrace

Thread 2830 (Thread 0x7fff7d9aa700 (LWP 25041)):
#0  KoPathPoint::properties (this=this@entry=0x0)
    at /home/krita/kde/src/krita/libs/flake/KoPathPoint.cpp:386
#1  0x00007ffff226a233 in KoPathShape::outline (this=<optimized out>)
    at /home/krita/kde/src/krita/libs/flake/KoPathShape.cpp:455
#2  0x00007ffff226bd3a in KoPathShape::pathStroke (this=this@entry=0x1591e560, 
    pen=...) at /home/krita/kde/src/krita/libs/flake/KoPathShape.cpp:1721
#3  0x00007ffff226c36c in KoPathShape::boundingRect (this=0x1591e560)
    at /home/krita/kde/src/krita/libs/flake/KoPathShape.cpp:521
#4  0x00007ffff76a002f in KisShapeSelectionModel::remove (this=0x7fffa8133170, 
    child=0x1591e560)
    at /home/krita/kde/src/krita/libs/ui/flake/kis_shape_selection_model.cpp:99
#5  0x00007ffff228ece5 in KoShapeContainer::removeShape (this=0x7fffa8071b90, 
    shape=0x1591e560)
    at /home/krita/kde/src/krita/libs/flake/KoShapeContainer.cpp:88
#6  0x00007ffff2284e24 in KoShape::setParent (this=0x1591e560, 
    parent=parent@entry=0x0)
    at /home/krita/kde/src/krita/libs/flake/KoShape.cpp:563
#7  0x00007ffff769086e in KisShapeController::removeShape (this=0x138e7870, 
    shape=<optimized out>)
    at /home/krita/kde/src/krita/libs/ui/flake/kis_shape_controller.cpp:197
#8  0x00007ffff231974a in KoShapeCreateCommand::undo (this=0x19860cc0)
---Type <return> to continue, or q <return> to quit---
    at /home/krita/kde/src/krita/libs/flake/commands/KoShapeCreateCommand.cpp:79
#9  0x00007ffff2d229da in KisStrokeStrategyUndoCommandBased::doStrokeCallback (
    this=0x158042c0, data=<optimized out>)
    at /home/krita/kde/src/krita/libs/image/kis_stroke_strategy_undo_command_based.cpp:118
#10 0x00007ffff2e767d1 in KisStrokeJob::run (this=<optimized out>)
    at /home/krita/kde/build/libs/image/../../../src/krita/libs/image/kis_stroke_job.h:44
#11 KisUpdateJobItem::run (this=0x13040640)
    at /home/krita/kde/build/libs/image/../../../src/krita/libs/image/kis_update_job_item.h:66
#12 0x00007ffff558430d in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#13 0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#14 0x00007fffeeaa56fa in start_thread (arg=0x7fff7d9aa700)
    at pthread_create.c:333
#15 0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2829 (Thread 0x7fff778c7700 (LWP 25040)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007ffff5588738 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5584467 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeaa56fa in start_thread (arg=0x7fff778c7700)
    at pthread_create.c:333
#5  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 15 (Thread 0x7fff99583700 (LWP 21957)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff675eaa2 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeaa56fa in start_thread (arg=0x7fff99583700)
    at pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff99d84700 (LWP 21956)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5582116 in QSemaphore::tryAcquire(int, int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c63e43 in KisTileDataSwapper::waitForWork (
    this=<optimized out>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2c6403a in KisTileDataSwapper::run (
    this=0x7ffff312b8c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa56fa in start_thread (arg=0x7fff99d84700)
    at pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#7  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff9a585700 (LWP 21955)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5581e8b in QSemaphore::acquire(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c4a1fe in KisTileDataPooler::waitForWork (
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2c4a9ba in KisTileDataPooler::run (
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa56fa in start_thread (arg=0x7fff9a585700)
    at pthread_create.c:333
#7  0x00007ffff4c83b5d in clone ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 21937)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17a39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17a4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff57994fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007ffff558338c in QThread::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecd0cd5 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeeaa56fa in start_thread (arg=0x7fffcbfff700)
    at pthread_create.c:333
#9  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903b700 (LWP 21936)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17a39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17a722 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee1a0bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa56fa in start_thread (arg=0x7fffd903b700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffd983c700 (LWP 21935)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17a39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17a4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee17a4e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee1a0bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa56fa in start_thread (arg=0x7fffd983c700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

---Type <return> to continue, or q <return> to quit---
Thread 3 (Thread 0x7fffda03d700 (LWP 21934)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17a39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17a4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04528d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee1a0bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa56fa in start_thread (arg=0x7fffda03d700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe48d2700 (LWP 21933)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff3388c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff338a8d7 in xcb_wait_for_event ()
   from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe5781dc9 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeeaa56fa in start_thread (arg=0x7fffe48d2700)
---Type <return> to continue, or q <return> to quit---
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 21929)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17a39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17a4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff57994e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007ffff574fd9d in QCoreApplication::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x0000000000404d97 in main (argc=1, argv=<optimized out>)
    at /home/krita/kde/src/krita/krita/main.cc:257
(gdb)

Reproducible: Didn't try
Comment 1 Dmitry Kazakov 2016-10-19 14:20:08 UTC
Git commit 989b681592d57804db73655b913e994380da3258 by Dmitry Kazakov.
Committed on 19/10/2016 at 13:19.
Pushed by dkazakov into branch 'master'.

Fix a hangup and a crash when undoing vector selection creation

This is not exactly the crash reported in the report, but may be related

M  +4    -2    libs/image/kis_layer.cc
M  +9    -1    libs/ui/KisDocument.cpp

http://commits.kde.org/krita/989b681592d57804db73655b913e994380da3258
Comment 2 Dmitry Kazakov 2016-10-19 14:20:08 UTC
Git commit 2aaa11b1a46e74db2b3a09f8cf3731b16611ea1d by Dmitry Kazakov.
Committed on 19/10/2016 at 14:15.
Pushed by dkazakov into branch 'master'.

Fix updates of the shape selection after converting it from shapes

M  +4    -1    libs/ui/flake/kis_shape_selection_model.cpp
M  +1    -0    libs/ui/flake/kis_shape_selection_model.h

http://commits.kde.org/krita/2aaa11b1a46e74db2b3a09f8cf3731b16611ea1d
Comment 3 Dmitry Kazakov 2016-10-19 14:21:07 UTC
I'm afraid I cannot reproduce the reported crash. I have fixed some other crashes/hangups and bugs, but the original one is not reachable for me :(
Comment 4 wolthera 2016-10-21 21:38:25 UTC
Seems fixed now :)