Bug 497268 - trash crash kioworker in TrashSizeCache::getTrashFileInfo
Summary: trash crash kioworker in TrashSizeCache::getTrashFileInfo
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: Trash (show other bugs)
Version: 6.9.0
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords: drkonqi
: 500507 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-12-10 10:06 UTC by Anton K
Modified: 2025-02-21 21:47 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.11
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/4685/events/33fe5a54c07b44b7bb338b877555fa2d/


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton K 2024-12-10 10:06:04 UTC
Application: kioworker (6.8.0)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.0
Frameworks Version: 6.8.0
Operating System: Linux 6.9.9-060909-generic x86_64
Windowing System: Wayland
Distribution: KDE neon 6.2
DrKonqi: 6.2.3 [CoredumpBackend]

-- Information about the crash:
Operating System: KDE neon 6.2
KDE Plasma Version: 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Kernel Version: 6.9.9-060909-generic (64-bit)
Graphics Platform: Wayland

lsb_release -a:

Distributor ID: Neon
Description:    KDE neon 6.2
Release:        24.04
Codename:       noble


kinoworker crashed when deleting files to the trash, and sometimes when opening the trash (this report was made after opening the trash

The crash can be reproduced sometimes.

-- Backtrace:
Application: kioworker (kioworker), signal: Aborted

[New LWP 76705]
[New LWP 76757]

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.neon.kde.org/>
  <https://debuginfod.ubuntu.com/>
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.

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libQt6Core.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libQt6Network.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6I18n.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6Service.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6AuthCore.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libQt6Xml.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6ConfigCore.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6CoreAddons.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libQt6DBus.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libglib-2.0.so.0

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlidec.so.1

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libproxy.so.1

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libQt6Gui.so.6

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libcap.so.2

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlicommon.so.1

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgobject-2.0.so.0

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/liblber.so.2

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgmodule-2.0.so.0

warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libKF6Solid.so.6
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/lib/x86_64-linux-gnu/libexec/kf6/kioworker /usr/lib/x86_64-linux-gnu/qt6/plugi'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44

warning: 44	./nptl/pthread_kill.c: No such file or directory
[Current thread is 1 (Thread 0x71e7028cfd00 (LWP 76705))]
Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:516: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:533: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x71e7028cfd00 (LWP 76705))]

Thread 2 (Thread 0x71e6fd2006c0 (LWP 76757)):
#0  0x000071e702d1b4cd in __GI___poll (fds=0x612ec5b28b40, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x000071e70278066e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x000071e702720a53 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x000071e70326f4ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#4  0x000071e7034c89bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#5  0x000071e7033cb7d7 in QThread::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#6  0x000071e7028af98d in ??? () at /lib/x86_64-linux-gnu/libQt6DBus.so.6
#7  0x000071e703385e47 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#8  0x000071e702c9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#9  0x000071e702d29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x71e7028cfd00 (LWP 76705)):
[KCrash Handler]
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x000071e702c4526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x000071e702c288ff in __GI_abort () at ./stdlib/abort.c:79
#11 0x000071e7034da02c in qAbort() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#12 0x000071e703508df8 in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x000071e70350d5b5 in QMessageLogger::fatal(char const*, ...) const () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#14 0x000071e7034da120 in qt_assert(char const*, char const*, int) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x000071e6fdf4129e in TrashSizeCache::getTrashFileInfo (this=this@entry=0x7ffcfb4e2070, fileName=...) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/trashsizecache.cpp:108
#16 0x000071e6fdf526a5 in TrashSizeCache::add (this=this@entry=0x7ffcfb4e2070, directoryName=..., directorySize=directorySize@entry=161745739) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/trashsizecache.cpp:55
#17 0x000071e6fdf52ff5 in TrashSizeCache::scanFilesInTrash (this=0x7ffcfb4e2070, checkDateTime=TrashSizeCache::CheckModificationTime) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/trashsizecache.cpp:205
#18 0x000071e6fdf4a59e in TrashSizeCache::calculateSizeAndLatestModDate (this=0x7ffcfb4e2070) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/trashsizecache.cpp:140
#19 TrashImpl::trashUDSEntry (details=..., this=0x7ffcfb4e2440) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/trashimpl.cpp:1034
#20 TrashProtocol::stat (this=0x7ffcfb4e2420, url=<optimized out>) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/kio_trash.cpp:320
#21 0x000071e70368ed57 in KIO::WorkerSlaveBaseBridge::stat (this=0x612ec5b3c2e0, url=<optimized out>) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/core/workerbase_p.h:111
#22 0x000071e70368c3c5 in KIO::SlaveBase::dispatch (this=0x612ec5b3c2e0, command=69, data=...) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/core/slavebase.cpp:1221
#23 0x000071e7037381d7 in KIO::SlaveBase::dispatchLoop() [clone .constprop.0] (this=<optimized out>) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/core/slavebase.cpp:363
#24 0x000071e70368995d in KIO::WorkerBase::dispatchLoop (this=<optimized out>) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/core/workerbase.cpp:27
#25 0x000071e6fdf46d1f in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworkers/trash/kio_trash.cpp:51
#26 0x0000612ec295f569 in main (argc=<optimized out>, argv=0x7ffcfb4e27c8) at /usr/src/kf6-kio-6.8.0-0zneon+24.04+noble+release+build12/src/kioworker/kioworker.cpp:144

Reported using DrKonqi
This report was filed against 'kde' because the product 'kioworker' could not be located in Bugzilla. Add it to drkonqi's mappings file!
Comment 1 Bug Janitor Service 2025-01-06 14:00:31 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1777
Comment 2 Méven 2025-01-14 20:22:15 UTC
Git commit 940dee5b58967e04361b3889d83adc261621d7f6 by Méven Car.
Committed on 14/01/2025 at 19:55.
Pushed by meven into branch 'master'.

trash: prevent an assert when trash cache is missing

SENTRY: KIO-A

M  +17   -10   src/kioworkers/trash/trashsizecache.cpp
M  +1    -1    src/kioworkers/trash/trashsizecache.h

https://invent.kde.org/frameworks/kio/-/commit/940dee5b58967e04361b3889d83adc261621d7f6
Comment 3 Nate Graham 2025-02-21 21:47:08 UTC
*** Bug 500507 has been marked as a duplicate of this bug. ***