[k3b] [Bug 411969] New: SIGSEV when adding big file

JKFRT bugzilla_noreply at kde.org
Mon Sep 16 14:26:01 BST 2019


https://bugs.kde.org/show_bug.cgi?id=411969

            Bug ID: 411969
           Summary: SIGSEV when adding big file
           Product: k3b
           Version: 19.08.0
          Platform: Archlinux Packages
                OS: Linux
            Status: REPORTED
          Severity: critical
          Priority: NOR
         Component: general
          Assignee: k3b at kde.org
          Reporter: greob at yahoo.com.sg
                CC: michalm at jabster.pl, trueg at kde.org
  Target Milestone: ---

SUMMARY

k3b segfaults when adding a big file to a data project

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

OBSERVED RESULT

Segfault.

backtrace in gdb:
(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   : 0x0000555555dde940  →  0x0000000c00000001
$rbx   : 0x00007fffffffdb70  →  0x0000555555dc42e0  →  0x0000000700000001
$rcx   : 0x0               
$rdx   : 0x74              
$rsp   : 0x00007fffffffd948  →  0x00005555556db1f9  →   mov rdi, QWORD PTR
[rsp+0x230]
$rbp   : 0x0000555555faf0b0  →  0x00005555557a8130  →  0x00005555555c4580  →  
mov rdi, QWORD PTR [rdi+0x8]
$rsi   : 0x00007fffffffdb80  →  0x0000555555dde940  →  0x0000000c00000001
$rdi   : 0x0               
$rip   : 0x00007ffff7e00830  →  <K3b::ExternalBin::hasFeature(QString+0> mov
rdi, QWORD PTR [rdi+0x8]
$r8    : 0x0000555555dde970  →  0x0000000200000000
$r9    : 0x000055555576394d  →  0x655200203e2d2000
$r10   : 0x8               
$r11   : 0x2               
$r12   : 0x8000            
$r13   : 0x0000555555faf108  →  0x0000555555f25110  →  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 ────
0x00007fffffffd948│+0x0000: 0x00005555556db1f9  →   mov rdi, QWORD PTR
[rsp+0x230]       ← $rsp
0x00007fffffffd950│+0x0008: 0x0000000000000068 ("h"?)
0x00007fffffffd958│+0x0010: 0x0000555555fac901  →  0x0000000073007200
0x00007fffffffd960│+0x0018: 0x00007fffe4007760  →  0x00007ffff7f7eb48  → 
0x00007ffff7eccab0  →   lea rax, [rip+0xb2091]        # 0x7ffff7f7eb48
0x00007fffffffd968│+0x0020: 0x00007fffffffdb80  →  0x0000555555dde940  → 
0x0000000c00000001
0x00007fffffffd970│+0x0028: 0x00007fffffffda58  →  0x0000555555ee2b90  → 
0xffffffff00000004
0x00007fffffffd978│+0x0030: 0x00007fffffffda60  →  0x0000555555dde850  → 
0x0000555500000001
0x00007fffffffd980│+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

[#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 ()



EXPECTED RESULT

big file is added to project. No crash.

SOFTWARE/OS VERSIONS
Linux: Arch Linux
(available in About System)
KDE Frameworks Version: 5.62.0
Qt Version: 5.13.1 (built against 5.13.1)

ADDITIONAL INFORMATION

This used to work fine before.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the k3b mailing list