-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(RHEL-30372) Fix TEST-17-UDEV under ASan (and a couple of gcc warnings) #260
(RHEL-30372) Fix TEST-17-UDEV under ASan (and a couple of gcc warnings) #260
Conversation
Fixes gcc 13 -Wenum-int-mismatch which are enabled by default. (cherry picked from commit aa70dd6) Related: RHEL-30372
gcc 13 -Wenum-int-mismatch reminds us that enum != int (cherry picked from commit e14afe3) Related: RHEL-30372
gcc 13 -Wenum-int-mismatch, enabled by default, reminds us enum ! = int (cherry picked from commit 9264db1) Related: RHEL-30372
Since f387005 we started generating coredumps by default (up to certain size). This change has one unintentional effect on our test suite - if a sanitized binary (udevd worker here) crashes and ASan is instructed to allow core dumping (via disable_coredump=0 and use_madv_dontdump=1), we try to dump a relatively big core file (~80 MiB), and since the test suite configures systemd-coredumpd to dump the cores into the journal, we try to append it to the journal message about the crash. However, journal complains that the message with the coredump is too big so the crash report is not written, and we end up with coredumpctl not showing the crash, which the test in this case uses to monitor if the udevd worker's job timed out: [ 17.873463] systemd-udevd[1617]: null: Worker [1625] processing SEQNUM=3588 is taking a long time [ 17.876823] systemd-udevd[1625]: null: Spawned process '/bin/sleep 60' [1626] is taking longer than 3s to complete ... [ 24.223459] systemd-udevd[1617]: null: Worker [1625] processing SEQNUM=3588 killed [ 24.265141] systemd[1]: Created slice system-systemd\x2dcoredump.slice. [ 24.284960] systemd[1]: Started [email protected]. [ 27.545120] systemd-journald[1225]: Failed to write entry to /var/log/journal/6da99a97048e4f08abd4ddabcf92bbdd/system.journal (51 items, 89252196 bytes) despite vacuuming, ignoring: Argument list too long [ 27.551759] systemd-coredump[1709]: ==1709==LeakSanitizer has encountered a fatal error. [ 27.551759] systemd-coredump[1709]: ==1709==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1 [ 27.551759] systemd-coredump[1709]: ==1709==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc) The upstream version of this test doesn't suffer from this because it was recently-ish rewritten to not check for the crash event (5592608, but we're missing some udevd prerequisites for that to work in RHEL9), and we also started instructing ASan to allow coredumps after that change, so the issue was never encountered there in the first place. Since we don't really care about the actual coredump in this case, let's just temporarily override the core rlimit to 0 for the udevd process. Related: RHEL-30372 rhel-only
9185588
to
7bb8317
Compare
Commit validationTracker - RHEL-30372 The following commits meet all requirements
Tracker validationSuccess🟢 Tracker RHEL-30372 has set desired product: Pull Request validationSuccess🟢 CI - All checks have passed Auto MergeSuccess🟢 Pull Request is not marked as draft and it's not blocked by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Resolves: #259.