phobos icon indicating copy to clipboard operation
phobos copied to clipboard

std.experimental.allocator.building_blocks.allocator_list: Flaky unittests since v2.111

Open kinke opened this issue 9 months ago • 4 comments

I've seen this module's unittests newly fail sporadically, i.e., not consistently. At least twice:

  • DMD FreeBSD CI (https://github.com/dlang/dmd/actions/runs/14202895666/job/39793758312?pr=21133#step:3:7803):
    ****** FAIL debug64 std.experimental.allocator.building_blocks.allocator_list
    core.exception.AssertError@std/experimental/allocator/building_blocks/allocator_list.d(500): Assertion failure
    
  • LDC macOS x86_64 CI (https://github.com/ldc-developers/ldc/actions/runs/14049565198/job/39337280925?pr=4877#step:12:3605, https://github.com/ldc-developers/ldc/actions/runs/14419064983/job/40439352050)
    The following tests FAILED:
    	732 - std.experimental.allocator.building_blocks.allocator_list-debug (Timeout)
    
    (with a generous 2-minutes timeout)

I guess introduced in https://github.com/dlang/phobos/pull/10594.

kinke avatar Apr 01 '25 19:04 kinke

I've seen it hang on macOS arm64 too, but don't have the link to the log anymore. So far, I think I've really only seen it hang on FreeBSD and macOS, not on Linux or Windows.

kinke avatar Apr 16 '25 18:04 kinke

Thankfully, these are experimental so we can break them if we need to. But this is yet another in the plus column for the "Delete Allocators in V3" argument.

LightBender avatar Apr 16 '25 22:04 LightBender

It seems the allocator_list has issues when running multi-threaded. An assert is triggered, but not shown because the program freezes due to a lock that is never released by unwinding as that is not generated for nothrow functions. See also https://github.com/dlang/phobos/pull/10876#issuecomment-3364636987

rainers avatar Oct 03 '25 07:10 rainers

Removing the eliding of exception handling code for nothrow blocks is approved. I haven't got to it yet.

On Fri, 3 Oct 2025, 20:52 Rainer Schuetze, @.***> wrote:

rainers left a comment (dlang/phobos#10730) https://github.com/dlang/phobos/issues/10730#issuecomment-3364658989

It seems the allocator_list has issues when running multi-threaded. An assert is triggered, but not shown because the program freezes due to a lock that is never released by unwinding as that is not generated for nothrow functions. See also #10876 (comment) https://github.com/dlang/phobos/pull/10876#issuecomment-3364636987

— Reply to this email directly, view it on GitHub https://github.com/dlang/phobos/issues/10730#issuecomment-3364658989, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHSL427EYEX5CQ7ZSUEAW33VYTNNAVCNFSM6AAAAAB2HYBLGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTGNRUGY2TQOJYHE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

rikkimax avatar Oct 03 '25 07:10 rikkimax