Summary
TestRuntimeSetFinalizerTinyObjects can fail intermittently in LLGo CI when too few finalizers run before its deadline.
Observed failure
The failure occurred in PR #2272, whose changes are limited to the GOROOT test runner and its tests.
Failed job: https://github.com/xgo-dev/llgo/actions/runs/30794803798/job/91625841291
Environment:
- Ubuntu latest
- LLVM 19
- Go 1.24.2
- LLGo test shard 0
--- FAIL: TestRuntimeSetFinalizerTinyObjects (3.00s)
finalizer_test.go:61: only 12/32 finalizers ran
FAIL github.com/goplus/llgo/test/go
The test creates 32 *int32 objects with finalizers and requires more than half of the finalizers to run within three seconds while repeatedly calling runtime.GC().
Other LLGo jobs in the same workflow completed successfully, including the Go 1.24.2 Ubuntu shard 1 job and both Go 1.26.5 Ubuntu shards.
Reproduction status
A focused local stress run at the PR head on Darwin/arm64 with Go 1.24.0 completed 50 iterations successfully:
llgo test -run "^TestRuntimeSetFinalizerTinyObjects$" -count=50 -timeout=10m ./test/go
PASS
There is currently no deterministic reproducer; the failure appears timing- or environment-dependent.
Summary
TestRuntimeSetFinalizerTinyObjectscan fail intermittently in LLGo CI when too few finalizers run before its deadline.Observed failure
The failure occurred in PR #2272, whose changes are limited to the GOROOT test runner and its tests.
Failed job: https://github.com/xgo-dev/llgo/actions/runs/30794803798/job/91625841291
Environment:
The test creates 32
*int32objects with finalizers and requires more than half of the finalizers to run within three seconds while repeatedly callingruntime.GC().Other LLGo jobs in the same workflow completed successfully, including the Go 1.24.2 Ubuntu shard 1 job and both Go 1.26.5 Ubuntu shards.
Reproduction status
A focused local stress run at the PR head on Darwin/arm64 with Go 1.24.0 completed 50 iterations successfully:
There is currently no deterministic reproducer; the failure appears timing- or environment-dependent.