RESOLVED FIXED306214
build-and-analyze: WebKit checker lists diverged between --enable-webkit-checkers and --only-smart-pointers
https://bugs.webkit.org/show_bug.cgi?id=306214
Summary build-and-analyze: WebKit checker lists diverged between --enable-webkit-chec...
David Kilzer (:ddkilzer)
Reported 2026-01-25 09:37:54 PST
The WebKit checker list in build-and-analyze has diverged between two command-line options: - --enable-webkit-checkers: only enables 6 WebKit-specific checkers - --only-smart-pointers: enables 15 WebKit-specific checkers (including the same 6) The lists should be identical since they both claim to enable "WebKit checkers". The --enable-webkit-checkers option is missing 9 checkers that are available in --only-smart-pointers. This can be verified with --dry-run: ``` cd OpenSource Tools/Scripts/build-and-analyze --output-dir /tmp/test --enable-webkit-checkers --dry-run Tools/Scripts/build-and-analyze --output-dir /tmp/test --only-smart-pointers --dry-run ``` The ANALYZER_FLAGS output shows different numbers of webkit.* and alpha.webkit.* checkers.
Attachments
David Kilzer (:ddkilzer)
Comment 1 2026-01-25 09:37:55 PST
Fixed by extracting the complete list of 15 WebKit checkers into a global WEBKIT_CHECKERS constant and using it in both code paths. The fix involved: 1. Creating a global constant with all 15 checkers: ``` WEBKIT_CHECKERS = [ 'alpha.webkit.ForwardDeclChecker', 'alpha.webkit.MemoryUnsafeCastChecker', 'alpha.webkit.NoUncheckedPtrMemberChecker', 'alpha.webkit.NoUnretainedMemberChecker', 'alpha.webkit.RetainPtrCtorAdoptChecker', 'alpha.webkit.UncheckedCallArgsChecker', 'alpha.webkit.UncheckedLocalVarsChecker', 'alpha.webkit.UncountedCallArgsChecker', 'alpha.webkit.UncountedLocalVarsChecker', 'alpha.webkit.UnretainedCallArgsChecker', 'alpha.webkit.UnretainedLambdaCapturesChecker', 'alpha.webkit.UnretainedLocalVarsChecker', 'webkit.NoUncountedMemberChecker', 'webkit.RefCntblBaseVirtualDtor', 'webkit.UncountedLambdaCapturesChecker', ] ``` 2. Updating both code paths to use the constant: ``` if args.enable_webkit_checkers: additional_checkers.extend(WEBKIT_CHECKERS) if args.only_smart_pointers: additional_checkers.extend(WEBKIT_CHECKERS) ``` This ensures both options use the same complete list of WebKit checkers and eliminates future divergence.
Radar WebKit Bug Importer
Comment 2 2026-01-25 09:38:01 PST
David Kilzer (:ddkilzer)
Comment 3 2026-01-25 09:58:17 PST
EWS
Comment 4 2026-01-26 15:01:04 PST
Committed 306247@main (7e19925f7d5a): <https://commits.webkit.org/306247@main> Reviewed commits have been landed. Closing PR #57208 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.