Application: gwenview (23.08.4) Qt Version: 5.15.12 Frameworks Version: 5.114.0 Operating System: Linux 6.7.1-zen1-1-zen x86_64 Windowing System: X11 Distribution: "Arch Linux" DrKonqi: 5.27.10 [KCrashBackend] -- Information about the crash: Images were pretty standard JPEG images, no insane resolution. On a Btrfs RAID5 array connected over USB. There was high load on the volume when the issue occured, and I could not reproduce the issue a couple minutes later. The crash can be reproduced sometimes. -- Backtrace: Application: Gwenview (gwenview), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [KCrash Handler] #6 0x00007bf48751a8df in () at /usr/lib/libjxl.so.0.9 #7 0x00007bf4875e61f0 in JxlDecoderGetColorAsEncodedProfile () at /usr/lib/libjxl.so.0.9 #8 0x00007bf4982826d9 in QJpegXLHandler::countALLFrames() (this=0x7bf448013b20) at /usr/src/debug/kimageformats5/kimageformats-5.114.0/src/imageformats/jxl.cpp:270 #9 0x00007bf498282de1 in QJpegXLHandler::ensureALLCounted() const (this=<optimized out>) at /usr/src/debug/kimageformats5/kimageformats-5.114.0/src/imageformats/jxl.cpp:104 #10 0x00007bf4982833fd in QJpegXLHandler::read(QImage*) (this=0x7bf448013b20, image=0x7bf4759ffa50) at /usr/src/debug/kimageformats5/kimageformats-5.114.0/src/imageformats/jxl.cpp:436 #11 0x00007bf4a81114ee in QImageReader::read(QImage*) (this=this@entry=0x7bf4759ffae0, image=image@entry=0x7bf4759ffa50) at image/qimagereader.cpp:1290 #12 0x00007bf4a811391a in QImageReader::read() (this=this@entry=0x7bf4759ffae0) at image/qimagereader.cpp:1231 #13 0x00007bf4a9b5b7f1 in Gwenview::LoadingDocumentImplPrivate::loadMetaInfo() (this=0x5fe38abf75f0) at /usr/src/debug/gwenview/gwenview-23.08.4/lib/document/loadingdocumentimpl.cpp:295 #14 0x00007bf4a9b54c04 in QtConcurrent::StoredMemberFunctionPointerCall0<bool, Gwenview::LoadingDocumentImplPrivate>::runFunctor() (this=0x5fe38aa1d5b0) at /usr/include/qt/QtConcurrent/qtconcurrentstoredfunctioncall.h:187 #15 QtConcurrent::RunFunctionTask<bool>::run() (this=0x5fe38aa1d5b0) at /usr/include/qt/QtConcurrent/qtconcurrentrunbase.h:114 #16 0x00007bf4a797e541 in QThreadPoolThread::run() (this=0x5fe38aa0a070) at thread/qthreadpool.cpp:100 #17 0x00007bf4a797979a in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #18 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #19 QThreadPrivate::start(void*) (arg=0x5fe38aa0a070) at thread/qthread_unix.cpp:310 #20 0x00007bf4a748e9eb in start_thread (arg=<optimized out>) at pthread_create.c:444 #21 0x00007bf4a75127cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 4 (Thread 0x7bf4860006c0 (LWP 408101) "gwenview"): #1 __pselect (nfds=nfds@entry=5, readfds=readfds@entry=0x7bf485ff7b60, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=<optimized out>, timeout@entry=0x7bf485ff7b50, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/pselect.c:56 #2 0x00007bf4a27356f9 in usbmuxd_listen_inotify () at /usr/src/debug/libusbmuxd/libusbmuxd-2.0.2/src/libusbmuxd.c:923 #3 0x00007bf4a27363cc in usbmuxd_listen () at /usr/src/debug/libusbmuxd/libusbmuxd-2.0.2/src/libusbmuxd.c:979 #4 device_monitor (data=<optimized out>) at /usr/src/debug/libusbmuxd/libusbmuxd-2.0.2/src/libusbmuxd.c:1107 #5 0x00007bf4a748e9eb in start_thread (arg=<optimized out>) at pthread_create.c:444 #6 0x00007bf4a75127cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 3 (Thread 0x7bf486c006c0 (LWP 408100) "Gwenview::Thumb"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5fe38a16b550, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007bf4a748b52f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5fe38a16b550, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007bf4a748dd40 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5fe38a16b500, cond=0x5fe38a16b528) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5fe38a16b528, mutex=0x5fe38a16b500) at pthread_cond_wait.c:618 #5 0x00007bf4a7981524 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5fe38a16b500) at thread/qwaitcondition_unix.cpp:146 #6 QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=this@entry=0x5fe38a13b8e0, mutex=mutex@entry=0x5fe38a13b8d8, deadline=...) at thread/qwaitcondition_unix.cpp:225 #7 0x00007bf4a9babe36 in Gwenview::ThumbnailGenerator::run() (this=0x5fe38a13b870) at /usr/src/debug/gwenview/gwenview-23.08.4/lib/thumbnailprovider/thumbnailgenerator.cpp:265 #8 0x00007bf4a797979a in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #9 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #10 QThreadPrivate::start(void*) (arg=0x5fe38a13b870) at thread/qthread_unix.cpp:310 #11 0x00007bf4a748e9eb in start_thread (arg=<optimized out>) at pthread_create.c:444 #12 0x00007bf4a75127cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 2 (Thread 0x7bf4a18006c0 (LWP 408090) "QDBusConnection"): #1 0x00007bf4a55742f6 in g_main_context_poll_unlocked (priority=2147483647, n_fds=1, fds=0x7bf49c00f130, timeout=<optimized out>, context=0x7bf49c000c50) at ../glib/glib/gmain.c:4653 #2 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7bf49c000c50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4344 #3 0x00007bf4a5514162 in g_main_context_iteration (context=0x7bf49c000c50, may_block=1) at ../glib/glib/gmain.c:4414 #4 0x00007bf4a7b70d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7bf49c000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007bf4a7b20c04 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7bf4a17ffbd0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007bf4a797d576 in QThread::exec() (this=this@entry=0x7bf4a7e3e660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007bf4a7dd6a9a in QDBusConnectionManager::run() (this=0x7bf4a7e3e660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusconnection.cpp:179 #8 0x00007bf4a797979a in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #9 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #10 QThreadPrivate::start(void*) (arg=0x7bf4a7e3e660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:310 #11 0x00007bf4a748e9eb in start_thread (arg=<optimized out>) at pthread_create.c:444 #12 0x00007bf4a75127cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 1 (Thread 0x7bf4a1eb6e40 (LWP 408089) "gwenview"): #1 0x00007bf4a7975b3c in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>, addr=<optimized out>, op=<optimized out>, val=<optimized out>, val2=<optimized out>, addr2=<optimized out>, val3=<optimized out>) at thread/qfutex_p.h:114 #2 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> >(QBasicAtomicInteger<unsigned int>&, QBasicAtomicInteger<unsigned int>::Type) (expectedValue=<optimized out>, futex=<optimized out>) at thread/qfutex_p.h:133 #3 futexSemaphoreTryAcquire_loop<false>(QBasicAtomicInteger<unsigned long long>&, unsigned long long, unsigned long long, int) (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219 #4 futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) (timeout=-1, n=<optimized out>, u=...) at thread/qsemaphore.cpp:262 #5 QSemaphore::acquire(int) (this=0x7ffdde44ad80, n=<optimized out>) at thread/qsemaphore.cpp:326 #6 0x00007bf4a7b56f36 in doActivate<false>(QObject*, int, void**) (sender=0x5fe38a1120f0, signal_index=0, argv=0x7ffdde44ae00) at kernel/qobject.cpp:3906 #7 0x00007bf4a7b57224 in QObject::destroyed(QObject*) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qobject.cpp:219 #8 0x00007bf4a7b4d33c in QObject::~QObject() (this=0x5fe38a1120f0, this=<optimized out>) at kernel/qobject.cpp:1010 #9 0x00007bf4a7e1ba5e in QDBusServiceWatcher::~QDBusServiceWatcher() (this=0x5fe38a1120f0, this=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusservicewatcher.cpp:260 #10 0x00007bf4a7b4cbad in QObjectPrivate::deleteChildren() (this=this@entry=0x5fe38a111ef0) at kernel/qobject.cpp:2137 #11 0x00007bf4a7b4d329 in QObject::~QObject() (this=this@entry=0x5fe38a111ed0, this=<optimized out>) at kernel/qobject.cpp:1115 #12 0x00007bf4a7dec468 in QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase() (this=0x5fe38a111ed0, this=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusabstractinterface.h:68 #13 0x00007bf499a3f248 in OrgKdeKWinTabletModeManagerInterface::~OrgKdeKWinTabletModeManagerInterface() (this=0x5fe38a111ed0, this=<optimized out>) at /usr/src/debug/kirigami2/build/src/libkirigami/tabletmodemanager_interface.cpp:25 #14 OrgKdeKWinTabletModeManagerInterface::~OrgKdeKWinTabletModeManagerInterface() (this=0x5fe38a111ed0, this=<optimized out>) at /usr/src/debug/kirigami2/build/src/libkirigami/tabletmodemanager_interface.cpp:25 #15 0x00007bf4a7b4cbad in QObjectPrivate::deleteChildren() (this=this@entry=0x5fe38a111e40) at kernel/qobject.cpp:2137 #16 0x00007bf4a7b4d329 in QObject::~QObject() (this=<optimized out>, this=<optimized out>) at kernel/qobject.cpp:1115 #17 0x00007bf499a3c7ce in Kirigami::(anonymous namespace)::Q_QGS_privateTabletModeWatcherSelf::innerFunction()::Holder::~Holder() () at /usr/src/debug/kirigami2/kirigami2-5.114.0/src/libkirigami/tabletmodewatcher.cpp:21 #18 0x00007bf4a7442cc6 in __run_exit_handlers (status=status@entry=1, listp=0x7bf4a75da680 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111 #19 0x00007bf4a7442e10 in __GI_exit (status=status@entry=1) at exit.c:141 #20 0x00007bf4a1a31066 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5fe389edadc0, flags=...) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1051 #21 0x00007bf4a1a61558 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103 #22 0x00007bf4a5515f69 in g_main_dispatch (context=0x7bf49c000ec0) at ../glib/glib/gmain.c:3476 #23 0x00007bf4a55743a7 in g_main_context_dispatch_unlocked (context=0x7bf49c000ec0) at ../glib/glib/gmain.c:4284 #24 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7bf49c000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349 #25 0x00007bf4a5514162 in g_main_context_iteration (context=0x7bf49c000ec0, may_block=1) at ../glib/glib/gmain.c:4414 #26 0x00007bf4a7b70d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5fe389f8db30, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #27 0x00007bf4a7b20c04 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffdde44b400, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #28 0x00007bf4a7b220a3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #29 0x00007bf4a8093f12 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #30 0x00007bf4a87b8cda in QApplication::exec() () at kernel/qapplication.cpp:2832 #31 0x00005fe389beba49 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/gwenview/gwenview-23.08.4/app/main.cpp:213 Warning: the current language does not match this frame. [Inferior 1 (process 408089) detached] Reported using DrKonqi
@Nico: From my debugging gwenview a while ago, it has a rather bad threading implementation, so I would rather vote the bug is in gwenview over in kimageformats unless proven otherwise.