zeroshade opened a new pull request, #1299: URL: https://github.com/apache/arrow-go/pull/1299
### Rationale for this change The Ubuntu RC verification job intermittently fails with AddressSanitizer *internal* CHECK failures under `go test -asan`, striking arbitrary pure-Go packages with no failing Go assertion. Most recent occurrence on `main`: https://github.com/apache/arrow-go/actions/runs/34250658983/job/102145334765 — ```text AddressSanitizer: CHECK failed: sanitizer_common.h:522 "((i)) < ((size_))" #2 InternalMmapVectorNoCtor<ThreadContextBase*>::operator[] #3 ThreadRegistry::StartThread sanitizer_thread_registry.cpp:314 #4 AsanThread::ThreadStart FAIL github.com/apache/arrow-go/v18/arrow/util 0.287s ``` Sibling signatures over the last month include `sanitizer_thread_registry.cpp:161/316`, `sanitizer_allocator_secondary.h:297`, and plain segfaults, hitting `arrow/float16`, `arrow/internal/dictutils`, `arrow/util`, and `arrow/flight/flightsql/example`. Every crash site is GCC libasan's thread-registry/allocator bookkeeping at thread start or exit: the Go runtime creates and retires threads in ways GCC's libasan thread registry does not tolerate. This is the dominant recurring RC verification flake (~5 of the last ~11 Ubuntu failures). ### What changes are included in this PR? When `ci/scripts/test.sh` selects `-asan`, export `CC=clang`/`CXX=clang++` if clang is available and `CC` is not already set, so the test binaries link LLVM's compiler-rt ASan runtime instead of GCC's libasan. Environments without clang (e.g. the Debian golang images) keep the current behavior unchanged. `ubuntu-latest` runners ship clang, so the RC `Verify (ubuntu-latest)` job — the only recurring victim — picks up the LLVM runtime automatically. ### Are these changes tested? - `bash -n` and `shellcheck` pass on the edited script - This PR's own RC `Verify (ubuntu-latest)` check executes exactly this code path with clang ### Are there any user-facing changes? No, CI-only. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
