Bug 191627

Summary: k3b crash on multiple iso burn
Product: [Applications] k3b Reporter: MD <crxssi>
Component: generalAssignee: Sebastian Trueg <trueg>
Status: RESOLVED FIXED    
Severity: crash CC: mail
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Mandriva RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description MD 2009-05-05 00:16:14 UTC
Version:           1.65.0 (using KDE 4.2.2)
Compiler:          compiled by Mandriva 
OS:                Linux
Installed from:    Mandriva RPMs

Mandriva 2009.1 64 bit.  2.6.29.1-desktop-4mnb.  Sony DRU-842A burner.  k3b-1.65.0-0.alpha1.2mdv2009.1

I want to burn 4 DVD iso images (qty 4).  It burns the first disc successfully, then ejects the disc.  I load a blank disk and close the door.  The disc spins up and is detected and K3B immediately crashes.  I repeated the process twice with the same results.  If I just burn one disc at a time (qty 1), it works fine.

The crash is as follows:  The application K3b (k3b) crashed and caused the signal 11 (SIGSEGV)

There is no backtrace information available.
Comment 1 Chris Gray 2009-05-10 04:56:29 UTC
I'm having the exact same problem - single burns are fine, but as soon as you try to burn multiple discs it fails. I managed to catch the error and have included it below:

Application: K3b (k3b), signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
0x00007f0874f8bce1 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f087e485750 (LWP 16001))]

Thread 4 (Thread 0x7f0867fbf950 (LWP 16002)):
#0  0x00007f0874fb6662 in select () from /lib64/libc.so.6
#1  0x00007f087d786366 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007f087d6bdf72 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007f087d44a070 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f0874fbd10d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f08677be950 (LWP 16188)):
#0  0x00007f0874fb6662 in select () from /lib64/libc.so.6
#1  0x00007f087dd807f6 in K3bQProcessManager::run() () from /usr/lib64/libk3b.so.6
#2  0x00007f087d6bdf72 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007f087d44a070 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f0874fbd10d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f0866cd8950 (LWP 16333)):
#0  0x00007f087d44dfdd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f087d6bd9c5 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007f087d6bdb76 in QThread::sleep(unsigned long) () from /usr/lib64/libQtCore.so.4
#3  0x00007f087dd756df in K3b::MediaCache::PollThread::run() () from /usr/lib64/libk3b.so.6
#4  0x00007f087d6bdf72 in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007f087d44a070 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f0874fbd10d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f087e485750 (LWP 16001)):
[KCrash Handler]
#5  0x00007f087dd780ec in K3b::Process::~Process() () from /usr/lib64/libk3b.so.6
#6  0x00007f087dd9318f in K3b::CdrecordWriter::~CdrecordWriter() () from /usr/lib64/libk3b.so.6
#7  0x00007f087ddb9870 in K3b::MetaWriter::slotWritingJobFinished(bool) () from /usr/lib64/libk3b.so.6
#8  0x00007f087ddb9927 in K3b::MetaWriter::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#9  0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#10 0x00007f087dd4f7a2 in K3b::Job::finished(bool) () from /usr/lib64/libk3b.so.6
#11 0x00007f087dd50723 in K3b::Job::jobFinished(bool) () from /usr/lib64/libk3b.so.6
#12 0x00007f087dd96d90 in K3b::CdrecordWriter::slotProcessExited(int, QProcess::ExitStatus) () from /usr/lib64/libk3b.so.6
#13 0x00007f087dd977b4 in K3b::CdrecordWriter::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#14 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#15 0x00007f087dd78e4f in K3bQProcess::finished(int, QProcess::ExitStatus) () from /usr/lib64/libk3b.so.6
#16 0x00007f087dd7dbda in K3bQProcessPrivate::_q_processDied() () from /usr/lib64/libk3b.so.6
#17 0x00007f087dd81575 in K3bQProcessPrivate::waitForFinished(int) () from /usr/lib64/libk3b.so.6
#18 0x00007f087dd791c9 in K3bQProcess::waitForFinished(int) () from /usr/lib64/libk3b.so.6
#19 0x00007f087dd797d3 in K3bQProcess::~K3bQProcess() () from /usr/lib64/libk3b.so.6
#20 0x00007f087dd9318f in K3b::CdrecordWriter::~CdrecordWriter() () from /usr/lib64/libk3b.so.6
#21 0x00007f087ddb9870 in K3b::MetaWriter::slotWritingJobFinished(bool) () from /usr/lib64/libk3b.so.6
#22 0x00007f087ddb9927 in K3b::MetaWriter::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#23 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#24 0x00007f087dd4f7a2 in K3b::Job::finished(bool) () from /usr/lib64/libk3b.so.6
#25 0x00007f087dd50723 in K3b::Job::jobFinished(bool) () from /usr/lib64/libk3b.so.6
#26 0x00007f087dd96cdb in K3b::CdrecordWriter::slotProcessExited(int, QProcess::ExitStatus) () from /usr/lib64/libk3b.so.6
#27 0x00007f087dd977b4 in K3b::CdrecordWriter::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#28 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#29 0x00007f087dd78e4f in K3bQProcess::finished(int, QProcess::ExitStatus) () from /usr/lib64/libk3b.so.6
#30 0x00007f087dd7dbda in K3bQProcessPrivate::_q_processDied() () from /usr/lib64/libk3b.so.6
#31 0x00007f087dd7dc81 in K3bQProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#32 0x00007f087dd7e59d in K3bKProcess::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#33 0x00007f087dd78a75 in K3b::Process::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libk3b.so.6
#34 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#35 0x00007f087d7f108e in QSocketNotifier::activated(int) () from /usr/lib64/libQtCore.so.4
#36 0x00007f087d7bffa3 in QSocketNotifier::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#37 0x00007f08780401bd in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#38 0x00007f0878047f8a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#39 0x00007f087cc57d6b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#40 0x00007f087d7a6091 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#41 0x00007f087d7ce769 in ?? () from /usr/lib64/libQtCore.so.4
#42 0x00007f087464f0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#43 0x00007f08746528cd in ?? () from /usr/lib64/libglib-2.0.so.0
#44 0x00007f0874652a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#45 0x00007f087d7ce50e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#46 0x00007f08780d09bf in ?? () from /usr/lib64/libQtGui.so.4
#47 0x00007f087d7a49a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#48 0x00007f087d7a4b2d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#49 0x00007f0878458175 in QDialog::exec() () from /usr/lib64/libQtGui.so.4
#50 0x000000000052feda in K3b::JobProgressDialog::startJob(K3b::Job*) ()
#51 0x00000000004627d9 in K3b::ImageWritingDialog::slotStartClicked() ()
#52 0x000000000053c695 in K3b::InteractionDialog::slotStartClickedInternal() ()
#53 0x000000000053ce92 in K3b::InteractionDialog::qt_metacall(QMetaObject::Call, int, void**) ()
#54 0x0000000000463f55 in K3b::ImageWritingDialog::qt_metacall(QMetaObject::Call, int, void**) ()
#55 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#56 0x00007f08785c5617 in QAbstractButton::clicked(bool) () from /usr/lib64/libQtGui.so.4
#57 0x00007f0878349aab in ?? () from /usr/lib64/libQtGui.so.4
#58 0x00007f087834b622 in ?? () from /usr/lib64/libQtGui.so.4
#59 0x00007f087834b875 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#60 0x00007f08780927a9 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#61 0x00007f08780401bd in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#62 0x00007f08780487fa in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#63 0x00007f087cc57d6b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#64 0x00007f087d7a6091 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#65 0x00007f0878047b98 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib64/libQtGui.so.4
#66 0x00007f08780ac059 in ?? () from /usr/lib64/libQtGui.so.4
#67 0x00007f08780aaa77 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#68 0x00007f08780d1214 in ?? () from /usr/lib64/libQtGui.so.4
#69 0x00007f087464f0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#70 0x00007f08746528cd in ?? () from /usr/lib64/libglib-2.0.so.0
#71 0x00007f0874652a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#72 0x00007f087d7ce4ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#73 0x00007f08780d09bf in ?? () from /usr/lib64/libQtGui.so.4
#74 0x00007f087d7a49a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#75 0x00007f087d7a4b2d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#76 0x00007f0878458175 in QDialog::exec() () from /usr/lib64/libQtGui.so.4
#77 0x000000000051c4bb in K3b::MainWindow::slotWriteImage() ()
#78 0x00000000005248dd in K3b::MainWindow::qt_metacall(QMetaObject::Call, int, void**) ()
#79 0x00007f087d7ba454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#80 0x00007f087803a527 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#81 0x00007f087803acf0 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#82 0x00007f08783d231d in ?? () from /usr/lib64/libQtGui.so.4
#83 0x00007f087cd0ca51 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#84 0x00007f08780927a9 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#85 0x00007f08783d4afb in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#86 0x00007f08780401bd in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#87 0x00007f08780487fa in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#88 0x00007f087cc57d6b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#89 0x00007f087d7a6091 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#90 0x00007f0878047b98 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib64/libQtGui.so.4
#91 0x00007f08780ac214 in ?? () from /usr/lib64/libQtGui.so.4
#92 0x00007f08780aaa77 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#93 0x00007f08780d1214 in ?? () from /usr/lib64/libQtGui.so.4
#94 0x00007f087464f0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#95 0x00007f08746528cd in ?? () from /usr/lib64/libglib-2.0.so.0
#96 0x00007f0874652a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#97 0x00007f087d7ce4ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#98 0x00007f08780d09bf in ?? () from /usr/lib64/libQtGui.so.4
#99 0x00007f087d7a49a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#100 0x00007f087d7a4b2d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#101 0x00007f087d7a6ffd in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#102 0x0000000000526f57 in main ()
Comment 2 MD 2009-05-10 04:59:39 UTC
I have new additional information.  I *can* burn multiple qty non-ISO images (create discs with lots of files) without crashing.  I have also tested > 1 qty ISO images again, and it still crashes every time.
Comment 3 Sebastian Trueg 2009-05-26 19:03:10 UTC
SVN commit 973242 by trueg:

* iso image writing job cleanup
* Do not delete the writing job directly after it emitted the finished signal (some cleanup needs to be done)

This finally fixes
BUG: 191627


 M  +2 -2      CMakeLists.txt  
 M  +70 -63    libk3b/jobs/k3biso9660imagewritingjob.cpp  
 M  +1 -20     libk3b/jobs/k3biso9660imagewritingjob.h  
 M  +1 -2      libk3b/jobs/k3bmetawriter.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=973242