Bug 449688 - Filelight crash on directory scan start
Summary: Filelight crash on directory scan start
Status: RESOLVED FIXED
Alias: None
Product: filelight
Classification: Applications
Component: general (show other bugs)
Version: 22.04.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Martin Sandsmark
URL: https://bugreports.qt.io/browse/QTBUG...
Keywords:
: 463591 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-02-06 09:53 UTC by Jaak Ristioja
Modified: 2023-02-02 00:00 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
emerge_compile_log.txt (76.31 KB, text/plain)
2022-12-31 01:25 UTC, Thomas Bettler
Details
emerge_info.txt (6.71 KB, text/plain)
2022-12-31 01:26 UTC, Thomas Bettler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaak Ristioja 2022-02-06 09:53:52 UTC
SUMMARY

Filelight crashes when directory scanning is initiated.

STEPS TO REPRODUCE
Start `filelight .` from home directory. Alternatively start Filelight and choose "Scan Home Folder" from the "Scan" menu.

OBSERVED RESULT
Crash

EXPECTED RESULT
Scanning starts properly

SOFTWARE/OS VERSIONS
Linux: 5.16
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

(gdb) thread apply all bt

Thread 13 (Thread 0x7fffc67fc640 (LWP 3732527) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64adcff in QMutexLocker::QMutexLocker (m=<optimized out>, this=0x7fffc67fbce8) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex.h:238
#6  QThreadPoolThread::run (this=0x7fffcc006e80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:84
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x7fffcc006e80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffc67fc640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fffc6ffd640 (LWP 3732526) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64adcff in QMutexLocker::QMutexLocker (m=<optimized out>, this=0x7fffc6ffcce8) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex.h:238
#6  QThreadPoolThread::run (this=0x7fffcc006970) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:84
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x7fffcc006970) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffc6ffd640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fffc77fe640 (LWP 3732525) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64adcff in QMutexLocker::QMutexLocker (m=<optimized out>, this=0x7fffc77fdce8) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex.h:238
#6  QThreadPoolThread::run (this=0x7fffcc006460) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:84
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x7fffcc006460) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffc77fe640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fffc7fff640 (LWP 3732524) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64adcff in QMutexLocker::QMutexLocker (m=<optimized out>, this=0x7fffc7ffece8) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex.h:238
#6  QThreadPoolThread::run (this=0x7fffcc006060) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:84
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x7fffcc006060) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffc7fff640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fffe0f5a640 (LWP 3732523) "Filelight::Loca"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64ad7f8 in QMutexLocker::QMutexLocker (m=0x555555850c78, this=0x7fffe0f59a98) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex.h:238
#6  QThreadPool::tryStart(std::function<void ()>) (this=this@entry=0x5555558d86d0, functionToRun=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:595
#7  0x0000555555582d25 in Filelight::LocalLister::scan (this=this@entry=0x55555584d090, path=..., dirname=...) at /var/tmp/portage/kde-apps/filelight-21.12.2/work/filelight-21.12.2/src/localLister.cpp:233
#8  0x0000555555583938 in Filelight::LocalLister::run (this=0x55555584d090) at /var/tmp/portage/kde-apps/filelight-21.12.2/work/filelight-21.12.2/src/localLister.cpp:67
#9  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x55555584d090) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#10 0x00007ffff57af256 in start_thread (arg=0x7fffe0f5a640) at pthread_create.c:481
#11 0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fffe175b640 (LWP 3732522) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64b063b in QWaitCondition::wait (this=this@entry=0x5555558dbe90, mutex=0x555555850c78, deadline=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qwaitcondition_unix.cpp:227
#6  0x00007ffff64adf5d in QThreadPoolThread::run (this=0x5555558dbe80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:140
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x5555558dbe80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffe175b640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffe1f5c640 (LWP 3732521) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64b063b in QWaitCondition::wait (this=this@entry=0x5555558c8a50, mutex=0x555555850c78, deadline=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qwaitcondition_unix.cpp:227
#6  0x00007ffff64adf5d in QThreadPoolThread::run (this=0x5555558c8a40) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:140
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x5555558c8a40) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffe1f5c640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffe275d640 (LWP 3732520) "Thread (pooled)"):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007ffff5e44864 in __GI_abort () at abort.c:79
#2  0x00007ffff645b831 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qlogging.cpp:1914
#3  QMessageLogger::fatal (this=this@entry=0x7fffe275cc98, msg=msg@entry=0x7ffff674c9a8 "ASSERT: \"%s\" in file %s, line %d") at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qlogging.cpp:893
#4  0x00007ffff645a6fe in qt_assert (assertion=assertion@entry=0x7ffff6752f1c "!del || r->ref == 1", file=file@entry=0x7ffff6752c88 "/var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp", line=line@entry=92) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qglobal.cpp:3358
#5  0x00007ffff645d964 in QThreadPoolThread::run (this=0x555555889da0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:92
#6  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x555555889da0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#7  0x00007ffff57af256 in start_thread (arg=0x7fffe275d640) at pthread_create.c:481
#8  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffe2f5e640 (LWP 3732519) "Thread (pooled)"):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff64a9da5 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=3, op=0, addr=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicPointer<QMutexData> > (expectedValue=0x3, futex=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qfutex_p.h:135
#3  lockInternal_helper<false> (timeout=-1, elapsedTimer=0x0, d_ptr=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:142
#4  QBasicMutex::lockInternal (this=0x555555850c78) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qmutex_linux.cpp:159
#5  0x00007ffff64b063b in QWaitCondition::wait (this=this@entry=0x5555558dd440, mutex=0x555555850c78, deadline=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qwaitcondition_unix.cpp:227
#6  0x00007ffff64adf5d in QThreadPoolThread::run (this=0x5555558dd430) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:140
#7  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x5555558dd430) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007ffff57af256 in start_thread (arg=0x7fffe2f5e640) at pthread_create.c:481
#9  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffe96b1640 (LWP 3732517) "filelig:disk$0"):
#0  0x00007ffff57bb92a in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x5555558f4d88, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007ffff57bb98f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555558f4d88, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007ffff57b5220 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555558f4d38, cond=0x5555558f4d60) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x5555558f4d60, mutex=0x5555558f4d38) at pthread_cond_wait.c:619
#4  0x00007fffe9a5c66b in cnd_wait (mtx=0x5555558f4d38, cond=0x5555558f4d60) at ../mesa-21.3.4/include/c11/threads_posix.h:155
#5  util_queue_thread_func (input=input@entry=0x5555558f8e40) at ../mesa-21.3.4/src/util/u_queue.c:294
#6  0x00007fffe9a5c2bb in impl_thrd_routine (p=<optimized out>) at ../mesa-21.3.4/include/c11/threads_posix.h:87
#7  0x00007ffff57af256 in start_thread (arg=0x7fffe96b1640) at pthread_create.c:481
#8  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffebfff640 (LWP 3732515) "QDBusConnection"):
#0  0x00007ffff5f1191f in __GI___poll (fds=0x7fffe40146d0, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff4f4d57e in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0x7fffe40146d0, timeout=<optimized out>, context=0x7fffe4000c20) at ../glib-2.70.2/glib/gmain.c:4478
#2  g_main_context_iterate (context=context@entry=0x7fffe4000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.70.2/glib/gmain.c:4170
#3  0x00007ffff4f4d6b3 in g_main_context_iteration (context=0x7fffe4000c20, may_block=1) at ../glib-2.70.2/glib/gmain.c:4240
#4  0x00007ffff66c9d2a in QEventDispatcherGlib::processEvents (this=0x7fffe4000b60, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#5  0x00007ffff667031b in QEventLoop::exec (this=this@entry=0x7fffebffece0, flags=..., flags@entry=...) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qflags.h:69
#6  0x00007ffff64a875a in QThread::exec (this=this@entry=0x7ffff5abc060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qflags.h:121
#7  0x00007ffff5a354b7 in QDBusConnectionManager::run (this=0x7ffff5abc060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /var/tmp/portage/dev-qt/qtdbus-5.15.2-r10/work/qtbase-a4f9e56975fa6ab4a1f63a9b34a4d77b1cfe4acd/src/dbus/qdbusconnection.cpp:179
#8  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x7ffff5abc060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#9  0x00007ffff57af256 in start_thread (arg=0x7fffebfff640) at pthread_create.c:481
#10 0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7ffff1dbb640 (LWP 3732506) "QXcbEventQueue"):
#0  0x00007ffff5f1191f in __GI___poll (fds=fds@entry=0x7ffff1dbac18, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff47fcd02 in poll (__timeout=-1, __nfds=1, __fds=0x7ffff1dbac18) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x5555555caed0, cond=cond@entry=0x5555555caf10, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.14/work/libxcb-1.14/src/xcb_conn.c:480
#3  0x00007ffff47ff05a in xcb_wait_for_event (c=0x5555555caed0) at /var/tmp/portage/x11-libs/libxcb-1.14/work/libxcb-1.14/src/xcb_in.c:697
#4  0x00007ffff1ee32f8 in QXcbEventQueue::run (this=0x5555555bf1f0) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/plugins/platforms/xcb/qxcbeventqueue.cpp:228
#5  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x5555555bf1f0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
#6  0x00007ffff57af256 in start_thread (arg=0x7ffff1dbb640) at pthread_create.c:481
#7  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff26e3340 (LWP 3732490) "filelight"):
#0  0x00007ffff5f1437b in fdatasync (fd=22) at ../sysdeps/unix/sysv/linux/fdatasync.c:28
#1  0x00007ffff66174ff in QLockFilePrivate::tryLock_sys (this=this@entry=0x5555559a54a0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/io/qlockfile_unix.cpp:187
#2  0x00007ffff65bf956 in QLockFile::tryLock (this=<optimized out>, timeout=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/io/qlockfile.cpp:245
#3  0x00007ffff78d720d in KConfigIniBackend::lock (this=0x555555a817b0) at /var/tmp/portage/kde-frameworks/kconfig-5.90.0/work/kconfig-5.90.0/src/core/kconfigini.cpp:632
#4  0x00007ffff78c1d36 in KConfigPrivate::lockLocal (this=0x555555864d10) at /var/tmp/portage/kde-frameworks/kconfig-5.90.0/work/kconfig-5.90.0/src/core/kconfig.cpp:123
#5  KConfig::sync (this=0x555555908b80) at /var/tmp/portage/kde-frameworks/kconfig-5.90.0/work/kconfig-5.90.0/src/core/kconfig.cpp:422
#6  0x00007ffff7f18815 in KMWSessionManager::saveState (this=<optimized out>, sm=...) at /var/tmp/portage/kde-frameworks/kxmlgui-5.90.0/work/kxmlgui-5.90.0/src/kmainwindow.cpp:144
#7  0x00007ffff66a978e in QtPrivate::QSlotObjectBase::call (a=0x7fffffffc0f0, r=0x7ffff7f90100 <(anonymous namespace)::Q_QGS_ksm::innerFunction()::holder>, this=0x5555557bfee0) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qobjectdefs_impl.h:398
#8  doActivate<false> (sender=0x7fffffffcc70, signal_index=18, argv=0x7fffffffc0f0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qobject.cpp:3886
#9  0x00007ffff66a2c27 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff7000ec0 <QGuiApplication::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffc0f0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qobject.cpp:3946
#10 0x00007ffff6acd8d9 in QGuiApplication::saveStateRequest (this=<optimized out>, _t1=...) at .moc/moc_qguiapplication.cpp:454
#11 0x00007ffff6ad024f in QGuiApplicationPrivate::saveState (this=0x5555555ba710) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/gui/kernel/qguiapplication.cpp:3961
#12 0x00007ffff6b10257 in QPlatformSessionManager::appSaveState (this=this@entry=0x7fffec005390) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/gui/kernel/qplatformsessionmanager.cpp:147
#13 0x00007ffff1efdb3d in sm_performSaveYourself (sm=0x7fffec005390) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/plugins/platforms/xcb/qxcbsessionmanager.cpp:247
#14 0x00007ffff1efdc8c in sm_saveYourselfCallback (interactStyle=<optimized out>, shutdown=<optimized out>, saveType=<optimized out>, clientData=<optimized out>, smcConn=<optimized out>) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/plugins/platforms/xcb/qxcbsessionmanager.cpp:182
#15 sm_saveYourselfCallback (smcConn=<optimized out>, clientData=<optimized out>, saveType=<optimized out>, shutdown=<optimized out>, interactStyle=<optimized out>) at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/plugins/platforms/xcb/qxcbsessionmanager.cpp:165
#16 0x00007ffff1df23f4 in _SmcProcessMessage (iceConn=0x5555555be510, clientData=0x555555776b40, opcode=<optimized out>, length=<optimized out>, swap=0, replyWait=<optimized out>, replyReadyRet=0x7fffffffc720) at /var/tmp/portage/x11-libs/libSM-1.2.3-r1/work/libSM-1.2.3/src/sm_process.c:354
#17 0x00007ffff1de0aca in IceProcessMessages (iceConn=0x5555555be510, replyWait=0x0, replyReadyRet=0x0) at /var/tmp/portage/x11-libs/libICE-1.0.10/work/libICE-1.0.10/src/process.c:386
#18 0x00007ffff66a97d4 in doActivate<false> (sender=0x555555783b80, signal_index=3, argv=0x7fffffffc840) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qobject.cpp:3898
#19 0x00007ffff66a2c27 in QMetaObject::activate (sender=sender@entry=0x555555783b80, m=m@entry=0x7ffff69827c0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffc840) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qobject.cpp:3946
#20 0x00007ffff66ad65a in QSocketNotifier::activated (this=this@entry=0x555555783b80, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:179
#21 0x00007ffff66ae064 in QSocketNotifier::event (this=0x555555783b80, e=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qsocketnotifier.cpp:302
#22 0x00007ffff717e8a3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555783b80, e=0x7fffffffc960) at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/widgets/kernel/qapplication.cpp:3632
#23 0x00007ffff6671e88 in QCoreApplication::notifyInternal2 (receiver=0x555555783b80, event=0x7fffffffc960) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qcoreapplication.cpp:1064
#24 0x00007ffff66cacbe in socketNotifierSourceDispatch (source=0x55555575f450) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qeventdispatcher_glib.cpp:107
#25 0x00007ffff4f4d33b in g_main_dispatch (context=0x7fffec005000) at ../glib-2.70.2/glib/gmain.c:3381
#26 g_main_context_dispatch (context=0x7fffec005000) at ../glib-2.70.2/glib/gmain.c:4099
#27 0x00007ffff4f4d5e8 in g_main_context_iterate (context=context@entry=0x7fffec005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.70.2/glib/gmain.c:4175
#28 0x00007ffff4f4d6b3 in g_main_context_iteration (context=0x7fffec005000, may_block=1) at ../glib-2.70.2/glib/gmain.c:4240
#29 0x00007ffff66c9d2a in QEventDispatcherGlib::processEvents (this=0x555555771500, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#30 0x00007ffff667031b in QEventLoop::exec (this=this@entry=0x7fffffffcb70, flags=..., flags@entry=...) at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qflags.h:69
#31 0x00007ffff6679284 in QCoreApplication::exec () at ../../include/QtCore/../../../qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qflags.h:121
#32 0x00007ffff6acf610 in QGuiApplication::exec () at /var/tmp/portage/dev-qt/qtgui-5.15.2-r16/work/qtbase-38ad2f39daec09168728033969265834b6a2d924/src/gui/kernel/qguiapplication.cpp:1867
#33 0x00007ffff717e819 in QApplication::exec () at /var/tmp/portage/dev-qt/qtwidgets-5.15.2-r12/work/qtbase-7c6c0030cf80ef7b9ace42996b0e0c3a72f76860/src/widgets/kernel/qapplication.cpp:2824
#34 0x000055555556bcf0 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-apps/filelight-21.12.2/work/filelight-21.12.2/src/main.cpp:90
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
        set = {__val = {0, 9, 244813135908, 0, 1, 0, 511101108348, 395136991342, 140737328267584, 34, 553, 140736683048992, 176, 176, 0, 17898935071783908096}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff5e44864 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x50, sa_sigaction = 0x50}, sa_mask = {__val = {140736683069552, 140736683070192, 17898935071783908096, 0, 3, 140736992758936, 140737325436164, 93824995396528, 17898935071783908096, 511101108348, 17898935071783908096, 140736992758696, 0, 3, 140736992758696, 140736992758936}}, sa_flags = -162918807, sa_restorer = 0x0}
        sigs = {__val = {32, 17898935071783908096, 140736992758512, 18446744073709551416, 0, 140736992758512, 140736992758696, 140736616033808, 0, 140737320432704, 140737320416128, 140737319088389, 140736992758512, 140737320433152, 140736992758504, 140737325454129}}
#2  0x00007ffff645b831 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qlogging.cpp:1914
No locals.
#3  QMessageLogger::fatal (this=this@entry=0x7fffe275cc98, msg=msg@entry=0x7ffff674c9a8 "ASSERT: \"%s\" in file %s, line %d") at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qlogging.cpp:893
        message = <optimized out>
        ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffe275cc90, reg_save_area = 0x7fffe275cbd0}}
#4  0x00007ffff645a6fe in qt_assert (assertion=assertion@entry=0x7ffff6752f1c "!del || r->ref == 1", file=file@entry=0x7ffff6752c88 "/var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp", line=line@entry=92) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/global/qglobal.cpp:3358
No locals.
#5  0x00007ffff645d964 in QThreadPoolThread::run (this=0x555555889da0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:92
        del = <optimized out>
        page = <optimized out>
        r = 0x7fffcc016e10
        expired = <optimized out>
        locker = {val = 93824995363961}
        __PRETTY_FUNCTION__ = "virtual void QThreadPoolThread::run()"
#6  0x00007ffff64a99d4 in QThreadPrivate::start (arg=0x555555889da0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthread_unix.cpp:331
        thr = 0x555555889da0
        data = 0x5555558fdc20
        __clframe = {__cancel_routine = 0x7ffff64a8d60 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x555555889da0, __do_it = 1, __cancel_type = <optimized out>}
#7  0x00007ffff57af256 in start_thread (arg=0x7fffe275d640) at pthread_create.c:481
        ret = <optimized out>
        pd = 0x7fffe275d640
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736992761408, -7010432281801250390, 140737488337854, 140737488337855, 0, 140736992761408, 7010473013582637482, 7010444419180407210}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#8  0x00007ffff5f1c593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) f 5
#5  0x00007ffff645d964 in QThreadPoolThread::run (this=0x555555889da0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp:92
92      in /var/tmp/portage/dev-qt/qtcore-5.15.2-r14/work/qtbase-f4ac0b55c37f2b594ffbe639db43dac365825c7c/src/corelib/thread/qthreadpool.cpp
(gdb) print r->ref
$3 = 0
Comment 1 Martin Sandsmark 2022-02-19 21:50:40 UTC
That stacktrace is weird, but the crash is an assert that is removed in qt6: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ecfda98d1f91c6a7da0d89826558d856cd88e670

It seems like filelight is attempting to quit at the same time (thread 1, we got an ICE message about saving session), were you attempting to log out when it happened?

If so I assume there is an issue with QThreadPool not being nice if the application suddenly attempts to quit, which should be better in qt6.

If not, could you try running it with the glib event loop off (it's been buggy before), like so: «QT_NO_GLIB=1 filelight».
Comment 2 Jaak Ristioja 2022-02-20 21:36:49 UTC
(In reply to Martin Sandsmark from comment #1)
> That stacktrace is weird, but the crash is an assert that is removed in qt6:
> https://code.qt.io/cgit/qt/qtbase.git/commit/
> ?id=ecfda98d1f91c6a7da0d89826558d856cd88e670

Yes.

> It seems like filelight is attempting to quit at the same time (thread 1, we
> got an ICE message about saving session), were you attempting to log out
> when it happened?

No.

> If so I assume there is an issue with QThreadPool not being nice if the
> application suddenly attempts to quit, which should be better in qt6.
> 
> If not, could you try running it with the glib event loop off (it's been
> buggy before), like so: «QT_NO_GLIB=1 filelight».

It seems to make not difference whether running with QT_NO_GLIB=1 or QT_NO_GLIB=0 in the environment, or no QT_NO_GLIB environment variable at all. In all these cases I can reproduce the exact same crash when starting to scan.
Comment 3 Harald Sitter 2022-04-26 19:44:40 UTC
Git commit e873c3bfa2e6f971e1699a5377a0e46c7e363442 by Harald Sitter.
Committed on 26/04/2022 at 19:21.
Pushed by sitter into branch 'master'.

grand qml rewrite

this moves the entire main ui (excluding settings) to qtquick from
qwidgets.

this loses some of the more esoteric kxmlgui features but should be a
good path forward on the balance

the actual map is still being qpainted, so this isn't super ideal but
the plan there is to hopefully use kquickcharts eventually instead of a
custom implementation.

settings dialog still needs porting but is kept qwidget for now to at
least reduce the scope of this port slightly
Related: bug 443751, bug 445018, bug 445026, bug 445027

M  +2    -1    .kde-ci.yml
M  +2    -1    CMakeLists.txt
M  +6    -9    src/CMakeLists.txt
M  +6    -5    src/Config.h
M  +1    -1    src/app/CMakeLists.txt
M  +5    -2    src/fileTree.h
M  +9    -23   src/main.cpp
A  +264  -0    src/mainContext.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +81   -0    src/mainContext.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
D  +0    -587  src/mainWindow.cpp
D  +0    -118  src/mainWindow.h
D  +0    -71   src/overviewWidget.cpp
D  +0    -23   src/overviewWidget.h
D  +0    -121  src/progressBox.cpp
D  +0    -48   src/progressBox.h
A  +14   -0    src/qml/AboutPage.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +9    -0    src/qml/Action.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +165  -0    src/qml/MapPage.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +72   -0    src/qml/OverviewPage.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +183  -0    src/qml/main.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +13   -0    src/qml/qml.qrc
A  +906  -0    src/radialMap/item.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
R  +36   -43   src/radialMap/item.h [from: src/radialMap/widget.h - 051% similarity]
D  +0    -308  src/radialMap/labels.cpp
A  +42   -0    src/radialMap/labels.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +20   -8    src/radialMap/map.cpp
M  +4    -1    src/radialMap/map.h
A  +17   -0    src/radialMap/radialMap.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
D  +0    -212  src/radialMap/widget.cpp
D  +0    -395  src/radialMap/widgetEvents.cpp
M  +10   -1    src/scan.cpp
M  +8    -3    src/scan.h

https://invent.kde.org/utilities/filelight/commit/e873c3bfa2e6f971e1699a5377a0e46c7e363442
Comment 4 Jaak Ristioja 2022-04-26 21:35:37 UTC
(In reply to Harald Sitter from comment #3)
> Git commit e873c3bfa2e6f971e1699a5377a0e46c7e363442 by Harald Sitter.

That does not seem to fix the issue. I still get the same crash after building the Gentoo package with `git diff v22.04.0..e873c3b` applied as a user patch. Did you perhaps mean to resolve another bug instead?
Comment 5 Jaak Ristioja 2022-04-26 21:41:25 UTC
Updating the product version from 21.12.2, because it still happens with 22.04.0 as well, and I forgot to note this in my previous comment.
Comment 6 Harald Sitter 2022-12-30 23:09:20 UTC
*** Bug 463591 has been marked as a duplicate of this bug. ***
Comment 7 Harald Sitter 2022-12-30 23:10:58 UTC
I find it suspicious that this only appears to happen on gentoo. Anything about your compile flags being funny maybe? Or maybe Qt was built without a dependency?
Comment 8 Thomas Bettler 2022-12-31 01:25:55 UTC
Created attachment 154920 [details]
emerge_compile_log.txt

no special flags applied
Comment 9 Thomas Bettler 2022-12-31 01:26:45 UTC
Created attachment 154921 [details]
emerge_info.txt

emerge --info
Comment 10 Thomas Bettler 2022-12-31 10:41:57 UTC
in my case assert fails due to r->ref being 0 in some thread.
as the assert itself isn't helpful and got dropped upstream I investigated and confirm applying the upstream patches solve this issue for me:
- https://github.com/qt/qtbase/commit/999c79863c574bdf3e1650a1b0901fdf83a9e0b4
- https://github.com/qt/qtbase/commit/5a4b275a201bfc653a99e8b6ab546573553b79ad
Comment 11 Harald Sitter 2022-12-31 11:18:17 UTC
(In reply to Thomas Bettler from comment #9)
> Created attachment 154921 [details]
> emerge_info.txt
> 
> emerge --info

I'd be more interested in the information for qtbase.

The upstream commit isn't really a good candidate for backporting to Qt5 unfortunately.
Comment 12 Andreas Sturmlechner 2022-12-31 11:43:32 UTC
(In reply to Harald Sitter from comment #11)
> (In reply to Thomas Bettler from comment #9)
> > emerge --info
> 
> I'd be more interested in the information for qtbase.
emerge --info is global, unless user has made overrides for specific packages.

Regarding qtbase, it is split in Gentoo with filelight depending on qtcore, qtgui and qtwidgets. Assuming toolchain, CFLAGS etc. are consistent globally, you could still show us `equery u qtcore qtgui qtwidgets` to let us look into your USE flag situation.
Comment 13 Andreas Sturmlechner 2022-12-31 11:53:39 UTC
(to be clear, filelight-22.12.0 - or previous versions - hasn't crashed for me in Gentoo)
Comment 14 Thomas Bettler 2022-12-31 14:03:48 UTC
(In reply to Andreas Sturmlechner from comment #12)
> Regarding qtbase, it is split in Gentoo with filelight depending on qtcore,
> qtgui and qtwidgets. Assuming toolchain, CFLAGS etc. are consistent
> globally, you could still show us `equery u qtcore qtgui qtwidgets` to let
> us look into your USE flag situation.

$ equery u qtcore qtgui qtwidgets
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for dev-qt/qtcore-5.15.7:
 U I
 + + debug      : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + + icu        : Enable ICU (Internationalization Components for Unicode) support, using dev-libs/icu
 - - old-kernel : (Restricted to <dev-qt/qtcore-5.15.0)
                  Disable syscalls not available on Linux kernels older than 3.17
 - - systemd    : Enable native journald logging support
 - - test       : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

 * Found these USE flags for dev-qt/qtgui-5.15.7-r1:
 U I
 + + X             : Build the XCB platform plugin and enable X11 integration
 + + accessibility : Add support for accessibility (eg 'at-spi' library)
 + + dbus          : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
 + + debug         : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 + + egl           : Enable EGL integration
 - - eglfs         : Build the EGL Full Screen/Single Surface platform plugin
 + + evdev         : Enable support for input devices via evdev
 - - gles2-only    : Use GLES 2.0 or later instead of full OpenGL
 - - ibus          : Build the IBus input method plugin
 + + jpeg          : Add JPEG image support
 + + libinput      : Enable support for input devices via dev-libs/libinput
 - - linuxfb       : Enable Linux framebuffer support for embedded devices
 + + png           : Add support for libpng (PNG images)
 - - test          : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
 - - tslib         : Enable support for touchscreen devices via x11-libs/tslib
 - - tuio          : Build plugin to receive touch events over the TUIO protocol
 + + udev          : Enable virtual/udev integration (device discovery, power and storage device support, etc)
 + + vnc           : Enable VNC (remote desktop viewer) support
 + + vulkan        : Enable support for Vulkan
 + + wayland       : Provide dev-qt/qtwayland to ensure Qt applications can be run as Wayland clients

 * Found these USE flags for dev-qt/qtwidgets-5.15.7:
 U I
 + + X          : Add support for X11
 + + dbus       : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
 + + debug      : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 - - gles2-only : Use GLES 2.0 or later instead of full OpenGL
 + + gtk        : Build the GTK platform theme plugin
 + + png        : Add support for libpng (PNG images)
 - - test       : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Comment 15 Harald Sitter 2023-01-01 15:14:24 UTC
I do wonder... Reading the code this may legitimately fail the assert in the code paths we are hitting. The reason it only happens for you is because you build with debug perhaps?
Comment 16 Jaak Ristioja 2023-01-01 15:42:16 UTC
Yes, possibly.
Comment 17 Harald Sitter 2023-01-01 15:45:11 UTC
Right, I can reproduce the crash with a -debug build.
Comment 18 Harald Sitter 2023-01-01 16:00:16 UTC
Git commit 95647dc3c5045724c0cc6218ec459e92bb45ed3e by Harald Sitter.
Committed on 01/01/2023 at 15:55.
Pushed by sitter into branch 'master'.

work around bug in QThreadPool::tryStart(std::function)

the underlying code doesn't correctly set up ref counting before passing
the internally created runnable to QThreadPoolPrivate. this later
results in failed assertions about the ref counting.

instead create a qrunnable of our function so we can use
tryStart(QRunnable) which has correct ref counting code.

this prevents crashing when used with full on debug builds of Qt

M  +6    -1    src/localLister.cpp

https://invent.kde.org/utilities/filelight/commit/95647dc3c5045724c0cc6218ec459e92bb45ed3e
Comment 19 Harald Sitter 2023-01-01 16:16:50 UTC
Git commit 83d15a5a71bf189627c28dd2eb2e2a9f41863648 by Harald Sitter.
Committed on 01/01/2023 at 16:10.
Pushed by sitter into branch 'release/22.12'.

work around bug in QThreadPool::tryStart(std::function)

the underlying code doesn't correctly set up ref counting before passing
the internally created runnable to QThreadPoolPrivate. this later
results in failed assertions about the ref counting.

instead create a qrunnable of our function so we can use
tryStart(QRunnable) which has correct ref counting code.

this prevents crashing when used with full on debug builds of Qt

M  +6    -1    src/localLister.cpp

https://invent.kde.org/utilities/filelight/commit/83d15a5a71bf189627c28dd2eb2e2a9f41863648
Comment 20 Thomas Bettler 2023-01-01 18:25:09 UTC
well done :-) 
that fixed it for me
Comment 21 Andreas Sturmlechner 2023-01-01 18:27:55 UTC
Why did you enable debug, anyway?
Comment 22 Thomas Bettler 2023-01-01 19:25:15 UTC
originally debug is enabled for qtcore to produce meaninful backtraces for a couple of bugs with digikam, kwin/plasma-integration, mesa/opencl, and others. :-)
I never experienced such a runtime issue due to debug enabled until now...
Comment 23 Andreas Sturmlechner 2023-01-01 20:25:35 UTC
(In reply to Thomas Bettler from comment #22)
> originally debug is enabled for qtcore to produce meaninful backtraces for a
> couple of bugs with digikam, kwin/plasma-integration, mesa/opencl, and
> others. :-)
> I never experienced such a runtime issue due to debug enabled until now...
That's not what +debug does, it actually enables extra debug codepaths that may affect runtime behaviour as you just experienced.

For backtraces, read here: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
Comment 24 Jaak Ristioja 2023-01-01 22:04:41 UTC
I can also confirm that the committed fix solves this issue. Thank you very much! :-)

I'm using debug builds of Qt for mostly the same reasons: it helps debugging. More specifically, I think I turned on USE=debug for Qt on my Gentoo system when I was hacking on BibleTime code, which also uses Qt. I guess I was dealing with some Qt intricacies which I hoped to solve that way.
Comment 25 Albert Astals Cid 2023-02-02 00:00:28 UTC
Git commit 9853ce1045834f4f4b94a4745a473a1cda8c60fa by Albert Astals Cid, on behalf of Harald Sitter.
Committed on 01/02/2023 at 21:06.
Pushed by aacid into branch 'kde/5.15'.

correctly set up ref counting in QThreadPool::tryStart(std::function)

this function was inconsistent with the QThreadPool::tryStart(QRunnable)
overload, where ref counting does get set up correctly. the lack of ref
counting setup would later cause trouble because we assert the ref
counting state all over QThreadPool. to prevent failed assertions we
correctly set up ref counting now.

this change is not applicable to Qt6 because the ref counting has
already been removed there:
https://github.com/qt/qtbase/commit/ecfda98d1f91c6a7da0d89826558d856cd88e670

M  +4    -0    src/corelib/thread/qthreadpool.cpp

https://invent.kde.org/qt/qt/qtbase/commit/9853ce1045834f4f4b94a4745a473a1cda8c60fa