Summary: | karchive crashes in prepareWriting when there isn't enough diskspace | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Kirill <kirill.myxa> |
Component: | kdecore | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | halla, rebuilderster, rsa91, simonandric5 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/karchive/188f463af6c2143c8495ac1dc5a1a7c40abb875e | Version Fixed In: | |
Sentry Crash Report: |
Description
Kirill
2015-01-23 16:32:59 UTC
*** Bug 273718 has been marked as a duplicate of this bug. *** Yes, that's definitely the same thing, and it is very likely that it is caused by running out of disk space. Keep in mind that Linux keeps a certain percentage of disk space reserved for root, so it might look like you've still got space, but you cannot actually use it. Could you install the kdelibs debug packages and reproduce? I don't have a disk with insufficient space, I'm afraid... And I cannot figure out where kzip is crashing. Forgot to mention that the file is on an external hard drive, although it does not really matter, I guess. (In reply to Boudewijn Rempt from comment #3) > Could you install the kdelibs debug packages and reproduce? I don't have a > disk with insufficient space, I'm afraid... And I cannot figure out where > kzip is crashing. -- Backtrace Application: Krita (krita), signal: Segmentation fault Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0xb0fe7740 (LWP 4345))] Thread 5 (Thread 0xaa723b40 (LWP 4358)): #0 0xb773d424 in __kernel_vsyscall () #1 0xb4143d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb5cab6ec in __pthread_cond_wait (cond=0xa768b70, mutex=0xa768b58) at forward.c:149 #3 0xb5ece0f5 in wait (time=4294967295, this=0xa768b58) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0xa768b24, mutex=mutex@entry=0xa768b20, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb5ec9d7f in QSemaphore::acquire (this=this@entry=0xa768958, n=n@entry=1) at thread/qsemaphore.cpp:144 #6 0xb55eee6a in waitForWork (this=0xa768950) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/tiles3/kis_tile_data_pooler.cc:162 #7 KisTileDataPooler::run (this=0xa768950) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/tiles3/kis_tile_data_pooler.cc:184 #8 0xb5ecdb6f in QThreadPrivate::start (arg=0xa768950) at thread/qthread_unix.cpp:349 #9 0xb413ff70 in start_thread (arg=0xaa723b40) at pthread_create.c:312 #10 0xb5c9e50e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 4 (Thread 0xabecbb40 (LWP 4359)): #0 0xb773d424 in __kernel_vsyscall () #1 0xb4143d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb5cab6ec in __pthread_cond_wait (cond=0xa768de8, mutex=0xa768dd0) at forward.c:149 #3 0xb5ece0f5 in wait (time=4294967295, this=0xa768dd0) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0xa768d9c, mutex=mutex@entry=0xa768d98, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb5eca1cf in QSemaphore::tryAcquire (this=0xa768d70, n=n@entry=1, timeout=timeout@entry=-1) at thread/qsemaphore.cpp:221 #6 0xb561a0de in KisTileDataSwapper::waitForWork (this=this@entry=0xa768970) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86 #7 0xb561a344 in KisTileDataSwapper::run (this=0xa768970) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92 #8 0xb5ecdb6f in QThreadPrivate::start (arg=0xa768970) at thread/qthread_unix.cpp:349 #9 0xb413ff70 in start_thread (arg=0xabecbb40) at pthread_create.c:312 #10 0xb5c9e50e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 3 (Thread 0xa87feb40 (LWP 4361)): #0 0xb773d424 in __kernel_vsyscall () #1 0xb4143d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0xb5cab6ec in __pthread_cond_wait (cond=0xa938a28, mutex=0xa938a10) at forward.c:149 #3 0xb5ece0f5 in wait (time=4294967295, this=0xa938a10) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=this@entry=0xa919654, mutex=mutex@entry=0xa919650, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb6aa87e3 in QFileInfoGatherer::run (this=0xa919648) at dialogs/qfileinfogatherer.cpp:214 #6 0xb5ecdb6f in QThreadPrivate::start (arg=0xa919648) at thread/qthread_unix.cpp:349 #7 0xb413ff70 in start_thread (arg=0xa87feb40) at pthread_create.c:312 #8 0xb5c9e50e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 2 (Thread 0xa9bfdb40 (LWP 4362)): #0 __GI___pthread_mutex_lock (mutex=0x9f33ef88) at ../nptl/pthread_mutex_lock.c:161 #1 0xb5cab8f4 in pthread_mutex_lock (mutex=0x9f33ef88) at forward.c:192 #2 0xb409f0e0 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb4059f8e in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb405a468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb405a528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #6 0xb600f95f in QEventDispatcherGlib::processEvents (this=0xa7a63428, flags=...) at kernel/qeventdispatcher_glib.cpp:436 #7 0xb5fde823 in QEventLoop::processEvents (this=this@entry=0xa9bfd258, flags=...) at kernel/qeventloop.cpp:149 #8 0xb5fdeb49 in QEventLoop::exec (this=this@entry=0xa9bfd258, flags=...) at kernel/qeventloop.cpp:204 #9 0xb5ecb23d in QThread::exec (this=this@entry=0xa9198b8) at thread/qthread.cpp:537 #10 0xb5fbec44 in QInotifyFileSystemWatcherEngine::run (this=0xa9198b8) at io/qfilesystemwatcher_inotify.cpp:265 #11 0xb5ecdb6f in QThreadPrivate::start (arg=0xa9198b8) at thread/qthread_unix.cpp:349 #12 0xb413ff70 in start_thread (arg=0xa9bfdb40) at pthread_create.c:312 #13 0xb5c9e50e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 1 (Thread 0xb0fe7740 (LWP 4345)): [KCrash Handler] #7 0xb625204d in KZip::doPrepareWriting (this=0xb0bb918, name=..., user=..., group=..., perm=33188, atime=-1, mtime=-1, ctime=-1) at ../../kdecore/io/kzip.cpp:1008 #8 0xb6222598 in KArchive::prepareWriting (this=0xb0bb918, name=..., user=..., group=..., size=0, perm=perm@entry=33188, atime=atime@entry=-1, mtime=mtime@entry=-1, ctime=ctime@entry=-1) at ../../kdecore/io/karchive.cpp:380 #9 0xb4afb4b6 in KoZipStore::openWrite (this=0x18380a18, name=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/libs/odf/KoZipStore.cpp:154 #10 0xb4af7b01 in KoStore::open (this=0x18380a18, _name=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/libs/odf/KoStore.cpp:243 #11 0xb72973a7 in KisKraSaveVisitor::saveAnnotations (this=0xbf9780d0, layer=0xad3b938) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/kra/kis_kra_save_visitor.cpp:285 #12 0xb729d22b in KisKraSaveVisitor::visit (this=0xbf9780d0, layer=0xad3b938) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/kra/kis_kra_save_visitor.cpp:102 #13 0xb57e8bd7 in KisPaintLayer::accept (this=0xad3b938, v=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/kis_paint_layer.cc:178 #14 0xb57d3ae2 in KisNodeVisitor::visitAllInverse (this=this@entry=0xbf9780d0, node=node@entry=0xad20600, breakOnFail=breakOnFail@entry=false) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/kis_node_visitor.cpp:48 #15 0xb729d89f in KisKraSaveVisitor::visit (this=0xbf9780d0, layer=0xad20600) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/kra/kis_kra_save_visitor.cpp:119 #16 0xb576f547 in KisGroupLayer::accept (this=0xad20600, v=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/kis_group_layer.cc:233 #17 0xb57d3ae2 in KisNodeVisitor::visitAllInverse (this=this@entry=0xbf9780d0, node=node@entry=0xad0e1b0, breakOnFail=breakOnFail@entry=false) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/kis_node_visitor.cpp:48 #18 0xb729d89f in KisKraSaveVisitor::visit (this=0xbf9780d0, layer=0xad0e1b0) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/kra/kis_kra_save_visitor.cpp:119 #19 0xb576f547 in KisGroupLayer::accept (this=0xad0e1b0, v=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/image/kis_group_layer.cc:233 #20 0xb72a4e90 in KisKraSaver::saveBinaryData (this=0xb1b9628, store=store@entry=0x18380a18, image=..., uri=..., external=external@entry=true, autosave=autosave@entry=false) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/kra/kis_kra_saver.cpp:119 #21 0xb740fcfc in KisDocument::completeSaving (this=0xaa936b8, store=0x18380a18) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisDocument.cpp:1916 #22 0xb741c19f in KisDocument::saveNativeFormatCalligra (this=this@entry=0xaa936b8, store=store@entry=0x18380a18) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisDocument.cpp:1010 #23 0xb741c7fb in KisDocument::saveNativeFormat (this=0xaa936b8, file=...) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisDocument.cpp:973 #24 0xb7413e18 in KisDocument::saveFile (this=0xaa936b8) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisDocument.cpp:733 #25 0xb741f422 in KisDocument::save (this=0xaa936b8) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisDocument.cpp:2345 #26 0xb74588d6 in KisMainWindow::saveDocument (this=this@entry=0xa54c8b0, document=0xaa936b8, saveas=<optimized out>, saveas@entry=false, silent=silent@entry=false, specialOutputFlag=specialOutputFlag@entry=0) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisMainWindow.cpp:958 #27 0xb745a1e6 in KisMainWindow::slotFileSave (this=0xa54c8b0) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisMainWindow.cpp:1192 #28 0xb7460b91 in KisMainWindow::qt_static_metacall (_o=_o@entry=0xa54c8b0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=10, _a=0xbf978728) at /build/buildd/krita-testing-2+git20150122+r73655-51/obj-i686-linux-gnu/krita/ui/KisMainWindow.moc:151 #29 0xb5ff50f7 in QMetaObject::activate (sender=sender@entry=0xab46ce8, m=m@entry=0xb6e96718 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0xbf978728) at kernel/qobject.cpp:3539 #30 0xb653572d in QAction::triggered (this=this@entry=0xab46ce8, _t1=false) at .moc/release-shared/moc_qaction.cpp:276 #31 0xb6537324 in QAction::activate (this=this@entry=0xab46ce8, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257 #32 0xb65374b0 in QAction::event (this=this@entry=0xab46ce8, e=e@entry=0xbf978a68) at kernel/qaction.cpp:1183 #33 0xb433a6bd in KAction::event (this=0xab46ce8, event=0xbf978a68) at ../../kdeui/actions/kaction.cpp:131 #34 0xb653c7f4 in QApplicationPrivate::notify_helper (this=0x9ec9220, receiver=0xab46ce8, e=0xbf978a68) at kernel/qapplication.cpp:4567 #35 0xb65432d3 in QApplication::notify (this=this@entry=0xbf9794e4, receiver=receiver@entry=0xab46ce8, e=e@entry=0xbf978a68) at kernel/qapplication.cpp:4353 #36 0xb7407cbd in KisApplication::notify (this=0xbf9794e4, receiver=0xab46ce8, event=0xbf978a68) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisApplication.cpp:500 #37 0xb5fdfe4a in QCoreApplication::notifyInternal (this=0xbf9794e4, receiver=0xab46ce8, event=event@entry=0xbf978a68) at kernel/qcoreapplication.cpp:953 #38 0xb65748bb in sendEvent (event=0xbf978a68, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #39 QShortcutMap::dispatchEvent (this=this@entry=0x9ec92cc, e=e@entry=0xbf978d68) at kernel/qshortcutmap.cpp:887 #40 0xb6574a3d in QShortcutMap::tryShortcutEvent (this=0x9ec92cc, o=0x163494b8, e=0xbf978d68) at kernel/qshortcutmap.cpp:367 #41 0xb6544ca8 in QApplication::notify (this=this@entry=0xbf9794e4, receiver=receiver@entry=0x163494b8, e=e@entry=0xbf978d68) at kernel/qapplication.cpp:3991 #42 0xb7407cbd in KisApplication::notify (this=0xbf9794e4, receiver=0x163494b8, event=0xbf978d68) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/ui/KisApplication.cpp:500 #43 0xb5fdfe4a in QCoreApplication::notifyInternal (this=0xbf9794e4, receiver=receiver@entry=0x163494b8, event=event@entry=0xbf978d68) at kernel/qcoreapplication.cpp:953 #44 0xb653ac7d in sendSpontaneousEvent (event=0xbf978d68, receiver=0x163494b8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #45 qt_sendSpontaneousEvent (receiver=0x163494b8, event=event@entry=0xbf978d68) at kernel/qapplication.cpp:5565 #46 0xb65ee829 in QKeyMapper::sendKeyEvent (keyWidget=keyWidget@entry=0x163494b8, grab=grab@entry=false, type=QEvent::KeyPress, code=83, modifiers=..., text=..., autorepeat=autorepeat@entry=false, count=1, nativeScanCode=nativeScanCode@entry=39, nativeVirtualKey=115, nativeModifiers=nativeModifiers@entry=20) at kernel/qkeymapper_x11.cpp:1866 #47 0xb65eec18 in QKeyMapperPrivate::translateKeyEvent (this=0x9f07868, keyWidget=keyWidget@entry=0x163494b8, event=event@entry=0xbf9790dc, grab=grab@entry=false) at kernel/qkeymapper_x11.cpp:1836 #48 0xb65c4da5 in QApplication::x11ProcessEvent (this=0xbf9794e4, event=event@entry=0xbf9790dc) at kernel/qapplication_x11.cpp:3642 #49 0xb65f1524 in x11EventSourceDispatch (s=0x9ebfda8, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #50 0xb405a1e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #51 0xb405a468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #52 0xb405a528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #53 0xb600f93b in QEventDispatcherGlib::processEvents (this=this@entry=0x9d8cdc8, flags=...) at kernel/qeventdispatcher_glib.cpp:434 #54 0xb65f15de in QGuiEventDispatcherGlib::processEvents (this=0x9d8cdc8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #55 0xb5fde823 in QEventLoop::processEvents (this=this@entry=0xbf979398, flags=...) at kernel/qeventloop.cpp:149 #56 0xb5fdeb49 in QEventLoop::exec (this=this@entry=0xbf979398, flags=...) at kernel/qeventloop.cpp:204 #57 0xb5fe48fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225 #58 0xb653aa24 in QApplication::exec () at kernel/qapplication.cpp:3828 #59 0x08049fa9 in main (argc=1, argv=0xbf9795d4) at /build/buildd/krita-testing-2+git20150122+r73655-51/krita/main.cc:170 Thanks! From inside Krita, I cannot fix this bug, it's an issue in karchive :-( *** Bug 345062 has been marked as a duplicate of this bug. *** Hm... I actually cannot reproduce it with KDE 4.14.5, I wonder if it hasn't gotten fixed in the meantime. Sorry, I was wrong: I can reproduce, the thing is, there needs to be a little bit of space left to start with, and I was trying with a 100% full usb stick. See https://git.reviewboard.kde.org/r/122922/ https://git.reviewboard.kde.org/r/122923/ For patches for kdelibs and karchive. Git commit 188f463af6c2143c8495ac1dc5a1a7c40abb875e by Boudewijn Rempt. Committed on 13/03/2015 at 08:30. Pushed by rempt into branch 'master'. Remove two asserts. Two reasons: In these cases, returning false is better, because the asserts indicate circumstances that are not caused by faulty code but by issues in the environment. And if asserts are not compiled in, calling device() when there is no space left will return 0, leading to a crash. REVIEW:122923 M +5 -2 src/kzip.cpp http://commits.kde.org/karchive/188f463af6c2143c8495ac1dc5a1a7c40abb875e |