Bug 329080 - Segfault on Save after collapsing all Group Layers
Summary: Segfault on Save after collapsing all Group Layers
Status: RESOLVED DUPLICATE of bug 321100
Alias: None
Product: krita
Classification: Applications
Component: Layer Stack (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-21 16:28 UTC by Takiro Ryo
Modified: 2013-12-21 17:01 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Takiro Ryo 2013-12-21 16:28:37 UTC
After I collapsed all Group Layers and tried to save, Krita crashed and reported a segmentation fault. I tried it several times and it crashed every time on save. Saving worked when the trees where not collapsed to the root.

Reproducible: Always

Steps to Reproduce:
1. Create new Krita document
2. Create 2 Group Layers with at least 2 additional sub levels of Group Layers
3. Collapse all Group Layers
4. Save document
Actual Results:  
Application crashes and an error message opens, informing about a segmentation fault. Document is not saved.

Expected Results:  
Document gets saved and application continues running.

Application: krita (2.6.3)
KDE Platform Version: 4.10.5
Qt Version: 4.8.4
Operating System: Linux 3.8.0-34-generic x86_64
Distribution: Ubuntu 13.04

-- Backtrace:
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 0x7f4aad58e7c0 (LWP 4074))]

Thread 7 (Thread 0x7f4a96502700 (LWP 4076)):
#0  0x00007f4aa56ed359 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f4aa56ed5e9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f4aa56ae1d1 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f4aa56ae6ba in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f4a9b1084f6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007f4aa56d1eb5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a96502700) at pthread_create.c:311
#7  0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f4a7f831700 (LWP 4077)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f4aaaa0614b in wait (time=18446744073709551615, this=0x2eda3b0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2eda360, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f4aaaa02067 in QSemaphore::acquire (this=this@entry=0x2eda0b0, n=n@entry=1) at thread/qsemaphore.cpp:144
#4  0x00007f4a876b93ee in KisTileDataPooler::waitForWork (this=this@entry=0x2eda0a0) at /build/buildd/calligra-2.6.3/krita/image/tiles3/kis_tile_data_pooler.cc:162
#5  0x00007f4a876b979b in KisTileDataPooler::run (this=0x2eda0a0) at /build/buildd/calligra-2.6.3/krita/image/tiles3/kis_tile_data_pooler.cc:184
#6  0x00007f4aaaa05bec in QThreadPrivate::start (arg=0x2eda0a0) at thread/qthread_unix.cpp:338
#7  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a7f831700) at pthread_create.c:311
#8  0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f4a7f030700 (LWP 4078)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f4aaaa0614b in wait (time=18446744073709551615, this=0x2eda740) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2eda6f0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f4aaaa02438 in QSemaphore::tryAcquire (this=0x2eda420, n=n@entry=1, timeout=timeout@entry=-1) at thread/qsemaphore.cpp:221
#4  0x00007f4a876d6f13 in KisTileDataSwapper::waitForWork (this=this@entry=0x2eda0d8) at /build/buildd/calligra-2.6.3/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#5  0x00007f4a876d720a in KisTileDataSwapper::run (this=0x2eda0d8) at /build/buildd/calligra-2.6.3/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#6  0x00007f4aaaa05bec in QThreadPrivate::start (arg=0x2eda0d8) at thread/qthread_unix.cpp:338
#7  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a7f030700) at pthread_create.c:311
#8  0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f4a7d9de700 (LWP 4084)):
#0  0x00007f4aacad9e23 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4aaab2e4f3 in qt_safe_select (nfds=34, fdread=0x7f4a6c000ac8, fdwrite=0x7f4a6c000d60, fdexcept=0x7f4a6c000ff8, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f4aaab33499 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f4a6c000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f4aaab33c82 in QEventDispatcherUNIX::processEvents (this=0x7f4a6c0008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#4  0x00007f4aaab0138f in QEventLoop::processEvents (this=this@entry=0x7f4a7d9ddd90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f4aaab01618 in QEventLoop::exec (this=this@entry=0x7f4a7d9ddd90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f4aaaa03410 in QThread::exec (this=this@entry=0x3337a20) at thread/qthread.cpp:542
#7  0x00007f4aaaae2edf in QInotifyFileSystemWatcherEngine::run (this=0x3337a20) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f4aaaa05bec in QThreadPrivate::start (arg=0x3337a20) at thread/qthread_unix.cpp:338
#9  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a7d9de700) at pthread_create.c:311
#10 0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f4a7d01b700 (LWP 4093)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f4aaaa0614b in wait (time=18446744073709551615, this=0xe39d2f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0xe39ce78, mutex=mutex@entry=0xe39ce70, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f4aab9dd7a6 in QFileInfoGatherer::run (this=0xe39ce60) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f4aaaa05bec in QThreadPrivate::start (arg=0xe39ce60) at thread/qthread_unix.cpp:338
#5  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a7d01b700) at pthread_create.c:311
#6  0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f4a7e1df700 (LWP 4094)):
#0  0x00007f4aacad9e23 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f4aaab2e4f3 in qt_safe_select (nfds=40, fdread=0x7f4a68000a78, fdwrite=0x7f4a68000d10, fdexcept=0x7f4a68000fa8, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f4aaab33499 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f4a680008c0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f4aaab33c82 in QEventDispatcherUNIX::processEvents (this=0x7f4a680401c0, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#4  0x00007f4aaab0138f in QEventLoop::processEvents (this=this@entry=0x7f4a7e1ded90, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f4aaab01618 in QEventLoop::exec (this=this@entry=0x7f4a7e1ded90, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f4aaaa03410 in QThread::exec (this=this@entry=0xe39d3f0) at thread/qthread.cpp:542
#7  0x00007f4aaaae2edf in QInotifyFileSystemWatcherEngine::run (this=0xe39d3f0) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f4aaaa05bec in QThreadPrivate::start (arg=0xe39d3f0) at thread/qthread_unix.cpp:338
#9  0x00007f4aa5b80f8e in start_thread (arg=0x7f4a7e1df700) at pthread_create.c:311
#10 0x00007f4aacae1a0d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f4aad58e7c0 (LWP 4074)):
[KCrash Handler]
#6  0x0000000000000008 in ?? ()
#7  0x00007f4aaaf597f7 in qDeleteAll<QHash<QString, KArchiveEntry*>::const_iterator> (begin=..., end=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
#8  0x00007f4aaaf55c91 in qDeleteAll<QHash<QString, KArchiveEntry*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9  ~KArchiveDirectoryPrivate (this=0xe7fc690, __in_chrg=<optimized out>) at ../../kdecore/io/karchive.cpp:697
#10 KArchiveDirectory::~KArchiveDirectory (this=0xe7fbc40, __in_chrg=<optimized out>) at ../../kdecore/io/karchive.cpp:713
#11 0x00007f4aaaf55cf9 in KArchiveDirectory::~KArchiveDirectory (this=0xe7fbc40, __in_chrg=<optimized out>) at ../../kdecore/io/karchive.cpp:714
#12 0x00007f4aaaf555da in close (this=0xe7e5070) at ../../kdecore/io/karchive.cpp:191
#13 KArchive::close (this=0xe7e5070) at ../../kdecore/io/karchive.cpp:164
#14 0x00007f4aac6970ea in KoDocument::saveNativeFormatCalligra (this=this@entry=0x3164ff0, store=store@entry=0xe42fbc0) at /build/buildd/calligra-2.6.3/libs/main/KoDocument.cpp:759
#15 0x00007f4aac6986cb in KoDocument::saveNativeFormat (this=this@entry=0x3164ff0, file=...) at /build/buildd/calligra-2.6.3/libs/main/KoDocument.cpp:611
#16 0x00007f4aac69278f in KoDocument::saveFile (this=0x3164ff0) at /build/buildd/calligra-2.6.3/libs/main/KoDocument.cpp:348
#17 0x00007f4aac72c724 in KoPart::saveFile (this=0x31642e0) at /build/buildd/calligra-2.6.3/libs/main/KoPart.cpp:205
#18 0x00007f4aaa45955c in KParts::ReadWritePart::save (this=0x31642e0) at ../../kparts/part.cpp:879
#19 0x00007f4aac6c5db8 in KoMainWindow::saveDocument (this=this@entry=0x317df50, saveas=<optimized out>, saveas@entry=false, silent=silent@entry=false) at /build/buildd/calligra-2.6.3/libs/main/KoMainWindow.cpp:1086
#20 0x00007f4aac6c6fcd in KoMainWindow::slotFileSave (this=0x317df50) at /build/buildd/calligra-2.6.3/libs/main/KoMainWindow.cpp:1321
#21 0x00007f4aac6c9ea9 in KoMainWindow::qt_static_metacall (_o=0x317df50, _c=<optimized out>, _id=<optimized out>, _a=0x7fff79204f90) at /build/buildd/calligra-2.6.3/obj-x86_64-linux-gnu/libs/main/KoMainWindow.moc:115
#22 0x00007f4aaab170ef in QMetaObject::activate (sender=sender@entry=0x31997f0, m=m@entry=0x7f4aabf8e7a0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff79204f90) at kernel/qobject.cpp:3539
#23 0x00007f4aab4e6152 in QAction::triggered (this=this@entry=0x31997f0, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#24 0x00007f4aab4e7580 in QAction::activate (this=0x31997f0, event=<optimized out>) at kernel/qaction.cpp:1257
#25 0x00007f4aab8abb5f in QAbstractButtonPrivate::click (this=this@entry=0x3228a90) at widgets/qabstractbutton.cpp:530
#26 0x00007f4aab8abe0c in QAbstractButton::mouseReleaseEvent (this=0x319d750, e=0x7fff79205850) at widgets/qabstractbutton.cpp:1123
#27 0x00007f4aab9688ea in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:718
#28 0x00007f4aab539a89 in QWidget::event (this=0x319d750, event=0x7fff79205850) at kernel/qwidget.cpp:8375
#29 0x00007f4aab4ec8ec in QApplicationPrivate::notify_helper (this=this@entry=0x25091b0, receiver=receiver@entry=0x319d750, e=e@entry=0x7fff79205850) at kernel/qapplication.cpp:4567
#30 0x00007f4aab4efa33 in QApplication::notify (this=<optimized out>, receiver=receiver@entry=0x319d750, e=e@entry=0x7fff79205850) at kernel/qapplication.cpp:4110
#31 0x00007f4aac685d98 in KoApplication::notify (this=<optimized out>, receiver=0x319d750, event=0x7fff79205850) at /build/buildd/calligra-2.6.3/libs/main/KoApplication.cpp:528
#32 0x00007f4aaab0263e in QCoreApplication::notifyInternal (this=0x7fff79206300, receiver=receiver@entry=0x319d750, event=event@entry=0x7fff79205850) at kernel/qcoreapplication.cpp:946
#33 0x00007f4aab4f2933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#34 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x319d750, event=event@entry=0x7fff79205850, alienWidget=alienWidget@entry=0x319d750, nativeWidget=nativeWidget@entry=0x3231a40, buttonDown=buttonDown@entry=0x7f4aabfca308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#35 0x00007f4aab567e54 in QETWidget::translateMouseEvent (this=this@entry=0x3231a40, event=event@entry=0x7fff79205fe0) at kernel/qapplication_x11.cpp:4631
#36 0x00007f4aab566e81 in QApplication::x11ProcessEvent (this=0x7fff79206300, event=event@entry=0x7fff79205fe0) at kernel/qapplication_x11.cpp:3746
#37 0x00007f4aab592ac9 in QEventDispatcherX11::processEvents (this=0x2505650, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#38 0x00007f4aaab0138f in QEventLoop::processEvents (this=this@entry=0x7fff79206250, flags=...) at kernel/qeventloop.cpp:149
#39 0x00007f4aaab01618 in QEventLoop::exec (this=this@entry=0x7fff79206250, flags=...) at kernel/qeventloop.cpp:204
#40 0x00007f4aaab06cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#41 0x00007f4aab4eaffc in QApplication::exec () at kernel/qapplication.cpp:3828
#42 0x00007f4aacf96312 in kdemain (argc=<optimized out>, argv=<optimized out>) at /build/buildd/calligra-2.6.3/krita/main.cc:114
#43 0x00007f4aaca08ea5 in __libc_start_main (main=0x4006d0 <main(int, char**)>, argc=1, ubp_av=0x7fff79206418, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff79206408) at libc-start.c:260
#44 0x0000000000400701 in _start ()
Comment 1 Jekyll Wu 2013-12-21 17:01:48 UTC

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