Skip to content

test_ask_relief: 'the waiting core's other actors run' races a 400 ms pause (11 of 20 under macOS ASan) #3483

Closed

Description

@nicolas-maman

tests/runtime/test_ask_relief.c, "Ask relief: the waiting core's other actors run", failed on the macOS ASan leg of PR #3477 (a docs and examples PR that changes no runtime code; the same job passes on main):

ASSERT_EQ failed at tests/runtime/test_ask_relief.c:154: expected 20, got 11
  [FAIL] Ask relief: the waiting core's other actors run (444ms)

The test sleeps 50 ms after sending A, then sends D 20 messages, and expects all 20 handled (and counted in a->watched) while A waits 400 ms for B's reply. Under AddressSanitizer on a busy macOS runner, 11 of the 20 got through before the reply: the assertion is bounded by wall-clock time, not by an event. The check should wait for D to have taken the 20 (or hold B's reply until it has) rather than race a 400 ms pause.

Filed for the next batch; the failed job was re-run.

Activity

  1. nicolas-maman commented on Oct 30, 2026

    @nicolas-maman
    CollaboratorAuthor

    Again on #3477 (ba6da17), under Valgrind on Linux this time: the same assertion (test_ask_relief.c:154), and because a failed ASSERT returns before the test's free(a); free(b); free(d), Valgrind also reports its actors definitely lost (1,760 bytes direct, 3,520 indirect, from relief_actor at test_ask_relief.c:84). Fixing the wait should end both; the test could also free on its failure path.

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

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions