Bug 399724

Summary: Crash when switching to Krita window. [gdb backtrace]
Product: [Applications] krita Reporter: wolthera <griffinvalley>
Component: GeneralAssignee: Halla Rempt <halla>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description wolthera 2018-10-12 15:17:32 UTC
SUMMARY
I switched away from the Krita window, and a while later switched back to Krita. I try to always run Krita in GDB, so I noticed the GDB crash freeze, and got this backtrace.

STEPS TO REPRODUCE
Didn't try to reproduce.


SOFTWARE VERSIONS
(available in About System)
Krita
  Version: 4.2.0-pre-alpha (git 6e67a30)

Qt
  Version (compiled): 5.11.1
  Version (loaded): 5.11.1

OS Information
  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.15.0-36-generic
  Pretty Productname: KDE neon User Edition 5.14
  Product Type: neon
  Product Version: 18.04

OpenGL Info 
  Vendor:  Intel Open Source Technology Center 
  Renderer:  "Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) " 
  Version:  "3.0 Mesa 18.0.5" 
  Shading language:  1.30 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile)) 
     Version: 3.0
     Supports deprecated functions true 
     is OpenGL ES: false 

ADDITIONAL INFORMATION

USE_QT_XCB: ON

GDB BACKTRACE
--------------------------------------------
Thread 1 "krita" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) thread apply all backtrace

Thread 99 (Thread 0x7fff69ffb700 (LWP 20992)):
#0  0x00007fffedbbfed9 in futex_reltimed_wait_cancelable (private=<optimized out>, 
    reltime=0x7fff69ffabf0, expected=0, futex_word=0x555567708d80)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:142
#1  __pthread_cond_wait_common (abstime=0x7fff69ffacc0, mutex=0x555567708d30, 
    cond=0x555567708d58) at pthread_cond_wait.c:533
#2  __pthread_cond_timedwait (cond=0x555567708d58, mutex=0x555567708d30, 
    abstime=0x7fff69ffacc0) at pthread_cond_wait.c:667
#3  0x00007ffff4a4b850 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4a4225d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffedbb96db in start_thread (arg=0x7fff69ffb700) at pthread_create.c:463
#7  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fff9b912700 (LWP 6961)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fff90003ce0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec2bd439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec2bd54c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4c70a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a3fb8a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fffedbb96db in start_thread (arg=0x7fff9b912700) at pthread_create.c:463
#8  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fffa0b7b700 (LWP 6956)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fff94004ec0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec2bd439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec2bd54c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4c70a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a3fb8a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffd90d2906 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffedbb96db in start_thread (arg=0x7fffa0b7b700) at pthread_create.c:463
#9  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffaee1d700 (LWP 6951)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fff9c004ee0, nfds=1, timeout=-1)
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec2bd439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec2bd54c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4c70a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a3fb8a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffd8c578b5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffedbb96db in start_thread (arg=0x7fffaee1d700) at pthread_create.c:463
#9  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffae61c700 (LWP 6926)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff4a3e840 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff4a3e6b2 in QSemaphore::tryAcquire(int, int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff1f218f3 in KisTileDataSwapper::waitForWork (this=<optimized out>)
    at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff1f21b4a in KisTileDataSwapper::run (
    this=0x7ffff25cbc80 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>)
    at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffedbb96db in start_thread (arg=0x7fffae61c700) at pthread_create.c:463
#7  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffb5af9700 (LWP 6919)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fffb0004ae0, nfds=1, timeout=9990)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec2bd439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec2bd54c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff4c70a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a3fb8a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fffedbb96db in start_thread (arg=0x7fffb5af9700) at pthread_create.c:463
#8  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffcded9700 (LWP 6758)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fffc8019880, nfds=4, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec2bd439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec2bd54c in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3  0x00007ffff4c70a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff4a3fb8a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffedde6e45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffedbb96db in start_thread (arg=0x7fffcded9700) at pthread_create.c:463
#9  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffdbff9700 (LWP 6753)):
#0  0x00007ffff411dbf9 in __GI___poll (fds=0x7fffdbff8c68, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffea783747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fffea78536a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffded88129 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007ffff4a4aaab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fffedbb96db in start_thread (arg=0x7fffdbff9700) at pthread_create.c:463
#6  0x00007ffff412a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7f80840 (LWP 6651)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff4049801 in __GI_abort () at abort.c:79
#2  0x00007ffff4a1b5db in QMessageLogger::fatal(char const*, ...) const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff4a1add1 in qt_assert(char const*, char const*, int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff7418783 in QList<QAction*>::last (this=0x7fffffffd550)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:348
#5  KisMainWindow::subWindowActivated (this=0x55556416dc90)
    at /home/wolthera/krita/src/libs/ui/KisMainWindow.cpp:2118
#6  0x00007ffff7422f4d in KisMainWindow::qt_static_metacall (_o=0x55556416dc90, 
    _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffd700)
    at /home/wolthera/krita/build/libs/ui/kritaui_autogen/include/moc_KisMainWindow.cpp:323
#7  0x00007ffff4c45ad5 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007ffff5af8a4f in QMdiArea::subWindowActivated(QMdiSubWindow*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff5afd09f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff5afdd98 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff5afec75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff4c45ad5 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007ffff5b0456c in QMdiSubWindow::windowStateChanged(QFlags<Qt::WindowState>, QFlags<Qt::WindowState>) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff5b0c363 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff5b01eda in QMdiArea::eventFilter(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff4c16705 in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject---Type <return> to continue, or q <return> to quit---
*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff59a3ec8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff59ab45f in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff73dbbb7 in KisApplication::notify (this=<optimized out>, 
    receiver=0x7fffffffe0b0, event=0x7fffffffdd10)
    at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:608
#20 0x00007ffff4c16ab8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff51a3296 in QGuiApplicationPrivate::setApplicationState(Qt::ApplicationState, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007ffff51a9cfc in QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007ffff51a9f4d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007ffff5182f0b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007fffdee12edb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#26 0x00007ffff4c14dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff4c1dfa0 in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x0000555555e8d6cb in main (argc=<optimized out>, argv=0x7fffffffe218)
    at /home/wolthera/krita/src/krita/main.cc:456
(gdb) 
(gdb)
Comment 1 wolthera 2018-10-12 15:20:40 UTC
boud asked me to assign this to him.
Comment 2 Halla Rempt 2018-10-15 10:03:16 UTC
Git commit ac27b9e9a8ce529f199d338a984ba11aff98597a by Boudewijn Rempt.
Committed on 15/10/2018 at 10:02.
Pushed by rempt into branch 'master'.

Fix a possible crash when the window focuses again

M  +5    -4    libs/ui/KisMainWindow.cpp

https://commits.kde.org/krita/ac27b9e9a8ce529f199d338a984ba11aff98597a
Comment 3 Halla Rempt 2018-11-20 08:58:36 UTC
Git commit 1139e9d7686126944b6edaff8330bbe080f16012 by Boudewijn Rempt.
Committed on 20/11/2018 at 08:22.
Pushed by rempt into branch 'krita/4.1'.

Fix a possible crash when the window focuses again

M  +5    -4    libs/ui/KisMainWindow.cpp

https://commits.kde.org/krita/1139e9d7686126944b6edaff8330bbe080f16012