control: severity -1 normal control: tags -1 + moreinfo upstream
Am 25.05.21 um 15:29 schrieb Simon Richter:
Package: systemd Version: 241-7~deb10u7 Severity: important Tags: upstream Hi, I have a Docker container where I compile FPGA images using the QuartusII toolchain, but this fails with realloc(): invalid pointer Aborted Investigating this, I got a backtrace from gdb: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f242ac38535 in __GI_abort () at abort.c:79 #2 0x00007f242ac8f508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f242ad9a28d "%s\n") at ../sysdeps/posix/libc_fatal.c:181 #3 0x00007f242ac95c1a in malloc_printerr (str=str@entry=0x7f242ad98587 "realloc(): invalid pointer") at malloc.c:5341 #4 0x00007f242ac9ae4a in __GI___libc_realloc (oldmem=0x7f242583b378, bytes=9) at malloc.c:3166 #5 0x00007f24256afaf5 in strextend_with_separator (x=x@entry=0x7ffe16aeaba0, separator=0x0, separator=0x0) at ../src/basic/string-util.c:920 #6 0x00007f24256b3081 in chase_symlinks.constprop.36 (path=<optimized out>, ret=0x7ffe16aeac98, flags=0, original_root=0x0) at ../src/basic/fs-util.c:1009 #7 0x00007f24256b8c0c in device_set_syspath (device=0x19e5760, _syspath=_syspath@entry=0x7ffe16aead10 "/sys/bus/serio/devices/serio0", verify=verify@entry=true) at ../src/libsystemd/sd-device/sd-device.c:148 #8 0x00007f24256b930a in sd_device_new_from_syspath (ret=ret@entry=0x7ffe16aeadd0, syspath=syspath@entry=0x7ffe16aead10 "/sys/bus/serio/devices/serio0") at ../src/libsystemd/sd-device/sd-device.c:223 #9 0x00007f24256bf572 in enumerator_scan_dir_and_add_devices (enumerator=enumerator@entry=0x19e5690, basedir=basedir@entry=0x7f24256c77c8 "bus", subdir1=subdir1@entry=0x7f24257d014b "serio", subdir2=subdir2@entry=0x7f24256c77ef "devices") at ../src/libsystemd/sd-device/device-enumerator.c:471 #10 0x00007f24256bf945 in enumerator_scan_dir (enumerator=enumerator@entry=0x19e5690, basedir=basedir@entry=0x7f24256c77c8 "bus", subdir=<optimized out>, subsystem=0x0) at ../src/libsystemd/sd-device/device-enumerator.c:568 #11 0x00007f24256c221f in enumerator_scan_devices_all (enumerator=0x19e5690) at ../src/libsystemd/sd-device/device-enumerator.c:777 #12 device_enumerator_scan_devices (enumerator=0x19e5690) at ../src/libsystemd/sd-device/device-enumerator.c:844 #13 udev_enumerate_scan_devices (udev_enumerate=<optimized out>, udev_enumerate=<optimized out>) at ../src/libudev/libudev-enumerate.c:377 #14 0x00007f2430302f45 in ?? () from /opt/altera/20.1/quartus/linux64/libsys_cpt.so I've tried to build a minimal test case, which succeeds: #include <libudev.h> int main(int argc, char **argv) { struct udev *u = udev_new(); struct udev_enumerate *e = udev_enumerate_new(u); return udev_enumerate_scan_devices(e); }
With "succeeds", I guess you failed to reproduce the issue or do you mean you succeeded in building a minimal test case which reproduces the issue?
So, in order to get better debug information, I've tried to rebuild the systemd package with debug information. For convenience, I did this inside a container, and got several failing test cases. I then upgraded to the version in sid to see if the problem had been solved in the meantime, but building this package also failed:
I'm not sure that the explicit asserts you see in the test suite inside docker are the same issue as the invalid pointer access you encountered above, so I probably wouldn't entangle them.
Please consider filing an upstream issue at https://github.com/systemd/systemdIt's likely that upstream has follow-up questions which you can answer better then me.
Regards, Michael
OpenPGP_signature
Description: OpenPGP digital signature