Created attachment 49488 [details] Minimal app to demonstrate the crash Version: unspecified (using KDE 4.4.92) OS: Linux This snippet: ---- KIO::Job* job = KIO::move(source, target, KIO::HideProgressInfo); ---- crashes reproducably for me on KDE 4.5RC2 if the target already exists. In maybe about 1 in 20 cases the "do you want to overwrite, compare the files, look here" dialog is actually shown without a crash. Specifying the KIO::Overwrite flag makes the crash go away. Apps like Dolphin or Kate apparently do that, so it's not noticable there, but I'd rather not use my own file-exists-checking-code in my app. The backtrace seems to indicate some relationship with strigi. I have that turned off, though. Backtrace: Application: (kiocrash), signal: Segmentation fault [Current thread is 1 (Thread 0x7f7030533760 (LWP 8606))] Thread 2 (Thread 0x7f701d06f710 (LWP 8610)): [KCrash Handler] #4 std::string::_Rep::_M_is_leaked (this=0x16ada18, __str=...) at /build/buildd/gcc-4.4-4.4.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.h:184 #5 std::string::_Rep::_M_grab (this=0x16ada18, __str=...) at /build/buildd/gcc-4.4-4.4.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.h:216 #6 basic_string (this=0x16ada18, __str=...) at /build/buildd/gcc-4.4-4.4.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:174 #7 0x00007f702a64a92c in Mime (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /build/buildd/strigi-0.7.2/src/streamanalyzer/eventanalyzers/mimeeventanalyzer.cpp:67 #8 uninitialized_copy<Mime*, Mime*> (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.4/bits/stl_uninitialized.h:74 #9 uninitialized_copy<Mime*, Mime*> (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.4/bits/stl_uninitialized.h:117 #10 __uninitialized_copy_a<Mime*, Mime*, Mime> (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.4/bits/stl_uninitialized.h:257 #11 __uninitialized_move_a<Mime*, Mime*, std::allocator<Mime> > (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.4/bits/stl_uninitialized.h:267 #12 std::vector<Mime, std::allocator<Mime> >::_M_insert_aux (this=0x169b388, __position=<value optimized out>, __x=<value optimized out>) at /usr/include/c++/4.4/bits/vector.tcc:344 #13 0x00007f702a649747 in std::vector<Mime, std::allocator<Mime> >::push_back (this=<value optimized out>, file=...) at /usr/include/c++/4.4/bits/stl_vector.h:741 #14 Strigi::MimeEventAnalyzer::Private::parseFile (this=<value optimized out>, file=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/eventanalyzers/mimeeventanalyzer.cpp:268 #15 0x00007f702a6498d3 in Strigi::MimeEventAnalyzer::Private::parseFiles (this=0x169b380) at /build/buildd/strigi-0.7.2/src/streamanalyzer/eventanalyzers/mimeeventanalyzer.cpp:121 #16 0x00007f702a649ad2 in Strigi::MimeEventAnalyzer::startAnalysis (this=0x169b320, ar=0x7f701d86f930) at /build/buildd/strigi-0.7.2/src/streamanalyzer/eventanalyzers/mimeeventanalyzer.cpp:274 #17 0x00007f702a611de2 in Strigi::EventThroughAnalyzer::connectInputStream (this=0x16a6b00, in=0x7f701d06e880) at /build/buildd/strigi-0.7.2/src/streamanalyzer/eventthroughanalyzer.cpp:56 #18 0x00007f702a62a032 in Strigi::StreamAnalyzerPrivate::analyze (this=<value optimized out>, idx=..., input=0x7f701d06e880) at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:395 #19 0x00007f702f72b5e5 in KFileMetaInfoPrivate::init (this=0x15f28c0, stream=<value optimized out>, url=<value optimized out>, mtime=<value optimized out>, w=<value optimized out>) at ../../kio/kio/kfilemetainfo.cpp:210 #20 0x00007f702f72d2f3 in KFileMetaInfo (this=0x7f701d06ecf0, path=..., w=<value optimized out>) at ../../kio/kio/kfilemetainfo.cpp:237 #21 0x00007f702f817212 in KLoadFileMetaDataThread::run (this=<value optimized out>) at ../../kio/kfile/kloadfilemetadatathread.cpp:124 #22 0x00007f702d57d1be in QThreadPrivate::start (arg=0x1135f60) at thread/qthread_unix.cpp:266 #23 0x00007f702d2eb9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #24 0x00007f702c3246fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #25 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f7030533760 (LWP 8606)): #0 0x00007f702c317f83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007f7027c0f29a in ?? () from /usr/lib/libxcb.so.1 #2 0x00007f7027c10c2c in xcb_wait_for_reply () from /usr/lib/libxcb.so.1 #3 0x00007f702bb2e8d3 in _XReply () from /usr/lib/libX11.so.6 #4 0x00007f702bb23c8d in XTranslateCoordinates () from /usr/lib/libX11.so.6 #5 0x00007f702e0dd6bb in QWidget::mapToGlobal (this=0x7fff097ca280, pos=<value optimized out>) at kernel/qwidget_x11.cpp:1308 #6 0x00007f702e0dd612 in QWidget::mapToGlobal (this=0x1137780, pos=...) at kernel/qwidget_x11.cpp:1301 #7 0x00007f702e0d78fd in QDesktopWidget::screenNumber (this=<value optimized out>, widget=0x1137780) at kernel/qdesktopwidget_x11.cpp:347 #8 0x00007f702ff5f60a in KGlobalSettings::desktopGeometry (w=0x1137780) at ../../kdeui/kernel/kglobalsettings.cpp:731 #9 0x00007f7030031060 in KSqueezedTextLabel::sizeHint (this=0x7fff097c71c0) at ../../kdeui/widgets/ksqueezedtextlabel.cpp:81 #10 0x00007f702e073259 in QWidgetItemV2::updateCacheIfNecessary (this=0x15d0210) at kernel/qlayoutitem.cpp:702 #11 0x00007f702e073ef8 in QWidgetItemV2::minimumSize (this=0x15d0210) at kernel/qlayoutitem.cpp:777 #12 0x00007f702e068694 in QGridBox::minimumSize (this=0x119db90, hSpacing=<value optimized out>, vSpacing=<value optimized out>) at kernel/qgridlayout.cpp:76 #13 QGridLayoutPrivate::setupLayoutData (this=0x119db90, hSpacing=<value optimized out>, vSpacing=<value optimized out>) at kernel/qgridlayout.cpp:790 #14 0x00007f702e0692d5 in QGridLayoutPrivate::findSize (this=0x7fff097c71c0, size=&QLayoutStruct::maximumSize, hSpacing=1, vSpacing=-1) at kernel/qgridlayout.cpp:423 #15 0x00007f702e069432 in QGridLayoutPrivate::maximumSize (this=0x7fff097c71c0, hSpacing=<value optimized out>, vSpacing=<value optimized out>) at kernel/qgridlayout.cpp:467 #16 0x00007f702e069487 in QGridLayout::maximumSize (this=0x11e0540) at kernel/qgridlayout.cpp:1316 #17 0x00007f702e04d7f3 in QBoxLayoutPrivate::setupGeom (this=0x10c9890) at kernel/qboxlayout.cpp:304 #18 0x00007f702e04e726 in QBoxLayout::minimumSize (this=<value optimized out>) at kernel/qboxlayout.cpp:686 #19 0x00007f702e06f971 in QLayout::totalMinimumSize (this=0x10241f0) at kernel/qlayout.cpp:823 #20 0x00007f702e06fddf in QLayout::activate (this=0x10241f0) at kernel/qlayout.cpp:1230 #21 0x00007f702e03dc9e in QApplicationPrivate::notify_helper (this=0xdd0a60, receiver=0x7fff097ca280, e=0x1364860) at kernel/qapplication.cpp:4380 #22 0x00007f702e0437cd in QApplication::notify (this=0x7fff097cbd40, receiver=0x7fff097ca280, e=0x1364860) at kernel/qapplication.cpp:4270 #23 0x00007f702ff38926 in KApplication::notify (this=0x7fff097cbd40, receiver=0x7fff097ca280, event=0x1364860) at ../../kdeui/kernel/kapplication.cpp:309 #24 0x00007f702d66fa8c in QCoreApplication::notifyInternal (this=0x7fff097cbd40, receiver=0x7fff097ca280, event=0x1364860) at kernel/qcoreapplication.cpp:732 #25 0x00007f702d6729b2 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0xdbab60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #26 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xdbab60) at kernel/qcoreapplication.cpp:1373 #27 0x00007f702d69c043 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #28 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 #29 0x00007f70293b68c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #30 0x00007f70293ba748 in ?? () from /lib/libglib-2.0.so.0 #31 0x00007f70293ba8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0 #32 0x00007f702d69bb83 in QEventDispatcherGlib::processEvents (this=0xdba270, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #33 0x00007f702e0ef7ee in QGuiEventDispatcherGlib::processEvents (this=0x7fff097c71c0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #34 0x00007f702d66e7b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #35 0x00007f702d66eb9c in QEventLoop::exec (this=0x7fff097ca1d0, flags=) at kernel/qeventloop.cpp:201 #36 0x00007f702e529dce in QDialog::exec (this=0x7fff097ca280) at dialogs/qdialog.cpp:546 #37 0x00007f702f6e2143 in KIO::JobUiDelegate::askFileRename (this=<value optimized out>, job=0x156b720, caption=..., src=..., dest=<value optimized out>, mode=<value optimized out>, newDest=..., sizeSrc=226, sizeDest=609, ctimeSrc=1272361394, ctimeDest=1274365544, mtimeSrc=1272361394, mtimeDest=1274365544) at ../../kio/kio/jobuidelegate.cpp:83 #38 0x00007f702f6ad950 in KIO::CopyJobPrivate::slotResultRenaming (this=<value optimized out>, job=<value optimized out>) at ../../kio/kio/copyjob.cpp:1903 #39 0x00007f702f6a5ec7 in KIO::CopyJob::qt_metacall (this=0x156b720, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff097cab50) at ./copyjob.moc:121 #40 0x00007f702d6877a7 in QMetaObject::activate (sender=0x11a7f00, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3280 #41 0x00007f702dacd702 in KJob::result (this=0x7fff097c71c0, _t1=0x11a7f00) at ./kjob.moc:194 #42 0x00007f702dacd9a0 in KJob::emitResult (this=0x11a7f00) at ../../kdecore/jobs/kjob.cpp:312 #43 0x00007f702f6d68a3 in KIO::SimpleJob::slotFinished (this=0x11a7f00) at ../../kio/kio/job.cpp:522 #44 0x00007f702f6d4c76 in KIO::SimpleJob::slotError (this=0x11a7f00, err=<value optimized out>, errorText=...) at ../../kio/kio/job.cpp:534 #45 0x00007f702f6d4db8 in KIO::SimpleJob::qt_metacall (this=0x11a7f00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff097cae20) at ./jobclasses.moc:170 #46 0x00007f702d6877a7 in QMetaObject::activate (sender=0x11abbb0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3280 #47 0x00007f702f783936 in KIO::SlaveInterface::error (this=0x7fff097c71c0, _t1=112, _t2=<value optimized out>) at ./slaveinterface.moc:159 #48 0x00007f702f786c6a in KIO::SlaveInterface::dispatch (this=0x11abbb0, _cmd=102, rawdata=...) at ../../kio/kio/slaveinterface.cpp:208 #49 0x00007f702f783c33 in KIO::SlaveInterface::dispatch (this=0x11abbb0) at ../../kio/kio/slaveinterface.cpp:91 #50 0x00007f702f7777e6 in KIO::Slave::gotInput (this=0x11abbb0) at ../../kio/kio/slave.cpp:344 #51 0x00007f702f7779cc in KIO::Slave::qt_metacall (this=0x11abbb0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff097cb240) at ./slave.moc:82 #52 0x00007f702d6877a7 in QMetaObject::activate (sender=0x10c9420, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3280 #53 0x00007f702f6a34b7 in KIO::ConnectionPrivate::dequeue (this=0x122fe50) at ../../kio/kio/connection.cpp:82 #54 0x00007f702f6a35dd in KIO::Connection::qt_metacall (this=0x10c9420, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x129ab00) at ./connection.moc:79 #55 0x00007f702d68187e in QObject::event (this=0x10c9420, e=0x7fff097c71c0) at kernel/qobject.cpp:1219 #56 0x00007f702e03dcdc in QApplicationPrivate::notify_helper (this=0xdd0a60, receiver=0x10c9420, e=0x11aac90) at kernel/qapplication.cpp:4389 #57 0x00007f702e0437cd in QApplication::notify (this=0x7fff097cbd40, receiver=0x10c9420, e=0x11aac90) at kernel/qapplication.cpp:4270 #58 0x00007f702ff38926 in KApplication::notify (this=0x7fff097cbd40, receiver=0x10c9420, event=0x11aac90) at ../../kdeui/kernel/kapplication.cpp:309 #59 0x00007f702d66fa8c in QCoreApplication::notifyInternal (this=0x7fff097cbd40, receiver=0x10c9420, event=0x11aac90) at kernel/qcoreapplication.cpp:732 #60 0x00007f702d6729b2 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0xdbab60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #61 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xdbab60) at kernel/qcoreapplication.cpp:1373 #62 0x00007f702d69c043 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #63 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276 #64 0x00007f70293b68c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #65 0x00007f70293ba748 in ?? () from /lib/libglib-2.0.so.0 #66 0x00007f70293ba8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0 #67 0x00007f702d69bb83 in QEventDispatcherGlib::processEvents (this=0xdba270, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #68 0x00007f702e0ef7ee in QGuiEventDispatcherGlib::processEvents (this=0x7fff097c71c0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #69 0x00007f702d66e7b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #70 0x00007f702d66eb9c in QEventLoop::exec (this=0x7fff097cbc90, flags=) at kernel/qeventloop.cpp:201 #71 0x00007f702d672c4b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #72 0x0000000000403189 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/vl/tmp/kiocrash/main.cpp:17 Reproducible: Always
with kde 4.5.0 it doesn't crash it asks me to provide a new name
Appears to have been fixed in 4.5.0