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

            Bug ID: 479888
           Summary: Ark crashed and corrupted the archive while it was
                    adding new files to it
    Classification: Applications
           Product: ark
           Version: 23.08.4
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: elvis.angelac...@kde.org
          Reporter: coldsili...@disroot.org
                CC: rthoms...@gmail.com
  Target Milestone: ---

Application: ark (23.08.4)

Qt Version: 5.15.12
Frameworks Version: 5.113.0
Operating System: Linux 6.6.10-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.10 [CoredumpBackend]

-- Information about the crash:
I opened a .tar archive via dolphin, it contained another .zip archive into it.
I first opened the .zip archive inside the tar archive and closed it. The zip
archive was opened with ark as well. Then I clicked on "add files" button to
add a .xml file to the .tar archive. Then ark crashed and I noticed that the
original size of TAR archive reduced significantly. It didn't contain files
inside it that were before opening

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Ark (ark), signal: Segmentation fault

           PID: 12111 (ark)
           UID: 1000 (me)
           GID: 1000 (me)
        Signal: 11 (SEGV)
     Timestamp: Tue 2024-01-16 14:39:55 MSK (2min 34s ago)
  Command Line: /usr/bin/ark /run/media/me/75A1840E224E1515/Virtual.tar
    Executable: /usr/bin/ark
 Control Group:
/user.slice/user-1000.slice/user@1000.service/app.slice/app-org.kde.ark-63e2edf9894143f180352b26db3c8561.scope
          Unit: user@1000.service
     User Unit: app-org.kde.ark-63e2edf9894143f180352b26db3c8561.scope
         Slice: user-1000.slice
     Owner UID: 1000 (me)
       Boot ID: 2ccfd64f3f394737af6107ffbd385569
    Machine ID: f70df40a43c744989ac6918a4faa8819
      Hostname: x230-opensuse
       Storage:
/var/lib/systemd/coredump/core.ark.1000.2ccfd64f3f394737af6107ffbd385569.12111.1705405195000000.zst
(present)
  Size on Disk: 5.6M
       Message: Process 12111 (ark) of user 1000 dumped core.

                Stack trace of thread 12111:
                #0  0x00007f72aac91dec __pthread_kill_implementation (libc.so.6
+ 0x91dec)
                #1  0x00007f72aac3f0c6 raise (libc.so.6 + 0x3f0c6)
                #2  0x00007f72ace2bd9a _ZN6KCrash19defaultCrashHandlerEi
(libKF5Crash.so.5 + 0x7d9a)
                #3  0x00007f72aac3f190 __restore_rt (libc.so.6 + 0x3f190)
                #4  0x00007f72ad24f392
_ZNK9Kerfuffle7Archive5Entry4findE11QStringView (libkerfuffle.so.23 + 0x66392)
                #5  0x00007f729ffe3cb3 n/a (arkpart.so + 0x38cb3)
                #6  0x00007f72ab725be2 n/a (libQt5Core.so.5 + 0x325be2)
                #7  0x00007f72ad21d442
_ZN9Kerfuffle3Job8newEntryEPNS_7Archive5EntryE (libkerfuffle.so.23 + 0x34442)
                #8  0x00007f72ad23017b
_ZN9Kerfuffle3Job7onEntryEPNS_7Archive5EntryE (libkerfuffle.so.23 + 0x4717b)
                #9  0x00007f72ab7196f0 _ZN7QObject5eventEP6QEvent
(libQt5Core.so.5 + 0x3196f0)
                #10 0x00007f72ac3a51ae
_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5 +
0x1a51ae)
                #11 0x00007f72ab6ed938
_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 +
0x2ed938)
                #12 0x00007f72ab6f0f31
_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData
(libQt5Core.so.5 + 0x2f0f31)
                #13 0x00007f72ab747063 n/a (libQt5Core.so.5 + 0x347063)
                #14 0x00007f72a9f13f30 n/a (libglib-2.0.so.0 + 0x5bf30)
                #15 0x00007f72a9f15b58 n/a (libglib-2.0.so.0 + 0x5db58)
                #16 0x00007f72a9f1620c g_main_context_iteration
(libglib-2.0.so.0 + 0x5e20c)
                #17 0x00007f72ab746876
_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE
(libQt5Core.so.5 + 0x346876)
                #18 0x00007f72ab6ec3cb
_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 +
0x2ec3cb)
                #19 0x00007f72ab6f4860 _ZN16QCoreApplication4execEv
(libQt5Core.so.5 + 0x2f4860)
                #20 0x000055622cd2cf12 n/a (ark + 0x15f12)
                #21 0x00007f72aac281b0 __libc_start_call_main (libc.so.6 +
0x281b0)
                #22 0x00007f72aac28279 __libc_start_main@@GLIBC_2.34 (libc.so.6
+ 0x28279)
                #23 0x000055622cd2eae5 n/a (ark + 0x17ae5)

                Stack trace of thread 12112:
                #0  0x00007f72aad09d9f __poll (libc.so.6 + 0x109d9f)
                #1  0x00007f72a9f15aff n/a (libglib-2.0.so.0 + 0x5daff)
                #2  0x00007f72a9f1620c g_main_context_iteration
(libglib-2.0.so.0 + 0x5e20c)
                #3  0x00007f72ab74688e
_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE
(libQt5Core.so.5 + 0x34688e)
                #4  0x00007f72ab6ec3cb
_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 +
0x2ec3cb)
                #5  0x00007f72ab50304e _ZN7QThread4execEv (libQt5Core.so.5 +
0x10304e)
                #6  0x00007f72aaec7517 n/a (libQt5DBus.so.5 + 0x1a517)
                #7  0x00007f72ab50427d n/a (libQt5Core.so.5 + 0x10427d)
                #8  0x00007f72aac8ff44 start_thread (libc.so.6 + 0x8ff44)
                #9  0x00007f72aad184ec __clone3 (libc.so.6 + 0x1184ec)

                Stack trace of thread 12116:
                #0  0x00007f72aac8c4ee __futex_abstimed_wait_common (libc.so.6
+ 0x8c4ee)
                #1  0x00007f72aac8f230 pthread_cond_wait@@GLIBC_2.3.2
(libc.so.6 + 0x8f230)
                #2  0x00007f729ded1feb n/a (crocus_dri.so + 0xd1feb)
                #3  0x00007f729df1b8e7 n/a (crocus_dri.so + 0x11b8e7)
                #4  0x00007f72aac8ff44 start_thread (libc.so.6 + 0x8ff44)
                #5  0x00007f72aad184ec __clone3 (libc.so.6 + 0x1184ec)

                Stack trace of thread 12152:
                #0  0x00007f72aad14e31 pselect (libc.so.6 + 0x114e31)
                #1  0x00007f72a8f63b37 n/a (libusbmuxd-2.0.so.6 + 0x4b37)
                #2  0x00007f72a8f647a3 n/a (libusbmuxd-2.0.so.6 + 0x57a3)
                #3  0x00007f72aac8ff44 start_thread (libc.so.6 + 0x8ff44)
                #4  0x00007f72aad184ec __clone3 (libc.so.6 + 0x1184ec)

                Stack trace of thread 12114:
                #0  0x00007f72aac8c4ee __futex_abstimed_wait_common (libc.so.6
+ 0x8c4ee)
                #1  0x00007f72aac8f230 pthread_cond_wait@@GLIBC_2.3.2
(libc.so.6 + 0x8f230)
                #2  0x00007f729ded1feb n/a (crocus_dri.so + 0xd1feb)
                #3  0x00007f729df1b8e7 n/a (crocus_dri.so + 0x11b8e7)
                #4  0x00007f72aac8ff44 start_thread (libc.so.6 + 0x8ff44)
                #5  0x00007f72aad184ec __clone3 (libc.so.6 + 0x1184ec)
                ELF object binary architecture: AMD x86-64

[New LWP 12111]
[New LWP 12112]
[New LWP 12116]
[New LWP 12152]
[New LWP 12114]

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.opensuse.org/>
Enable debuginfod for this session? (y or [n]) [answered N; input not from
terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/ark
/run/media/me/75A1840E224E1515/Virtual.tar'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f72aac91dec in __pthread_kill_implementation () from
/lib64/libc.so.6
[Current thread is 1 (Thread 0x7f72a8633a00 (LWP 12111))]
[Current thread is 1 (Thread 0x7f72a8633a00 (LWP 12111))]

Thread 5 (Thread 0x7f729dcbe6c0 (LWP 12114)):
#0  0x00007f72aac8c4ee in __futex_abstimed_wait_common () at /lib64/libc.so.6
#1  0x00007f72aac8f230 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#2  0x00007f729ded1feb in  () at /usr/lib64/dri/crocus_dri.so
#3  0x00007f729df1b8e7 in  () at /usr/lib64/dri/crocus_dri.so
#4  0x00007f72aac8ff44 in start_thread () at /lib64/libc.so.6
#5  0x00007f72aad184ec in clone3 () at /lib64/libc.so.6

Thread 4 (Thread 0x7f7288bfb6c0 (LWP 12152)):
#0  0x00007f72aad14e31 in pselect () at /lib64/libc.so.6
#1  0x00007f72a8f63b37 in  () at /lib64/libusbmuxd-2.0.so.6
#2  0x00007f72a8f647a3 in  () at /lib64/libusbmuxd-2.0.so.6
#3  0x00007f72aac8ff44 in start_thread () at /lib64/libc.so.6
#4  0x00007f72aad184ec in clone3 () at /lib64/libc.so.6

Thread 3 (Thread 0x7f729d4bd6c0 (LWP 12116)):
#0  0x00007f72aac8c4ee in __futex_abstimed_wait_common () at /lib64/libc.so.6
#1  0x00007f72aac8f230 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#2  0x00007f729ded1feb in  () at /usr/lib64/dri/crocus_dri.so
#3  0x00007f729df1b8e7 in  () at /usr/lib64/dri/crocus_dri.so
#4  0x00007f72aac8ff44 in start_thread () at /lib64/libc.so.6
#5  0x00007f72aad184ec in clone3 () at /lib64/libc.so.6

Thread 2 (Thread 0x7f72a60836c0 (LWP 12112)):
#0  0x00007f72aad09d9f in poll () at /lib64/libc.so.6
#1  0x00007f72a9f15aff in  () at /lib64/libglib-2.0.so.0
#2  0x00007f72a9f1620c in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#3  0x00007f72ab74688e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f72a0000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f72ab6ec3cb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f72a6082b50, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#5  0x00007f72ab50304e in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f72aaec7517 in  () at /lib64/libQt5DBus.so.5
#7  0x00007f72ab50427d in operator() (__closure=<optimized out>) at
thread/qthread_unix.cpp:350
#8  (anonymous
namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >
(t=<optimized out>) at thread/qthread_unix.cpp:287
#9  QThreadPrivate::start(void*) (arg=0x7f72aaf40060) at
thread/qthread_unix.cpp:310
#10 0x00007f72aac8ff44 in start_thread () at /lib64/libc.so.6
#11 0x00007f72aad184ec in clone3 () at /lib64/libc.so.6

Thread 1 (Thread 0x7f72a8633a00 (LWP 12111)):
[KCrash Handler]
#4  QArrayData::data() const (this=0x310066) at
/usr/include/qt5/QtCore/qarraydata.h:68
#5  QTypedArrayData<Kerfuffle::Archive::Entry*>::data() const (this=0x310066)
at /usr/include/qt5/QtCore/qarraydata.h:209
#6 
QTypedArrayData<Kerfuffle::Archive::Entry*>::constBegin(QTypedArrayData<Kerfuffle::Archive::Entry*>::const_iterator)
const (this=0x310066) at /usr/include/qt5/QtCore/qarraydata.h:215
#7 
QVector<Kerfuffle::Archive::Entry*>::begin(QTypedArrayData<Kerfuffle::Archive::Entry*>::const_iterator)
const (this=0x55622e4ac9f0) at /usr/include/qt5/QtCore/qvector.h:220
#8  Kerfuffle::Archive::Entry::find(QStringView) const
(this=this@entry=0x55622e4ac9d0, name=...) at
/usr/src/debug/ark-23.08.4/kerfuffle/archiveentry.cpp:182
#9  0x00007f729ffe3cb3 in ArchiveModel::newEntry(Kerfuffle::Archive::Entry*,
ArchiveModel::InsertBehaviour) (this=<optimized out>, receivedEntry=<optimized
out>, behaviour=<optimized out>) at /usr/include/qt5/QtCore/qstringview.h:162
#10 0x00007f72ab725be2 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffdef88e320, r=0x55622df45fe0, this=0x55622eaa3d90) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false>(QObject*, int, void**) (sender=0x55622ea79870,
signal_index=24, argv=0x7ffdef88e320) at kernel/qobject.cpp:3925
#12 0x00007f72ab71e84f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=<optimized out>, m=m@entry=0x7f72ad2723a0,
local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffdef88e320)
at kernel/qobject.cpp:3985
#13 0x00007f72ad21d442 in Kerfuffle::Job::newEntry(Kerfuffle::Archive::Entry*)
(this=<optimized out>, _t1=<optimized out>) at
/usr/src/debug/ark-23.08.4/build/kerfuffle/kerfuffle_autogen/EWIEGA46WW/moc_jobs.cpp:235
#14 0x00007f72ad23017b in Kerfuffle::Job::onEntry(Kerfuffle::Archive::Entry*)
(this=0x55622ea79870, entry=0x7f724803b550) at
/usr/src/debug/ark-23.08.4/kerfuffle/jobs.cpp:173
#15 0x00007f72ab7196f0 in QObject::event(QEvent*) (this=0x55622ea79870,
e=0x7f724803b6b0) at kernel/qobject.cpp:1347
#16 0x00007f72ac3a51ae in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55622ea79870, e=0x7f724803b6b0) at
kernel/qapplication.cpp:3640
#17 0x00007f72ab6ed938 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55622ea79870, event=0x7f724803b6b0) at
kernel/qcoreapplication.cpp:1064
#18 0x00007f72ab6edafe in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#19 0x00007f72ab6f0f31 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55622dc22030) at
kernel/qcoreapplication.cpp:1821
#20 0x00007f72ab6f1478 in QCoreApplication::sendPostedEvents(QObject*, int)
(receiver=<optimized out>, event_type=<optimized out>) at
kernel/qcoreapplication.cpp:1680
#21 0x00007f72ab747063 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55622dd1ac40) at kernel/qeventdispatcher_glib.cpp:277
#22 0x00007f72a9f13f30 in  () at /lib64/libglib-2.0.so.0
#23 0x00007f72a9f15b58 in  () at /lib64/libglib-2.0.so.0
#24 0x00007f72a9f1620c in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#25 0x00007f72ab746876 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55622dd1d9f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#26 0x00007f72ab6ec3cb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffdef88e780, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#27 0x00007f72ab6f4860 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#28 0x000055622cd2cf12 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at /usr/src/debug/ark-23.08.4/app/main.cpp:341

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to