Bug 362540 - Crash with recovering an autosave with Krita on Ubuntu 16.04 (gdb backtrace)
Summary: Crash with recovering an autosave with Krita on Ubuntu 16.04 (gdb backtrace)
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: regression
: 363060 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-05-01 11:37 UTC by wolthera
Modified: 2016-05-25 12:23 UTC (History)
3 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 wolthera 2016-05-01 11:37:42 UTC
I get crashes when trying to open autosaves since recently.

Cancelling the dialogue, and opening the autosave manually works fine, so this is mostly obnoxious.

Reproducible: Always




gdb krita
GNU gdb (Ubuntu 7.11-0ubuntu1) 7.11
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from krita...done.
(gdb) start
Temporary breakpoint 1 at 0x403e00: file /home/krita/kde/src/krita/krita/main.cc, line 63.
Starting program: /home/krita/kde/inst/bin/krita 
continue
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
QCoreApplication::arguments: Please instantiate the QApplication object first
krita.lib.pigment: Compiled for arch: ::Vc::AVXImpl
krita.lib.pigment: Features supported:
krita.lib.pigment: 	 "SSE2" 	---	 yes
krita.lib.pigment: 	 "SSSE3" 	---	 yes
krita.lib.pigment: 	 "SSE4.1" 	---	 yes
krita.lib.pigment: 	 "AVX " 	---	 yes

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffd8e8)
    at /home/krita/kde/src/krita/krita/main.cc:63
63	{
(gdb) continue
Continuing.
[New Thread 0x7fffe4867700 (LWP 14057)]
[New Thread 0x7fffda03e700 (LWP 14058)]
[New Thread 0x7fffd983d700 (LWP 14059)]
[New Thread 0x7fffd903c700 (LWP 14060)]
[New Thread 0x7fffcbfff700 (LWP 14061)]
[New Thread 0x7fffc0b41700 (LWP 14063)]
[New Thread 0x7fffbbfff700 (LWP 14064)]
Set style "Fusion"
Setting XDG_DATA_DIRS "/home/krita/kde/inst/bin/../share:/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"
Available translations QSet("en_US")
Available domain translations QSet("en_US")
[Thread 0x7fffbbfff700 (LWP 14064) exited]
KoJsonTrader will load its plugins from "/home/krita/kde/inst/lib/x86_64-linux-gnu/kritaplugins"
krita.general: ERROR: no sample brush found in  "/home/krita/.local/share/krita/brushes/PHOTOSHOP_BRUSHES___swirls_by_darkmercy.abr"
	falling back on QIcon::FromTheme: "document-properties"
[New Thread 0x7fffbbfff700 (LWP 14066)]
[New Thread 0x7fffa67b6700 (LWP 14067)]
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
[New Thread 0x7fffa5e6e700 (LWP 14068)]
[New Thread 0x7fffa566d700 (LWP 14069)]
[Thread 0x7fffa566d700 (LWP 14069) exited]
[Thread 0x7fffc0b41700 (LWP 14063) exited]

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
KisMainWindow::openDocumentInternal (this=0x13, url=..., newdoc=0xc40be70)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:790
790	    d->firstTime = true;
(gdb) thread apply all backtrace

Thread 11 (Thread 0x7fffa5e6e700 (LWP 14068)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff559b7eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff6771aa2 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff559ac89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffef15a6fa in start_thread (arg=0x7fffa5e6e700)
    at pthread_create.c:333
#5  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fffa67b6700 (LWP 14067)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff559b7eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5595116 in QSemaphore::tryAcquire(int, int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff3127413 in KisTileDataSwapper::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=<optimized out>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff312760a in KisTileDataSwapper::run (
    this=0x7ffff35a3400 <(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  0x00007ffff559ac89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffef15a6fa in start_thread (arg=0x7fffa67b6700)
    at pthread_create.c:333
#7  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fffbbfff700 (LWP 14066)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff559b7eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5594e8b in QSemaphore::acquire(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff310d7be in KisTileDataPooler::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=0x7ffff35a33c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff310df7a in KisTileDataPooler::run (
    this=0x7ffff35a33c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff559ac89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffef15a6fa in start_thread (arg=0x7fffbbfff700)
    at pthread_create.c:333
#7  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 14061)):
#0  0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee82f42c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff57ac4fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff575aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff559638c in QThread::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffef385cd5 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff559ac89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffef15a6fa in start_thread (arg=0x7fffcbfff700)
    at pthread_create.c:333
#9  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903c700 (LWP 14060)):
#0  0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee82f6a2 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffde499906 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffef15a6fa in start_thread (arg=0x7fffd903c700)
    at pthread_create.c:333
#6  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 0x7fffd983d700 (LWP 14059)):
#0  0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee82f42c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee82f469 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffef15a6fa in start_thread (arg=0x7fffd983d700)
    at pthread_create.c:333
#6  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda03e700 (LWP 14058)):
#0  0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee82f42c in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04628d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffef15a6fa in start_thread (arg=0x7fffda03e700)
    at pthread_create.c:333
#6  0x00007ffff4c96b5d in clone ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe4867700 (LWP 14057)):
#0  0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff35bcc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff35be8d7 in xcb_wait_for_event ()
   from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe5716dc9 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5XcbQpa.so.5
#4  0x00007ffff559ac89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffef15a6fa in start_thread (arg=0x7fffe4867700)
    at pthread_create.c:333
#6  0x00007ffff4c96b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f108c0 (LWP 14053)):
#0  KisMainWindow::openDocumentInternal (this=0x13, url=..., newdoc=0xc40be70)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:790
#1  0x00007ffff78dae5c in KisApplication::onAutoSaveFinished (
    this=0x7fffffffd760, result=<optimized out>)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:620
#2  0x00007ffff799c73b in KisApplication::qt_static_metacall (
---Type <return> to continue, or q <return> to quit---
    _o=<optimized out>, _c=<optimized out>, _id=<optimized out>, 
    _a=<optimized out>)
    at /home/krita/kde/build/libs/ui/moc_KisApplication.cpp:83
#3  0x00007ffff5785cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff673cafe in QDialog::finished(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#5  0x00007ffff673d228 in QDialog::done(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#6  0x00007ffff2d3c9b5 in KoDialog::slotButtonClicked (this=0x3b11a80, 
    button=4) at /home/krita/kde/src/krita/libs/widgets/KoDialog.cpp:918
#7  0x00007ffff2d3cf47 in KoDialog::qt_static_metacall (_o=<optimized out>, 
    _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/krita/kde/build/libs/widgets/moc_KoDialog.cpp:282
#8  0x00007ffff5785cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#9  0x00007ffff5790d5e in QSignalMapper::mapped(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#10 0x00007ffff57922eb in QSignalMapper::map(QObject*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#11 0x00007ffff5785cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#12 0x00007ffff68c94d2 in QAbstractButton::clicked(bool) ()
---Type <return> to continue, or q <return> to quit---q
 from /home/krita/Qt/Quit
(gdb) q
A debugging session is active.

	Inferior 1 [process 14053] will be killed.

Quit anyway? (y or n) y
krita@krita-2012-Client-Platform:~/kde/build$
Comment 1 Halla Rempt 2016-05-02 14:09:35 UTC
Hm, I guess this is because I finally backported Beelzy's autosave fix.
Comment 2 eliotJ 2016-05-12 15:30:24 UTC
Does it's mean it's a regression compared to v2.9.11 ???
Comment 3 Halla Rempt 2016-05-14 08:38:01 UTC
*** Bug 363060 has been marked as a duplicate of this bug. ***
Comment 4 Halla Rempt 2016-05-18 20:12:26 UTC
And the really interesting thing is that the crash seems to happen inside the code that tries to figure out whether the url is a local file that exists.
Comment 5 Halla Rempt 2016-05-25 12:23:49 UTC
Git commit 3fa289d19a52e5ad5fd52e87246635d8fb1ee736 by Boudewijn Rempt.
Committed on 25/05/2016 at 12:23.
Pushed by rempt into branch 'master'.

Fix crash on autosave recovery

M  +23   -23   libs/ui/KisApplication.cpp
M  +5    -4    libs/ui/KisApplication.h

http://commits.kde.org/krita/3fa289d19a52e5ad5fd52e87246635d8fb1ee736