k3b copy protected dvd to iso only causes crash sigsegv

Bug #38113 reported by pat.pannuto
12
Affects Status Importance Assigned to Milestone
k3b (Ubuntu)
Fix Released
Medium
Kenny Duffus

Bug Description

When trying to make a backup copy of a copy protected dvd (The Elegant Universe -- The Nova series on string theorey), K3b crashes and returns a sigsegv.

Specifically:

Open K3b
Click on the Tools Menu --> Copy DVD.
Only change two options:
   (1) Check "Only create image".
   (2) Change destination path ~/movies/Elegant_Universe/ (This directory already exists).
Click Start
CRASH

All of the necessary css packages are installed, and I backed up the disks successfully using:

dd if=/dev/hdc of=Disc1.iso

Which isn't exactly the same thing, but it worked.

SYSTEM SPECS:

Running Ubuntu Dapper Drake 6.06

Two Optical Drives: (as identified by K3b)
SONY - DVD RW DW-D22A <-- hdc
SONY - DVD-ROW DDU1613 <-- hdd

BACKTRACE: (gaps indicate large expanses of "no debugging symbols found")

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

[Thread debugging using libthread_db enabled]
[New Thread -1234475328 (LWP 9185)]
[New Thread -1242489936 (LWP 9264)]

0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6964c76 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb6ea3a8f in QThread::wait () from /usr/lib/libqt-mt.so.3
#3 0xb7e0c9e3 in K3bThread::waitUntilFinished () from /usr/lib/libk3b.so.2
#4 0x0808cae6 in QValueListPrivate<QString>::QValueListPrivate ()
#5 0xb6f16f56 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#6 0xb6f178c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#7 0xb7577f26 in KApplication::shutDown () from /usr/lib/libkdecore.so.4
#8 0xb7577fd0 in KApplication::xioErrhandler () from /usr/lib/libkdecore.so.4
#9 0xb757801d in KApplication::xioErrhandler () from /usr/lib/libkdecore.so.4
#10 0xb69f0cb7 in _XIOError () from /usr/lib/libX11.so.6
#11 0xb69f20f6 in _XError () from /usr/lib/libX11.so.6
#12 0xb69f331e in _XEventsQueued () from /usr/lib/libX11.so.6
#13 0xb69dfb58 in XPending () from /usr/lib/libX11.so.6
#14 0xb6e514b3 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#15 0xb6ec58b7 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#16 0x080ad3fd in QMemArray<char>::detach ()
#17 0x081e1cc6 in K3bDvdCopyDialog::staticMetaObject ()
#18 0x080bba2f in QMap<int, int>::operator[] ()
#19 0x081df90f in K3bDvdCopyDialog::staticMetaObject ()
#20 0xb6f16e29 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#21 0xb6f178c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#22 0xb72b289f in QButton::clicked () from /usr/lib/libqt-mt.so.3
#23 0xb6fb246a in QButton::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#24 0xb6f515fd in QWidget::event () from /usr/lib/libqt-mt.so.3
#25 0xb6eacdc6 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#26 0xb6ead350 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#27 0xb7631ced in KApplication::notify () from /usr/lib/libkdecore.so.4
#28 0xb6e3e15d in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#29 0xb6e3980b in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#30 0xb6e37cf1 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#31 0xb6e51473 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#32 0xb6ec58b7 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#33 0x080b9dbf in QMap<int, int>::operator[] ()
#34 0x08098275 in QValueList<int>::detachInternal ()
#35 0x0809f6cd in QValueList<int>::detachInternal ()
#36 0xb6f16e29 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#37 0xb6f178c4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#38 0xb7827bd7 in KAction::activated () from /usr/lib/libkdeui.so.4
#39 0xb785d9a4 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#40 0xb78790d6 in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4
#41 0xb787938b in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#42 0xb6f16e29 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#43 0xb72a9e1a in QSignal::signal () from /usr/lib/libqt-mt.so.3
#44 0xb6f345a0 in QSignal::activate () from /usr/lib/libqt-mt.so.3
#45 0xb703bebd in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#46 0xb783381b in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4
#47 0xb6f515fd in QWidget::event () from /usr/lib/libqt-mt.so.3
#48 0xb6eacdc6 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#49 0xb6ead350 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#50 0xb7631ced in KApplication::notify () from /usr/lib/libkdecore.so.4
#51 0xb6e3e15d in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#52 0xb6e39558 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#53 0xb6e37cf1 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#54 0xb6e51473 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#55 0xb6ec58b7 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#56 0xb6ec57da in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#57 0xb6eab8d5 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#58 0x0809fdf6 in QPtrList<K3bPlugin>::~QPtrList ()
#59 0xb66eaea2 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#60 0x080870f1 in ?? ()

Changed in k3b:
assignee: nobody → kubuntu-team
Revision history for this message
pat.pannuto (ppannuto) wrote : An strace log ( strace -o k3b.strace k3b )

The attached file is an strace of the crash. This time, I used a different DVD (Chicago).

Revision history for this message
pat.pannuto (ppannuto) wrote : the REAL strace (k3b forks: strace -o k3b.strace2 k3b --nofork )

Apologizes about the last attachment, I didn't realize that k3b forks (strace lost track of it). This a "real" strace:

strace -o k3b.strace2 k3b --nofork

Revision history for this message
John Dong (jdong) wrote :

I have reproduced the crash. It only happens with dual layer DVD's using the Copy DVD dialog. The progress dialog shows up for about 1 second and then it crashes.

Clarify:

It does NOT happen on:
Copying CD's
Copying single layer DVD's

It does happen ONLY with copying dual-layer DVD's.

Revision history for this message
John Dong (jdong) wrote :

The crash appears related to CSS -- the copy crashes on the "Retrieving CSS Keys" step, trace:

#0 0x4b21c606 in dvdcss_read () from /usr/lib/libk3b.so.2
#1 0x08580bf8 in ?? ()
#2 0x08580bf8 in ?? ()
#3 0xb7062138 in ?? ()
#4 0xb706188c in ?? ()
#5 0xb71790ec in ?? () from /usr/lib/libdvdcss.so.2
#6 0x00000000 in ?? ()

Revision history for this message
John Dong (jdong) wrote :

Ok, this is a duplicate of http://bugs.kde.org/show_bug.cgi?id=117730

The problem is that our DVD drives are not region set, which causes libdvdcss to crap out... Using the regionset package to set my DVD player to region 1 fixed this problem.

Revision history for this message
pat.pannuto (ppannuto) wrote :

This solved the problem for me also. Thanks for all your help!

Revision history for this message
John Dong (jdong) wrote :

Segfaulting is an unacceptable way of letting users know their DVD players are not region set. What is responsible for the segfault? K3b? libdvdcss2?

Revision history for this message
Kenny Duffus (kduffus) wrote :

is this bug still present in up to date dapper or edgy?

Changed in k3b:
assignee: kubuntu-team → kduffus
status: Unconfirmed → Needs Info
Revision history for this message
Kenny Duffus (kduffus) wrote :

it is claimed to be fixed in upstream

Revision history for this message
Kenny Duffus (kduffus) wrote :

this is no longer present in 0.12.17, tested with region 2 "encrypted" dual layer dvd on a device set to region 2 and another device with no region set and they both succeeded

Changed in k3b:
status: Needs Info → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.