Skip to content

test/go: TestRuntimeSetFinalizerTinyObjects is flaky #2275

Description

@MeteorsLiu

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions