Bug 368664 - Crash when attempting to move a guide (GDB backtrace)
Summary: Crash when attempting to move a guide (GDB backtrace)
Status: RESOLVED DUPLICATE of bug 366607
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-11 21:37 UTC by wolthera
Modified: 2016-09-19 09:05 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-09-11 21:37:29 UTC
1. I was painting
2. then I tried to pan, but made a mistake: it wasn't a pan action, but a painting action.
3. I undo my stroke.
4. I pan.
5. I see a guide. I think to myself "that guide shouldn't be there, let's remove you, guide"
6. Upon trying to drag the guide, Krita crashed.


Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) thread apply all backtrace

Thread 11 (Thread 0x7fffa7c7c700 (LWP 15333)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55597eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff672faa2 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff5558c89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeecea6fa in start_thread (arg=0x7fffa7c7c700) at pthread_create.c:333
#5  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fffa847d700 (LWP 15332)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55597eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5553116 in QSemaphore::tryAcquire(int, int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2e93523 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2e9371a in KisTileDataSwapper::run (this=0x7ffff331b460 <(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  0x00007ffff5558c89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecea6fa in start_thread (arg=0x7fffa847d700) at pthread_create.c:333
#7  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fffc0ed5700 (LWP 15331)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55597eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5552e8b in QSemaphore::acquire(int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2e798de in KisTileDataPooler::waitForWork (this=0x7ffff331b420 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2e7a09a in KisTileDataPooler::run (this=0x7ffff331b420 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff5558c89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecea6fa in start_thread (arg=0x7fffc0ed5700) at pthread_create.c:333
#7  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffd882a700 (LWP 15325)):
#0  0x00007ffff4c48e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee3bf39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee3bf4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff576a4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff5718efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007ffff555438c in QThread::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeef15cd5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff5558c89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeecea6fa in start_thread (arg=0x7fffd882a700) at pthread_create.c:333
#9  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd9245700 (LWP 15324)):
#0  0x00007ffff4c48e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee3bf39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee3bf722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffde6a3916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee3e5bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#5  0x00007fffeecea6fa in start_thread (arg=0x7fffd9245700) at pthread_create.c:333
#6  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffd9a46700 (LWP 15323)):
#0  0x00007ffff4c48e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee3bf39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee3bf4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee3bf4e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee3e5bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeecea6fa in start_thread (arg=0x7fffd9a46700) at pthread_create.c:333
#6  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda247700 (LWP 15322)):
#0  0x00007ffff4c48e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee3bf39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee3bf4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda24f28d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee3e5bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeecea6fa in start_thread (arg=0x7fffda247700) at pthread_create.c:333
#6  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe4b17700 (LWP 15321)):
#0  0x00007ffff4c48e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff3577c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff35798d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe59c6dc9 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff5558c89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeecea6fa in start_thread (arg=0x7fffe4b17700) at pthread_create.c:333
#6  0x00007ffff4c54b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0f8c0 (LWP 15316)):
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff15b490a in KUndo2Command::timedMergeWith (this=0x17314d50, other=0x7fff6c06a570) at /home/krita/kde/src/krita/libs/kundo2/kundo2stack.cpp:349
#2  0x00007ffff15b5662 in KUndo2QStack::push (this=0xe033480, cmd=cmd@entry=0x17312190) at /home/krita/kde/src/krita/libs/kundo2/kundo2stack.cpp:760
#3  0x00007ffff78dcd05 in KisDocument::addCommand (this=this@entry=0xe02bb70, command=command@entry=0x17312190)
    at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:2028
#4  0x00007ffff76086a6 in KisGuidesManager::setGuidesConfigImpl (this=0xcbd82f0, value=..., emitModified=emitModified@entry=true)
    at /home/krita/kde/src/krita/libs/ui/canvas/kis_guides_manager.cpp:134
#5  0x00007ffff760a170 in KisGuidesManager::Private::mouseMoveHandler (this=0xcb1b2d0, docPos=..., modifiers=...)
    at /home/krita/kde/src/krita/libs/ui/canvas/kis_guides_manager.cpp:478
#6  0x00007ffff760a973 in KisGuidesManager::eventFilter (this=0xcbd82f0, obj=0xdf53760, event=0x7fffffffca00)
    at /home/krita/kde/src/krita/libs/ui/canvas/kis_guides_manager.cpp:583
#7  0x00007ffff786f2d3 in KisInputManager::eventFilter (this=0xcbd85b8, object=<optimized out>, event=0x7fffffffca00)
    at /home/krita/kde/src/krita/libs/ui/input/kis_input_manager.cpp:194
#8  0x00007ffff571abf3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#9  0x00007ffff650e025 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#10 0x00007ffff65138a9 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#11 0x00007ffff78d3df7 in KisApplication::notify (this=<optimized out>, receiver=0xdf53760, event=0x7fffffffca00)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:510
#12 0x00007ffff571ae80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#13 0x00007ffff79870ae in QCoreApplication::sendEvent (event=0x7fffffffca00, receiver=0xdf53760) at /home/krita/Qt/5.6/gcc_64/include/QtCore/qcoreapplication.h:227
#14 processTabletEvent (e=0x17292dc0) at /home/krita/kde/src/krita/libs/ui/input/wintab/qxcbconnection.cpp:650
#15 0x00007ffff79815ce in QXcbConnection::xi2ReportTabletEvent (this=this@entry=0x10d5f50, tabletData=..., event=event@entry=0x172c0690)
    at /home/krita/kde/src/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:891
#16 0x00007ffff7981949 in QXcbConnection::xi2HandleTabletEvent (this=this@entry=0x10d5f50, event=event@entry=0x172c0690, tabletData=0x10f25b8, 
    window=window@entry=0xd9a8a20) at /home/krita/kde/src/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:725
#17 0x00007ffff7984eae in QXcbConnection::xi2HandleEvent (this=0x10d5f50, event=0x172c0690) at /home/krita/kde/src/krita/libs/ui/input/wintab/qxcbconnection_xi2.cpp:506
#18 0x00007ffff7988696 in KisXi2EventFilter::nativeEventFilter (this=0x7ffff7dd6b70 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>, eventType=..., 
    message=0x7fffe0003be0, result=<optimized out>) at /home/krita/kde/src/krita/libs/ui/input/wintab/kis_xi2_event_filter.cpp:115
#19 0x00007ffff5718160 in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#20 0x00007fffe59c5094 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#21 0x00007fffe59c71d3 in QXcbConnection::processXcbEvents() () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#22 0x00007ffff57452ca in QObject::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#23 0x00007ffff650e04c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#24 0x00007ffff6512488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#25 0x00007ffff78d3df7 in KisApplication::notify (this=<optimized out>, receiver=0xb98c70, event=0x7fffe00040f0)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:510
#26 0x00007ffff571ae80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#27 0x00007ffff571d673 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#28 0x00007ffff576a0f3 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#29 0x00007fffee3bf1a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffee3bf400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fffee3bf4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff576a4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#33 0x00007ffff5718efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#34 0x00007ffff5720d9d in QCoreApplication::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#35 0x0000000000404c51 in main (argc=1, argv=<optimized out>) at /home/krita/kde/src/krita/krita/main.cc:231
(gdb) 
(gdb) 


Reproducible: Didn't try
Comment 1 Halla Rempt 2016-09-15 13:09:51 UTC
This is probably going to be impossible to fix and very hard to reproduce. Looking at the code

bool KUndo2Command::timedMergeWith(KUndo2Command *other)
{
    if(other->timedId() == this->timedId() && other->timedId()!=-1 )
        m_mergeCommandsVector.append(other);
    else
        return false;
    return true;
}
The only way this could happen is if either the this or the other pointer is deleted. Neither is zero.
Comment 2 Halla Rempt 2016-09-19 09:05:24 UTC

*** This bug has been marked as a duplicate of bug 366607 ***