-
Notifications
You must be signed in to change notification settings - Fork 1.4k
fix(checklocks): enhance diagnostics and deduplication in failure reporting #11741
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
base: master
Are you sure you want to change the base?
Conversation
I keep tagging you to get attention on the |
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 3f8b63f PiperOrigin-RevId: 761287214
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 3f8b63f PiperOrigin-RevId: 761287214
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 3f8b63f PiperOrigin-RevId: 761287214
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 3f8b63f PiperOrigin-RevId: 761287214
@EtiennePerot Could you point me to a direction to understand how to get this merge? Any guidelines? Any help to decipher failed CI checks? |
…e reporting - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Signed-off-by: Kemal Akkoyun <[email protected]>
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 5759a5d PiperOrigin-RevId: 761287214
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 5759a5d PiperOrigin-RevId: 761287214
…orting This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics. Previous output: ```text -: return with unexpected locks held (locks: &({param:s}.mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003d9fe80}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db0a00}.trace)).mu) exclusively) -: return with unexpected locks held (locks: &(*(&({*ssa.Call:0x14003db1600}[0].trace)).mu) exclusively) ``` Current output: ```text # gvisor.dev/gvisor/tools/checklocks/test test/basics.go:130:6: return with unexpected locks held (locks: &({param:tc}.mu) exclusively) test/methods.go:95:6: lock a.mu (&({param:a}.mu)) not held exclusively (locks: no locks held) ```` - Introduced a mechanism to track the current function during checks for improved diagnostics when SSA positions are missing. - Enhanced the `maybeFail` function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key. - Updated the `passContext` struct to include a new `reported` map for tracking reported messages. Signed-off-by: Kemal Akkoyun <[email protected]> FUTURE_COPYBARA_INTEGRATE_REVIEW=#11741 from kakkoyun:existing_issues 5759a5d PiperOrigin-RevId: 761287214
Looks like the tests are failing with:
You should be able to see this on BuildKite (although it's buried in the output as it has a lot of other stuff), let me know if that's not the case. |
This change aims to improve the clarity and accuracy of failure reporting in the analysis tool, reducing noise in diagnostics.
Previous output:
Current output:
maybeFail
function to build a message string for deduplication, ensuring identical diagnostics are not reported multiple times for the same position key.passContext
struct to include a newreported
map for tracking reported messages.Signed-off-by: Kemal Akkoyun [email protected]