Bug#1119150: "udevadm test" gives "free(): invalid pointer"

Philipp Marek philipp at marek.priv.at
Mon Oct 27 17:13:07 GMT 2025


Package: udev
X-Debbugs-Cc: philipp at marek.priv.at
Version: 258.1-1
Severity: important

While investigating a problem with pcscd[1]
I noticed a crash in udevadm:

# gdb --args udevadm test -a add 
/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb1/1-2
     ...
     Queued commands:
       RUN{builtin} : uaccess

     Unloaded hardware database.
     Unloaded kernel module index.
     Unloaded link configuration context.
     free(): invalid pointer

     Program received signal SIGABRT, Aborted.
     __GI_abort () at ./stdlib/abort.c:91
     warning: 91     ./stdlib/abort.c: Datei oder Verzeichnis nicht 
gefunden
     (gdb) bt
     #0  __GI_abort () at ./stdlib/abort.c:91
     #1  0x00007ffff78d6291 in __libc_message_impl 
(fmt=fmt at entry=0x7ffff7a5832d "%s\n") at 
../sysdeps/posix/libc_fatal.c:134
     #2  0x00007ffff794b465 in malloc_printerr 
(str=str at entry=0x7ffff7a56100 "free(): invalid pointer") at 
./malloc/malloc.c:5829
     #3  0x00007ffff79503dc in _int_free_check (av=0x7ffff7a94ac0 
<main_arena>, p=0x7fffffff66c0, size=<optimized out>) at 
./malloc/malloc.c:4560
     #4  _int_free (av=0x7ffff7a94ac0 <main_arena>, p=0x7fffffff66c0, 
have_lock=0) at ./malloc/malloc.c:4692
     #5  __GI___libc_free (mem=0x7fffffff66d0) at ./malloc/malloc.c:3476
     #6  0x00007ffff7e2329e in ?? () from 
/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-258.so
     #7  0x00007ffff7d4ef93 in _hashmap_clear () from 
/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-258.so
     #8  0x00007ffff7d4f032 in _hashmap_free () from 
/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-258.so
     #9  0x00007ffff7e17699 in sd_device_unref () from 
/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-258.so
     #10 0x000055555559e049 in ?? ()
     #11 0x00005555555802b7 in ?? ()
     #12 0x0000555555573153 in ?? ()
     #13 0x00007ffff78d6ca8 in __libc_start_call_main 
(main=main at entry=0x555555572f40, argc=argc at entry=5, 
argv=argv at entry=0x7fffffffeb88) at 
../sysdeps/nptl/libc_start_call_main.h:58
     #14 0x00007ffff78d6d65 in __libc_start_main_impl 
(main=0x555555572f40, argc=5, argv=0x7fffffffeb88, init=<optimized out>, 
fini=<optimized out>, rtld_fini=<optimized out>, 
stack_end=0x7fffffffeb78) at ../csu/libc-start.c:360
     #15 0x0000555555575551 in ?? ()

Is that enough data or should I
show locals for some frames as well?



Ad 1: Sees a hardware token when run manually as root,
       but not when started via systemd, I guess that
       access rights on /dev/bus/usb/*/* don't work out



-- Package-specific info:

-- System Information:
Debian Release: forky/sid
   APT prefers testing
   APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.16.10+deb14-rt-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_AT:de
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages udev depends on:
ii  libblkid1                   2.41.2-1
ii  libc6                       2.41-12
ii  libkmod2                    34.2-2
ii  libsystemd-shared           258.1-1
ii  libudev1                    258.1-1
ii  systemd [systemd-sysusers]  258.1-1

udev recommends no packages.

udev suggests no packages.

Versions of packages udev is related to:
ii  systemd  258.1-1

-- no debconf information



More information about the Pkg-systemd-maintainers mailing list