Package: usbguard-notifier
Version: 0.1.0-3+b1
Severity: important
X-Debbugs-Cc: bugreporter...@protonmail.ch

Dear Maintainer,

after launching `usbguard-notifier` it runs fine. When I connect a USB-C hub to 
machine, however,
a few notifications do appear (as expected) but `usbguard-notifier` crashes with

terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to show notification


This behaviour is reproducible reliably on my KDE-based system. I tried running 
in GDB, following
https://wiki.debian.org/HowToGetABacktrace to get debug information. But these 
seem to be
missing for the relevant source file.


Excerpt from the GDB session:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to show notification
[Thread 0x7fffeffff6c0 (LWP 3429811) exited]

Thread 5 "usbguard-notifi" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffef7fe6c0 (LWP 3429812)]
Download failed: Invalid argument.  Continuing without source file 
./nptl/./nptl/pthread_kill.c.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, 
no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
warning: 44     ./nptl/pthread_kill.c: No such file or directory
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff709e9ff in __pthread_kill_internal (threadid=<optimized out>, 
signo=6) at ./nptl/pthread_kill.c:89
#2  0x00007ffff7049cc2 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/posix/raise.c:26
#3  0x00007ffff70324ac in __GI_abort () at ./stdlib/abort.c:73
#4  0x00007ffff72a1a3d in __gnu_cxx::__verbose_terminate_handler () at 
../../../../src/libstdc++-v3/libsupc++/vterminate.cc:95
#5  0x00007ffff72b344a in __cxxabiv1::__terminate (handler=<optimized out>) at 
../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:48
#6  0x00007ffff72a15e9 in std::terminate () at 
../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc:58
#7  0x00007ffff72b36c8 in __cxxabiv1::__cxa_throw (obj=<optimized out>, 
tinfo=0x7ffff7456eb8 <typeinfo for std::runtime_error>, dest=0x7ffff72c85e0 
<std::runtime_error::~runtime_error()>)
    at ../../../../src/libstdc++-v3/libsupc++/eh_throw.cc:98
#8  0x00005555555588a5 in 
usbguardNotifier::Notifier::sendDevicePresenceNotification 
(this=this@entry=0x7fffffffda40, info=...) at src/Notifier.cpp:176
#9  0x000055555555aa2b in 
usbguardNotifier::Notifier::sendDevicePresenceCountdownCallback 
(this=0x7fffffffda40, id=46) at src/Notifier.cpp:140
#10 0x00007ffff72e1224 in std::execute_native_thread_routine 
(__p=0x7fffe8101410) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#11 0x00007ffff709cb7b in start_thread (arg=<optimized out>) at 
./nptl/pthread_create.c:448
#12 0x00007ffff711a7b8 in __GI___clone3 () at 
../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) up 8
Download failed: Invalid argument.  Continuing without source file 
./src/Notifier.cpp.
#8  0x00005555555588a5 in 
usbguardNotifier::Notifier::sendDevicePresenceNotification 
(this=this@entry=0x7fffffffda40, info=...) at src/Notifier.cpp:176
warning: 176    src/Notifier.cpp: No such file or directory
(gdb) l
171     in src/Notifier.cpp


and a disassembly of the area where the crash was triggered


(gdb) set print asm-demangle on
(gdb) disassemble /s
[...]
   0x000055555555887c <-6644>:  mov    0x278(%rsp),%rax
   0x0000555555558884 <-6636>:  sub    %fs:0x28,%rax
   0x000055555555888d <-6627>:  jne    0x5555555588c5 
<usbguardNotifier::Notifier::sendDevicePresenceNotification(usbguardNotifier::Notifier::DevicePresenceInfo&)-6571>
   0x000055555555888f <-6625>:  mov    0xc712(%rip),%rdx        # 0x555555564fa8
   0x0000555555558896 <-6618>:  mov    0xc733(%rip),%rsi        # 0x555555564fd0
   0x000055555555889d <-6611>:  mov    %rbp,%rdi
   0x00005555555588a0 <-6608>:  call   0x555555558330 <__cxa_throw@plt>
=> 0x00005555555588a5 <-6603>:  endbr64


I can provide a compressed transcript of the full GDB session if you consider 
that useful.


Best regards,
Jan



-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.22-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), 
LANGUAGE=en_GB.utf8
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages usbguard-notifier depends on:
ii  init-system-helpers  1.68
ii  libc6                2.41-7
ii  libgcc-s1            14.2.0-19
ii  libglib2.0-0t64      2.84.1-2
ii  libnotify4           0.8.4-1
ii  librsvg2-2           2.60.0+dfsg-1
ii  libstdc++6           14.2.0-19
ii  libusbguard1         1.1.3+ds-3

usbguard-notifier recommends no packages.

usbguard-notifier suggests no packages.

-- no debconf information

Reply via email to