Bug 466415 - Filelight crashes with SEGFAULT when started once with no disk space left
Summary: Filelight crashes with SEGFAULT when started once with no disk space left
Status: RESOLVED FIXED
Alias: None
Product: filelight
Classification: Applications
Component: general (show other bugs)
Version: 22.12.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords: drkonqi
: 467103 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-02-25 17:11 UTC by stephan.seitz
Modified: 2023-04-20 22:15 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 23.04.1


Attachments
New crash information added by DrKonqi (12.27 KB, text/plain)
2023-03-09 03:24 UTC, unknowndevqwq
Details

Note You need to log in before you can comment on or make changes to this bug.
Description stephan.seitz 2023-02-25 17:11:41 UTC
Application: filelight (22.12.2)

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 5.19.0-29-generic x86_64
Windowing System: X11
Distribution: Ubuntu Lunar Lobster (development branch)
DrKonqi: 5.27.0 [KCrashBackend]

-- Information about the crash:
I started Filelight once when I had not a single byte left on my disk. It segfaulted on launch and all succesive launches when I created a bit of free disk failed too. It could be that one essential service stopped in the background because also plasma desktop was frozen and I had to kill and manually restart it to make it work again. Filelight, however, would still crash repeatedly in this session.

The crash can be reproduced every time.

-- Backtrace:
Application: Filelight (filelight), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f37b0e655c9 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#5  0x00007f37b0e6a333 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f37b0eb737b in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f37b0eb7ac6 in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f37b0eb8953 in QQmlTypeLoader::loadThread(QQmlDataBlob*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f37b0eb8dc4 in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f37b0eb9660 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f37b0e67bac in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007f37b0e6a7e0 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#13 0x00007f37b0eb7649 in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#14 0x00007f37b0eb7ac6 in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#15 0x00007f37b0eb8953 in QQmlTypeLoader::loadThread(QQmlDataBlob*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#16 0x00007f37b0eb8dc4 in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#17 0x00007f37b0eb9660 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#18 0x00007f37b0e67bac in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#19 0x00007f37b0e6a7e0 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#20 0x00007f37b0eb7649 in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#21 0x00007f37b0eb7ac6 in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#22 0x00007f37b0eb8953 in QQmlTypeLoader::loadThread(QQmlDataBlob*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#23 0x00007f37b0eb8dc4 in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#24 0x00007f37b0eb9660 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#25 0x00007f37b0e67bac in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#26 0x00007f37b0e6a7e0 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#27 0x00007f37b0eb7649 in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#28 0x00007f37b0eb7ac6 in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#29 0x00007f37b0eb8953 in QQmlTypeLoader::loadThread(QQmlDataBlob*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#30 0x00007f37b0e72431 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#31 0x00007f37b0f32d54 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#32 0x00007f37b0f3353a in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#33 0x00007f37b196bf92 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f37b00bae38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f37b00bdea1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f37b01157b7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f37aea44569 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f37aea99de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f37aea41d20 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f37b0114e7a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f37b00b97cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007f37afecba8b in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007f37b0f329f9 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#44 0x00007f37afecccc7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007f37af690402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#46 0x00007f37af71f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7f37aa4ce6c0 (LWP 19097) "QDBusConnection"):
#1  __GI___libc_read (fd=7, buf=0x7f37aa4cda20, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f37aea44952 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f37aea99d08 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f37aea41d20 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f37b0114e96 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f37b00b97cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f37afecba8b in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f37b0b15ebb in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f37afecccc7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f37af690402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#11 0x00007f37af71f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7f37ab0856c0 (LWP 19096) "QXcbEventQueue"):
#1  0x00007f37ae5f686a in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f37ae5f828c in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f37ab0f9548 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f37afecccc7 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f37af690402 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007f37af71f590 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7f37abbf8980 (LWP 19094) "filelight"):
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x55fb1f820360) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55fb1f820360, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f37af68f338 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55fb1f820310, cond=0x55fb1f820338) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x55fb1f820338, mutex=0x55fb1f820310) at ./nptl/pthread_cond_wait.c:627
#5  0x00007f37afed2bab in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f37b0f33155 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f37b0eb8d25 in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f37b0eb9660 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f37b0e918d8 in QQmlComponentPrivate::loadUrl(QUrl const&, QQmlComponent::CompilationMode) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f37b0ef7153 in QQmlApplicationEnginePrivate::startLoad(QUrl const&, QByteArray const&, bool) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f37b0ef72a1 in QQmlApplicationEngine::load(QUrl const&) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x000055fb1e220333 in ?? ()
#13 0x00007f37af623510 in __libc_start_call_main (main=main@entry=0x55fb1e21e230, argc=argc@entry=1, argv=argv@entry=0x7ffe13550ad8) at ../sysdeps/nptl/libc_start_call_main.h:58
#14 0x00007f37af6235c9 in __libc_start_main_impl (main=0x55fb1e21e230, argc=1, argv=0x7ffe13550ad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe13550ac8) at ../csu/libc-start.c:381
#15 0x000055fb1e220c75 in ?? ()
[Inferior 1 (process 19094) detached]

Reported using DrKonqi
Comment 1 unknowndevqwq 2023-03-09 03:24:36 UTC
Created attachment 157133 [details]
New crash information added by DrKonqi

filelight (22.12.3) using Qt 5.15.8

When the /home folder doesn't have any free space, a suggestion to use Filelight to check space will appear in the bottom right corner, and after starting it as suggested by the pop-up, you get a crash.

-- Backtrace (Reduced):
#6  0x00007f1fc14c90a2 in QString::QString (other=..., this=<optimized out>, this=<optimized out>, other=...) at /usr/include/qt/QtCore/qstring.h:1093
#7  QV4::CompiledData::CompilationUnit::stringAt (this=<optimized out>, index=<optimized out>) at ../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/common/qv4compileddata_p.h:1301
#8  0x00007f1fc16b1e93 in QQmlPropertyValidator::stringAt (index=<optimized out>, this=0x7f1fb23fe040) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlpropertyvalidator_p.h:87
#9  QQmlPropertyValidator::validateObject (this=this@entry=0x7f1fb23fe040, objectIndex=<optimized out>, instantiatingBinding=0x7f1fb1194c80, populatingValueTypeGroupProperty=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlpropertyvalidator.cpp:162
#10 0x00007f1fc16b2499 in QQmlPropertyValidator::validateObject (this=this@entry=0x7f1fb23fe040, objectIndex=<optimized out>, instantiatingBinding=0x7f1fb1194b50, populatingValueTypeGroupProperty=<optimized out>) at /usr/include/qt/QtCore/qendian.h:290
Comment 2 Nate Graham 2023-03-13 18:48:35 UTC
*** Bug 467103 has been marked as a duplicate of this bug. ***
Comment 3 Harald Sitter 2023-03-22 13:32:34 UTC
Does it help if you export QML_DISABLE_DISK_CACHE=1?
Comment 4 stephan.seitz 2023-03-22 21:19:00 UTC
(In reply to Harald Sitter from comment #3)
> Does it help if you export QML_DISABLE_DISK_CACHE=1?

I couldn't reproduce on another system with (even after deleting qtshadercache and filling up my disk afterwards)
❯ filelight --version
filelight 22.12.3

Will switch to the system where I originally had this problem
Comment 5 blaisdellma 2023-03-30 14:30:14 UTC
Filelight: 22.12.2
Operating System: Manjaro Linux
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 5.10.174-1-MANJARO (64-bit)
Graphics Platform: X11

I ran into this same issue. Plasma also froze after trying to start filelight and I had to restart plasmashell. Even after freeing up space, filelight would still segfault on launch. I even tried reinstalling filelight from scratch (`pacman -Scc && pacman -S filelight`) and it would still segfault.

(In reply to Harald Sitter from comment #3)
> Does it help if you export QML_DISABLE_DISK_CACHE=1?

This (temporarily) fixes it for me. After clearing the cache manually (`rm ~/.cache/KDE/filelight/qmlcache/*.qmlc`), filelight doesn't segfault anymore.

I haven't tried running filelight with a full disk with QML_DISABLE_DISK_CACHE=1 though.
Comment 6 Bug Janitor Service 2023-04-14 03:45:42 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Bug Janitor Service 2023-04-19 13:36:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/filelight/-/merge_requests/81
Comment 8 Harald Sitter 2023-04-19 13:55:23 UTC
Git commit 8f6003804169b3049bdfea508bcf49c9d8f8b661 by Harald Sitter.
Committed on 19/04/2023 at 13:35.
Pushed by sitter into branch 'master'.

disable qml disk cache

this should prevent cache related problems when dealing with full or
near-full disks
Related: bug 467135

M  +5    -0    src/main.cpp

https://invent.kde.org/utilities/filelight/commit/8f6003804169b3049bdfea508bcf49c9d8f8b661
Comment 9 Harald Sitter 2023-04-19 14:10:11 UTC
Git commit 05185ff702acab7a3fcf93c1af9e2122bcc68c84 by Harald Sitter.
Committed on 19/04/2023 at 13:55.
Pushed by sitter into branch 'release/23.04'.

disable qml disk cache

this should prevent cache related problems when dealing with full or
near-full disks
Related: bug 467135


(cherry picked from commit 8f6003804169b3049bdfea508bcf49c9d8f8b661)

M  +5    -0    src/main.cpp

https://invent.kde.org/utilities/filelight/commit/05185ff702acab7a3fcf93c1af9e2122bcc68c84