Skip to content

Key a splat by its source line and not the function it was inlined into - #86

Merged
tamnd merged 1 commit into
mainfrom
splat-location
Oct 13, 2026
Merged

tamnd merged 1 commit into
mainfrom
splat-location

Conversation

@tamnd

@tamnd tamnd commented Oct 13, 2026

Copy link
Copy Markdown
Owner

On 6.12.111 X64, rk test failed the rucc kernel on one splat that only its log had:

WARNING: CPU: N PID: N at drivers/gpu/drm/drm_rect.c:137 drm_calc_scale+N

The reference log has the same warning at the same line, the same number of times, from the same KUnit cases (negative src and negative dst in drm_rect_test expect the WARN_ON). The only difference is the function name. GCC inlines the static drm_calc_scale into drm_rect_calc_hscale and drm_rect_calc_vscale, and rucc keeps it as a function, so the reference key ends in drm_rect_calc_hscale+N.

The function after a source location tells which function the code was inlined into, and that is a compiler choice. This change drops it from the normalized first line when a source location comes before it. The source location stays, so a warning at a different line is still a different splat. Lines with no source location, such as BUG: unable to handle page fault, do not change.

Tested on server2: cargo fmt --check -p rk, cargo clippy -p rk --all-targets -- -D warnings and cargo test -p rk (136 passed, with a new test for this case).

@tamnd tamnd added kind/bug Something in the harness is wrong area/rk The rk command line area/boot QEMU rig, initramfs and rk-init labels Oct 13, 2026
@tamnd
tamnd merged commit 7335901 into main Oct 13, 2026
2 checks passed
@tamnd
tamnd deleted the splat-location branch October 13, 2026 03:53
@tamnd tamnd mentioned this pull request Oct 13, 2026
7 of 13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/boot QEMU rig, initramfs and rk-init area/rk The rk command line kind/bug Something in the harness is wrong

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant