Bug 392073 - Segmentation fault on exit
Summary: Segmentation fault on exit
Status: RESOLVED UPSTREAM
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 4.0
Platform: Debian stable Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-19 17:33 UTC by Aleksey Samoilov
Modified: 2018-03-28 14:33 UTC (History)
4 users (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 Aleksey Samoilov 2018-03-19 17:33:45 UTC
Krita crashed on exit. Debian 9, Qt 5.7.1

Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f35b888a800 (LWP 17284))]

Thread 6 (Thread 0x7f3583fff700 (LWP 17305)):
#0  0x00007f35c7d9b67d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f35c0fab9f6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f35c0fabb0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f35c88c706b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f35c88709ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f35c869e0f3 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f3596025406 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f35c86a2da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f35c286f494 in start_thread (arg=0x7f3583fff700) at pthread_create.c:333
#9  0x00007f35c7da4acf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 5 (Thread 0x7f3595663700 (LWP 17302)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f35c86a3c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f35c869ce26 in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f35c5d04a53 in KisTileDataSwapper::waitForWork (this=<optimized out>) at ./libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007f35c5d04c8a in KisTileDataSwapper::run (this=0x7f35c620aea0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at ./libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f35c86a2da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f35c286f494 in start_thread (arg=0x7f3595663700) at pthread_create.c:333
#7  0x00007f35c7da4acf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 4 (Thread 0x7f3595e64700 (LWP 17301)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f35c86a3c6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f35c869cb33 in QSemaphore::acquire(int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f35c5ce9dce in KisTileDataPooler::waitForWork (this=0x7f35c620ae60 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at ./libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007f35c5cea6fa in KisTileDataPooler::run (this=0x7f35c620ae60 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at ./libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007f35c86a2da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f35c286f494 in start_thread (arg=0x7f3595e64700) at pthread_create.c:333
#7  0x00007f35c7da4acf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 3 (Thread 0x7f35aafec700 (LWP 17287)):
#0  0x00007f35c0ff1104 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f35c0faafe0 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f35c0fab91b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f35c0fabb0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f35c88c706b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f35c88709ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f35c869e0f3 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f35c2a9a6d5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f35c86a2da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f35c286f494 in start_thread (arg=0x7f35aafec700) at pthread_create.c:333
#10 0x00007f35c7da4acf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7f35b667b700 (LWP 17286)):
#0  0x00007f35c7d9b67d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f35c646b150 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f35c646cee9 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f35b85a6b69 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f35c86a2da8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f35c286f494 in start_thread (arg=0x7f35b667b700) at pthread_create.c:333
#6  0x00007f35c7da4acf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f35b888a800 (LWP 17284)):
[KCrash Handler]
#6  0x00007f35964aa70f in QV4::PersistentValueStorage::getEngine(QV4::Value*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f35964aadc4 in QV4::WeakValue::free() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f359651bb32 in QV4::QObjectWrapper::destroyObject(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f35963b1e4f in QV4::MemoryManager::sweep(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f35963b325c in QV4::MemoryManager::~MemoryManager() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f359649a71b in QV4::ExecutionEngine::~ExecutionEngine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007f35965da176 in QV8Engine::~QV8Engine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#13 0x00007f35965da299 in QV8Engine::~QV8Engine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#14 0x00007f3596431a26 in QJSEngine::~QJSEngine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#15 0x00007f359654597d in QQmlEngine::~QQmlEngine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#16 0x00007f3596545a39 in QQmlEngine::~QQmlEngine() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#17 0x00007f35c889ce11 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f35c9198bdb in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f35a8b06dc9 in QQuickWidget::~QQuickWidget() () from /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5
#20 0x00007f35c889ce11 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f35c9198bdb in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f3596a24469 in TouchDockerDock::~TouchDockerDock (this=0x558c1e168fe0, __in_chrg=<optimized out>) at ./plugins/dockers/touchdocker/TouchDockerDock.cpp:131
#23 0x00007f35c889ce11 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f35c9198bdb in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f35c9ba774e in KMainWindow::~KMainWindow (this=0x558c1cc00960, __in_chrg=<optimized out>) at ./libs/widgetutils/xmlgui/kmainwindow.cpp:349
#26 0x00007f35ca6ad83a in KisMainWindow::~KisMainWindow (this=0x558c1cc00960, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./libs/ui/KisMainWindow.cpp:498
#27 0x00007f35ca6ad8d9 in KisMainWindow::~KisMainWindow (this=0x558c1cc00960, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./libs/ui/KisMainWindow.cpp:531
#28 0x00007f35c889f4d0 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f35c919d46b in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f35c929c92b in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f35c9ba9717 in KMainWindow::event (this=this@entry=0x558c1cc00960, ev=ev@entry=0x558c1d588d00) at ./libs/widgetutils/xmlgui/kmainwindow.cpp:780
#32 0x00007f35c9be1789 in KXmlGuiWindow::event (this=0x558c1cc00960, ev=0x558c1d588d00) at ./libs/widgetutils/xmlgui/kxmlguiwindow.cpp:125
#33 0x00007f35c9155b8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f35c915d341 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f35ca67a367 in KisApplication::notify (this=<optimized out>, receiver=0x558c1cc00960, event=0x558c1d588d00) at ./libs/ui/KisApplication.cpp:620
#36 0x00007f35c88729e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f35c887516d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007f35c88c6c43 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f35c0fab7f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f35c0faba60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007f35c0fabb0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f35c88c704f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007f35c88709ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007f35c887913c in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x0000558c114e2fce in main (argc=<optimized out>, argv=0x7ffe03bf4d78) at ./krita/main.cc:349
Comment 1 Halla Rempt 2018-03-19 17:42:23 UTC
I suspect that this has to do with the version of Qt you're using. It doesn't crash with a more recent version of Qt.
Comment 2 Melvin Vermeeren 2018-03-22 22:19:22 UTC Comment hidden (obsolete)
Comment 3 Antonio Rojas 2018-03-22 22:25:50 UTC
(In reply to Melvin Vermeeren from comment #2)
> I also experience the segfault on exit on Arch Linux, since version 4.0.
> Also happened in the week before 4.0 release when I was running it from
> master (git). Everything else is working fine.

That's bug 391992, unrelated to this.
Comment 4 Melvin Vermeeren 2018-03-22 23:00:27 UTC
(In reply to Antonio Rojas from comment #3)
> (In reply to Melvin Vermeeren from comment #2)
> > I also experience the segfault on exit on Arch Linux, since version 4.0.
> > Also happened in the week before 4.0 release when I was running it from
> > master (git). Everything else is working fine.
> 
> That's bug 391992, unrelated to this.

You are right, after downgrading sip packages the segfault stopped. I had not seen the closed bug. It does seem that the python plugins are unavailable after downgrading, not a problem as I don't need those right now.

Thanks for the help!
Comment 5 Halla Rempt 2018-03-25 18:24:43 UTC
*** Bug 392326 has been marked as a duplicate of this bug. ***
Comment 6 Halla Rempt 2018-03-28 14:33:10 UTC
Since the backtrace is pure-qt, and since it seems to be fixed in a more recent version of Qt, setting to upstream.