Package: valgrind
Version: 1:3.24.0-3
Severity: important
Tags: upstream fixed-upstream patch
User: [email protected]
Usertags: glibc-2.42
Control: forwarded -1 https://bugs.kde.org/show_bug.cgi?id=502126

Dear maintainer,

glibc 2.42 inserted extra frames before doing a syscall to support
proper thread cancellation. This breaks various suppressions involving
checking syscall arguments, which can be seen for instance in the
fuse-zip autopkgtest:

| 67s ==3083== Syscall param writev(vector[2]) points to uninitialised byte(s)
| 67s ==3083==    at 0x4BFB2D7: __internal_syscall_cancel (cancellation.c:64)
| 67s ==3083==    by 0x4BFB2FC: __syscall_cancel (cancellation.c:75)
| 67s ==3083==    by 0x4C7BEE8: writev (writev.c:26)
| 67s ==3083==    by 0x4877DF6: ??? (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x4879D4A: ??? (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x487CF06: fuse_reply_ioctl (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x4875C1B: ??? (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x487A23A: ??? (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x487B6FE: ??? (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x48780D6: fuse_session_loop (in 
/usr/lib/x86_64-linux-gnu/libfuse.so.2.9.9)
| 67s ==3083==    by 0x10CEDA: ??? (in /usr/bin/fuse-zip)
| 67s ==3083==    by 0x4B94F67: (below main) (libc_start_call_main.h:58)

The full log is available there:
https://ci.debian.net/packages/f/fuse-zip/unstable/amd64/64454512/

The issue has already been fixed upstream with these commits:
f3f30becff5851b0d0b2caa7e96e661c7889f7d1 filter_gdb.in: __syscall_cancel_arch 
is just in a syscall
ddcb3aa3ed3188cd28c193225245a76e928b850b filter_gdb.in: filter out 
__libc_do_syscall
41441379baa63b5471385361d08c8df317705b69 Handle top __syscall_cancel frames 
when getting stack traces

All these commits are also in the 3.25.0 release.

Regards
Aurelien

Reply via email to