Skip to content

flaky perry-stdlib test: thread_exit_releases_the_threads_external_buffer_registrations ('EXTERNAL_BUFFER_REGISTRY outlived the thread', ~1/2000) #11547

Closed

Description

@proggeramlug

runtime_thread_exit_tests::symbols_tests::thread_exit_releases_the_threads_external_buffer_registrations failed once in about 2,000 filtered runs of runtime_thread_exit_tests on main. The runs were on perrymaster with CI env (CARGO_PROFILE_TEST_DEBUG=0 CARGO_PROFILE_DEV_DEBUG=0 CARGO_INCREMENTAL=0). Assertion:

EXTERNAL_BUFFER_REGISTRY outlived the thread

Likely cause, unverified: the test checks membership by address only, the same defect #11544 found for SYMBOL_POINTERS (#11539). A sibling test's buffer can reuse the freed block and register the same address. Suggested fix: check by identity (address plus a monotonically increasing id or generation), as #11544 does. Keep a mutation check to show the test still catches a real release gap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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