Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#63791 - [k3b] segfault when adding big files to data project

Attached to Project: Arch Linux
Opened by fuan_k (fuan_k) - Monday, 16 September 2019, 15:36 GMT
Last edited by Antonio Rojas (arojas) - Tuesday, 17 September 2019, 06:16 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

k3b segfaults when adding a a big file (around 25GB) to a data project. Small files are fine.

Backtrace in gdb (gef formatting):

```
(K3b::DataUrlAddingDialog) using locale codec: UTF-8
K3b::Iso9660::openArchive no volume descriptors

Thread 1 "k3b" received signal SIGSEGV, Segmentation fault.
0x00007ffff7e00830 in K3b::ExternalBin::hasFeature(QString const&) const () from /usr/lib/libk3blib.so.7
───────────────────────────────────────── registers ────
$rax : 0x0000555555d174e0 → 0x0000000c00000001
$rbx : 0x00007fffffffdac0 → 0x00007fffe400afc0 → 0x0000000700000001
$rcx : 0x0
$rdx : 0x74
$rsp : 0x00007fffffffd898 → 0x00005555556db1f9 → mov rdi, QWORD PTR [rsp+0x230]
$rbp : 0x0000555555a1e070 → 0x00005555557a8130 → 0x00005555555c4580 → mov rdi, QWORD PTR [rdi+0x8]
$rsi : 0x00007fffffffdad0 → 0x0000555555d174e0 → 0x0000000c00000001
$rdi : 0x0
$rip : 0x00007ffff7e00830 → <K3b::ExternalBin::hasFeature(QString+0> mov rdi, QWORD PTR [rdi+0x8]
$r8 : 0x0000555555d17510 → 0x0000555500000000
$r9 : 0x000055555576394d → 0x655200203e2d2000
$r10 : 0x8
$r11 : 0x2
$r12 : 0x8000
$r13 : 0x0000555555a1e0c8 → 0x0000555555e625c0 → 0x0000000200000001
$r14 : 0x0
$r15 : 0x0
$eflags: [zero carry PARITY adjust sign trap INTERRUPT direction overflow RESUME virtualx86 identification]
$cs: 0x0033 $ss: 0x002b $ds: 0x0000 $es: 0x0000 $fs: 0x0000 $gs: 0x0000
───────────────────────────────────────────── stack ────
0x00007fffffffd898│+0x0000: 0x00005555556db1f9 → mov rdi, QWORD PTR [rsp+0x230] ← $rsp
0x00007fffffffd8a0│+0x0008: 0x0000000000000068 ("h"?)
0x00007fffffffd8a8│+0x0010: 0x0000555555f5a801 → 0x0000000000000000
0x00007fffffffd8b0│+0x0018: 0x00007fffe4008100 → 0x00007ffff7f7eb48 → 0x00007ffff7eccab0 → lea rax, [rip+0xb2091] # 0x7ffff7f7eb48
0x00007fffffffd8b8│+0x0020: 0x00007fffffffdad0 → 0x0000555555d174e0 → 0x0000000c00000001
0x00007fffffffd8c0│+0x0028: 0x00007fffffffd9a8 → 0x0000555555e6d790 → 0xffffffff00000004
0x00007fffffffd8c8│+0x0030: 0x00007fffffffd9b0 → 0x0000555555fc6990 → 0x0000555500000001
0x00007fffffffd8d0│+0x0038: 0x0000000000000000
─────────────────────────────────────── code:x86:64 ────
0x7ffff7e00826 <K3b::ExternalBin::path()+0> ror BYTE PTR [rax], 0xc3
0x7ffff7e00829 nop
0x7ffff7e0082a nop WORD PTR [rax+rax*1+0x0]
→ 0x7ffff7e00830 <K3b::ExternalBin::hasFeature(QString+0> mov rdi, QWORD PTR [rdi+0x8]
0x7ffff7e00834 <K3b::ExternalBin::hasFeature(QString+0> mov edx, 0x1
0x7ffff7e00839 <K3b::ExternalBin::hasFeature(QString+0> add rdi, 0x28
0x7ffff7e0083d <K3b::ExternalBin::hasFeature(QString+0> jmp QWORD PTR [rip+0x17f9cd] # 0x7ffff7f80210
0x7ffff7e00843 nop
0x7ffff7e00844 data16 nop WORD PTR cs:[rax+rax*1+0x0]
────────────────────────────────── threads ────────────
[#0] Id 1, Name: "k3b", stopped, reason: SIGSEGV
[#1] Id 2, Name: "QXcbEventQueue", stopped, reason: SIGSEGV
[#2] Id 3, Name: "QDBusConnection", stopped, reason: SIGSEGV
──────────────────────────────────── trace ────────────
[#0] 0x7ffff7e00830 → K3b::ExternalBin::hasFeature(QString const&) const()
[#1] 0x5555556db1f9 → mov rdi, QWORD PTR [rsp+0x230]
[#2] 0x5555556dca22 → mov rax, QWORD PTR [rbp+0x58]
[#3] 0x7ffff608344a → QObject::event(QEvent*)()
[#4] 0x7ffff6a5408b → QWidget::event(QEvent*)()
[#5] 0x7ffff6a104f5 → QApplicationPrivate::notify_helper(QObject*, QEvent*)()
[#6] 0x7ffff6a19e11 → QApplication::notify(QObject*, QEvent*)()
[#7] 0x7ffff60569c2 → QCoreApplication::notifyInternal2(QObject*, QEvent*)()
[#8] 0x7ffff6059739 → QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)()
[#9] 0x7ffff60af404 → mov rdi, QWORD PTR [rbx+0x68]

───────────────────────────────────────────────────────
gef➤ bt
#0 0x00007ffff7e00830 in K3b::ExternalBin::hasFeature(QString const&) const () at /usr/lib/libk3blib.so.7
#1 0x00005555556db1f9 in ()
#2 0x00005555556dca22 in ()
#3 0x00007ffff608344a in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#4 0x00007ffff6a5408b in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#5 0x00007ffff6a104f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#6 0x00007ffff6a19e11 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#7 0x00007ffff60569c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#8 0x00007ffff6059739 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#9 0x00007ffff60af404 in () at /usr/lib/libQt5Core.so.5
#10 0x00007ffff021a3ae in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#11 0x00007ffff021c1c1 in () at /usr/lib/libglib-2.0.so.0
#12 0x00007ffff021c201 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#13 0x00007ffff60aea03 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#14 0x00007ffff60554ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff605d326 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x00005555555c3780 in ()
#17 0x00007ffff5a3fee3 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x00005555555c39fe in _start ()
```


Additional info:
* package version: 19.08.1-1
* link to upstream bug report: https://bugs.kde.org/show_bug.cgi?id=411969

Steps to reproduce:
1. create a file of around 25GB with `fallocate -l 24864 testfile` or `dd if=/dev/zero of=testfile bs=1MB count=24846`
2. create a new data project in k3b
3. add the testfile to the project
This task depends upon

Closed by  Antonio Rojas (arojas)
Tuesday, 17 September 2019, 06:16 GMT
Reason for closing:  Fixed
Additional comments about closing:  k3b 19.08.1-2

Loading...