| Summary: | --track-fds=yes generates errors that cannot be suppressed for valgrind internal --xml-file= | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Arnaud Desitter <arnaud.desitter> |
| Component: | memcheck | Assignee: | Julian Seward <jseward> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ahajkova, mark |
| Priority: | NOR | ||
| Version First Reported In: | 3.23.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Other | ||
| See Also: |
https://bugs.kde.org/show_bug.cgi?id=311655 https://bugs.kde.org/show_bug.cgi?id=202770 |
||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Don't leave fds created with --log-file, --xml-file or --log-socket open | ||
|
Description
Arnaud Desitter
2024-06-11 18:53:33 UTC
yes, --track-fds obviously should ignore the --xml-file=xxx file descriptors. Thanks for reporting. Will investigate. This is probably the same underlying issues as bug #311655 Created attachment 170559 [details]
Don't leave fds created with --log-file, --xml-file or --log-socket open
Don't leave fds created with --log-file, --xml-file or --log-socket open
prepare_sink_fd and prepare_sink_socket will create a new file
descriptor for the output sink. finalize_sink_fd then copies the fd
to the safe range, so it doesn't conflict with any application fds.
If we created the original fd ourselves, it was a VgLogTo_File or
VgLogTo_Socket, not VgLogTo_Fd, finalize_sink_fd should close it.
Also close socket when connecting fails in VG_(connect_via_socket).
Add a testcase for --log-file and --xml-file which prints output to
/dev/stderr
commit fbd7596f8342f0b0fbbe088d960da839a8bdb839 Author: Mark Wielaard <mark@klomp.org> Date: Sun Jun 16 21:23:08 2024 +0200 Don't leave fds created with --log-file, --xml-file or --log-socket open prepare_sink_fd and prepare_sink_socket will create a new file descriptor for the output sink. finalize_sink_fd then copies the fd to the safe range, so it doesn't conflict with any application fds. If we created the original fd ourselves, it was a VgLogTo_File or VgLogTo_Socket, not VgLogTo_Fd, finalize_sink_fd should close it. Also close socket when connecting fails in VG_(connect_via_socket). Add a testcase for --log-file and --xml-file which prints output to /dev/stderr https://bugs.kde.org/show_bug.cgi?id=202770 https://bugs.kde.org/show_bug.cgi?id=311655 https://bugs.kde.org/show_bug.cgi?id=488379 Co-authored-by: Alexandra Hájková <ahajkova@redhat.com |