Bug 341892

Summary: Crash when trying to add files to multisession DVD
Product: [Applications] k3b Reporter: Michal Papis <mpapis>
Component: generalAssignee: k3b developers <k3b>
Status: REPORTED ---    
Severity: crash CC: andrej.programiranje, bugrprt21882, michalm, trueg
Priority: NOR Keywords: drkonqi
Version: 2.0.80   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Michal Papis 2014-12-14 19:17:16 UTC
Application: k3b (2.0.80)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.17.1-1.g5c4d099-desktop x86_64
Distribution: "openSUSE 20141107 (Harlequin) (x86_64)"

-- Information about the crash:
Trying to burn set of files/dirs, failed already few times, it crashes in different areas on buffers and syncing.

The last time failed to write anything except header to the disk, K3b sees it and allows me to continue the session, so I add the files, tell it to replace existing files (as nothing was written), I also tell it to add symbolic links (there is one relative link in the files), it then crashes near the end of adding files.

No custom settings but the system was upgraded few times so might have some old settings - if there were any.

The crash can be reproduced every time.

-- Backtrace:
Application: K3b (k3b), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f35a7f8b900 (LWP 11428))]

Thread 3 (Thread 0x7f358b270700 (LWP 11429)):
#0  0x00007f35a18024ad in poll () at /lib64/libc.so.6
#1  0x00007f359bdbabe4 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f359bdbacec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f35a2eb90de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#4  0x00007f35a2e8ae6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#5  0x00007f35a2e8b165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#6  0x00007f35a2d880bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#7  0x00007f35a2e6c783 in  () at /usr/lib64/libQtCore.so.4
#8  0x00007f35a2d8a79f in  () at /usr/lib64/libQtCore.so.4
#9  0x00007f35a15123a4 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f35a180aa4d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f357e22c700 (LWP 11490)):
#0  0x00007f35a1516c08 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f35a2d893ba in  () at /usr/lib64/libQtCore.so.4
#2  0x00007f35a2d89b46 in QThread::sleep(unsigned long) () at /usr/lib64/libQtCore.so.4
#3  0x00007f35a78c1aa5 in K3b::MediaCache::PollThread::run() () at /usr/lib64/libk3blib.so.6
#4  0x00007f35a2d8a79f in  () at /usr/lib64/libQtCore.so.4
#5  0x00007f35a15123a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f35a180aa4d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f35a7f8b900 (LWP 11428)):
[KCrash Handler]
#5  0x00007f35a793d250 in K3b::DataItem::isFromOldSession() const () at /usr/lib64/libk3blib.so.6
#6  0x00007f35a79356cb in K3b::DataDoc::endInsertItems(K3b::DirItem*, int, int) () at /usr/lib64/libk3blib.so.6
#7  0x00007f35a793f148 in K3b::DirItem::addDataItems(QList<K3b::DataItem*> const&) () at /usr/lib64/libk3blib.so.6
#8  0x00000000004bd785 in _start ()

Reported using DrKonqi
Comment 1 Don Curtis 2016-12-22 10:10:17 UTC
Created attachment 102940 [details]
New crash information added by DrKonqi

k3b (2.0.80) on KDE Platform 4.14.9 using Qt 4.8.6

- What I was doing when the application crashed:
Replacing existing files on the DVD-RW with newer versions.

-- Backtrace (Reduced):
#5  0x00007fa09c294180 in K3b::DataItem::isFromOldSession() const () at /usr/lib64/libk3blib.so.6
#6  0x00007fa09c28c5fb in K3b::DataDoc::endInsertItems(K3b::DirItem*, int, int) () at /usr/lib64/libk3blib.so.6
#7  0x00007fa09c296078 in K3b::DirItem::addDataItems(QList<K3b::DataItem*> const&) () at /usr/lib64/libk3blib.so.6
#8  0x00000000004bd735 in _start ()
Comment 2 Justin Zobel 2020-12-17 05:25:18 UTC
Thank you for the crash report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 3 Don Curtis 2020-12-17 11:19:22 UTC
Created attachment 134143 [details]
New crash information added by DrKonqi

k3b (20.04.2) using Qt 5.12.7

- What I was doing when the application crashed:

Testing as requested in the Bug Report - new fresh DVD-RW - wrote some files to it - opened the session again and, attempted to overwrite one of the files on the DVD-RW.

Differences to the report made in 2016 – now using new hardware (not surprising) . . .

openSUSE Leap 15.2.
 > k3b --version
k3b 20.04.2
 > plasmashell --version
plasmashell 5.18.6
 > kf5-config --version
Qt: 5.12.7
KDE Frameworks: 5.71.0
kf5-config: 1.0
 > inxi --optical
Drives:    Local Storage: total: 5.11 TiB used: 295.22 GiB (5.6%) 
           ID-1: /dev/sda vendor: Intenso model: SSD Sata III size: 111.79 GiB 
           ID-2: /dev/sdb vendor: Western Digital model: WD10EZEX-60M2NA0 size: 931.51 GiB 
           ID-3: /dev/sdc vendor: Western Digital model: WD40EZRZ-22GXCB0 size: 3.64 TiB 
           ID-4: /dev/sdd vendor: Seagate model: ST3500418AS size: 465.76 GiB 
           Optical-1: /dev/sr0 vendor: ASUS model: DRW-24D5MT dev-links: cdrom,cdrw,dvd,dvdrw 
           Features: speed: 12 multisession: yes audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r,dvd-ram 
           Optical-2: /dev/sr1 vendor: TSSTcorp model: CDDVDW SH-224DB dev-links: N/A 
           Features: speed: 48 multisession: yes audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r,dvd-ram 
 > 

DVD-RW is in my shiny new drive Optical-1: /dev/sr0.

-- Backtrace (Reduced):
#4  QFlags<K3b::DataItem::ItemFlag>::operator& (other=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qflags.h:145
#5  K3b::DataItem::isFromOldSession (this=this@entry=0xb) at /usr/src/debug/k3b-20.04.2-lp152.1.1.x86_64/libk3b/projects/datacd/k3bdataitem.cpp:110
#6  0x00007f0de2cb8fc0 in K3b::DataDoc::endInsertItems (this=0x55d8793665d0, parent=parent@entry=0x55d87959b470, start=start@entry=5, end=end@entry=5) at /usr/src/debug/k3b-20.04.2-lp152.1.1.x86_64/libk3b/projects/datacd/k3bdatadoc.cpp:977
#7  0x00007f0de2cc0cc7 in K3b::DirItem::addDataItems (this=this@entry=0x55d87959b470, items=...) at /usr/src/debug/k3b-20.04.2-lp152.1.1.x86_64/libk3b/projects/datacd/k3bdiritem.cpp:148
#8  0x000055d87720e446 in K3b::DataUrlAddingDialog::slotAddUrls (this=this@entry=0x55d878b13420) at /usr/src/debug/k3b-20.04.2-lp152.1.1.x86_64/src/projects/k3bdataurladdingdialog.cpp:538
Comment 4 Don Curtis 2020-12-17 11:23:54 UTC
Forgot to add my usual crash header:

K3b (k3b), signal: Segmentation fault - K3b::DataItem::isFromOldSession()

-------------------------------------------------------------------------

Let's be honest with each other - segmentation faults do not happen at all if the pointers in the code never point to memory regions which either do not exist or, are not allowed to be written to by the executing process . . .
Comment 5 Andrej M. 2020-12-29 17:20:03 UTC
Dear maintainers,

same bug here. Crashes with segfault immediately after confirming existing file overwrite.

Manjaro
K3b 20.08.3
plasmashell 5.20.4
Qt: 5.15.2
KDE Frameworks: 5.76.0
kf5-config: 1.0

Best regards,
Andrej
Comment 6 Christoph Feck 2020-12-29 18:10:17 UTC
Andrej, that's bug 430374, and not related.
Comment 7 Andrej M. 2020-12-29 18:57:29 UTC
Hello,

no, I'm talking about k3b. If I continue a session and pull a already existing file onto it, a dialog pops up. If i select replace, k3b segfaults. Basically exactly the same situation as in Comment #3.

Best regards,
Andrej