How to know when a BT for background crash is useful when Konqi and GNOME Abrt don't catch it?

When I looked through drkonqi-coredump-gui (in order to locate what would become the content of bugzilla.redhat.com/show_bug.cgi?id=2323199#c24), I saw:

           PID: 194707 (adb)
           UID: 1000 (RokeJulianLockhart)
           GID: 1000 (RokeJulianLockhart)
        Signal: 11 (SEGV)
     Timestamp: Fri 2025-03-21 12:01:20 GMT (24h ago)
  Command Line: adb -L tcp:5037 fork-server server --reply-fd 4
    Executable: /home/RokeJulianLockhart/.cache/mozilla/firefox/iauorfww.snrxu8/adb/adb
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.mozilla.firefox@77378d81bc6a466482b7d178299d4107.service
          Unit: user@1000.service
     User Unit: app-org.mozilla.firefox@77378d81bc6a466482b7d178299d4107.service
         Slice: user-1000.slice
     Owner UID: 1000 (RokeJulianLockhart)
       Boot ID: b0befa71a542421bb445b7f72a8056c5
    Machine ID: b4f0bef5ffd640fba0ab31fdaa2820b8
      Hostname: Beedell.RokeJulianLockhart.desktop.SSV2AY
       Storage: /var/lib/systemd/coredump/core.adb.1000.b0befa71a542421bb445b7f72a8056c5.194707.1742558480000000.zst (present)
  Size on Disk: 354.9K
       Message: Process 194707 (adb) of user 1000 dumped core.
                
                Module /home/RokeJulianLockhart/.cache/mozilla/firefox/iauorfww.snrxu8/adb/adb without build-id.
                Module /home/RokeJulianLockhart/.cache/mozilla/firefox/iauorfww.snrxu8/adb/adb
                Stack trace of thread 194707:
                #0  0x00005589d66d81af n/a (/home/RokeJulianLockhart/.cache/mozilla/firefox/iauorfww.snrxu8/adb/adb + 0x5121af)
                ELF object binary architecture: AMD x86-64

Due to the lack of information there, I didn’t expect it to be useful. However, I did manage to acquire a trace:

Core was generated by `/usr/bin/kaccess'.
Program terminated with signal SIGSEGV, Segmentation fault.
Downloading 4.06 K source file /usr/src/debug/glibc-2.40-21.fc41.x86_64/nptl/pthread_kill.c
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44                                                                                                                               
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7f6d99235980 (LWP 249300))]
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f6d9a880183 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:78
#2  0x00007f6d9a826f9e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f6d9cc4a37e in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kf6-kcrash-6.11.0-1.fc41.x86_64/src/kcrash.cpp:605
#4  <signal handler called>
#5  QArrayDataPointer<QInputDevice const*>::data (this=0x0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/tools/qarraydatapointer.h:120
#6  QArrayDataPointer<QInputDevice const*>::constEnd (this=0x0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/tools/qarraydatapointer.h:127
#7  QList<QInputDevice const*>::cend (this=0x0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/tools/qlist.h:644
#8  QtPrivate::sequential_erase_one<QList<QInputDevice const*>, QInputDevice const*> (c=..., t=<synthetic pointer>: <optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/tools/qcontainertools_impl.h:389
#9  QList<QInputDevice const*>::removeOne<QInputDevice const*> (this=0x0, t=<synthetic pointer>: <optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/tools/qlist.h:613
#10 QInputDevicePrivate::unregisterDevice (dev=dev@entry=0x55ea3d3c5860) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qinputdevice.cpp:360
#11 0x00007f6d9b6fe7d3 in QInputDevice::~QInputDevice (this=this@entry=0x55ea3d3c5860, __in_chrg=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qinputdevice.cpp:110
#12 0x00007f6d9b730ad7 in QPointingDevice::~QPointingDevice (this=this@entry=0x55ea3d3c5860, __in_chrg=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qpointingdevice.cpp:168
#13 0x00007f6d89582fcf in QXcbScrollingDevice::~QXcbScrollingDevice (this=0x55ea3d3c5860, __in_chrg=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/plugins/platforms/xcb/qxcbscrollingdevice_p.h:29
#14 QXcbScrollingDevice::~QXcbScrollingDevice (this=0x55ea3d3c5860, __in_chrg=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/plugins/platforms/xcb/qxcbscrollingdevice_p.h:29
#15 0x00007f6d9af4b8ae in QObject::event (this=0x55ea3d3c5860, e=0x55ea3d3c5880) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qobject.cpp:1403
#16 0x00007f6d9c23d9b8 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55ea3d3c5860, e=0x55ea3d3c5880) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3296
#17 0x00007f6d9aef3590 in QCoreApplication::notifyInternal2 (receiver=0x55ea3d3c5860, event=0x55ea3d3c5880) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1172
#18 0x00007f6d9aef37ed in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1612
#19 0x00007f6d9aef6f51 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=52, data=0x55ea3d3849e0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1946
#20 0x00007f6d9aef71fd in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1800
#21 0x00007f6d9b0b55c9 in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/thread/qthread_unix.cpp:403
#22 (anonymous namespace)::terminate_on_exception<QThreadPrivate::finish()::<lambda()> >(struct {...} &&) (t=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/thread/qthread_unix.cpp:311
#23 0x00007f6d9b0b5895 in QThreadPrivate::finish (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/thread/qthread_unix.cpp:386
#24 destroy_current_thread_data (p=0x55ea3d3849e0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/thread/qthread_unix.cpp:130
#25 Cleanup::~Cleanup (this=<optimized out>, __in_chrg=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/thread/qthread_unix.cpp:180
#26 0x00007f6d9a829180 in __cxa_finalize (d=0x7f6d9b479020) at cxa_finalize.c:97
#27 0x00007f6d9ae53a97 in __do_global_dtors_aux () from /lib64/libQt6Core.so.6
#28 0x00007ffdccba50e0 in ?? ()
#29 0x00007f6d9ce2d0f2 in _dl_call_fini (closure_map=0x7f6d9ca4aa60) at dl-call_fini.c:43
Backtrace stopped: frame did not save the PC
(gdb)

Considering that bugs.kde.org/enter_bug.cgi states:

If you’re not sure this is actually a bug, instead post about it at https://discuss.kde.org.

If you’re reporting a crash, attach a backtrace with debug symbols; see Guidelines and HOWTOs/Debugging/How to create useful crash reports - KDE Community Wiki.

…and contains a generally mandatory reproduction section:

STEPS TO REPRODUCE

OBSERVED RESULT

EXPECTED RESULT

…and:

  1. The trace I’ve acquired does contain a few ??s
  2. I have no idea what caused it

…is it useful, at all?

Since what I can see there looks to be entirely within Qt, it’s not super useful for KDE developers, except for those with Qt experience. It also looks incomplete so we can’t tell how it started to determine if any KDE code is at fault for triggering it.

I’d say this one is not useful enough to report.

1 Like

Is a good way to determine this whether Konqi catches it? I think it’s only ever ignored incomplete traces with missing symbols, in my experience.