Skip to content

AllocCheck false positives on macOS ARM with Julia 1.12+ #59

@ChrisRackauckas-Claude

Description

@ChrisRackauckas-Claude

Summary

AllocCheck tests report false positive allocations on macOS ARM (aarch64) with Julia 1.12+. This was discovered in PR #54.

Environment

  • Platform: macOS ARM (aarch64) - GitHub Actions macos-latest runner
  • Julia Version: 1.12.4 (and likely all 1.12.x)
  • AllocCheck Version: 0.2.3

Observed Behavior

Every @check_allocs wrapped function reports exactly 1 allocation:

@check_allocs function encountered 1 errors (1 allocations / 0 dynamic dispatches).

This affects all allocation tests:

  • hasportion checks (6 tests)
  • isscimlstructure checks (2 tests)
  • canonicalize checks (4 tests)

Expected Behavior

These functions should report 0 allocations, as they do on:

  • ✓ Linux (all Julia versions)
  • ✓ Windows (all Julia versions)
  • ✓ macOS with Julia LTS (1.10.x)

Current Workaround

Tests are skipped on macOS ARM + Julia 1.12+ in test/alloccheck/alloc_tests.jl:

const SKIP_ALLOCCHECK = Sys.isapple() && Sys.ARCH == :aarch64 && VERSION >= v"1.12"

Investigation Needed

  1. Determine if this is an AllocCheck.jl bug or Julia 1.12 ARM codegen issue
  2. Check if issue exists in Julia nightly/pre-release
  3. File upstream issue to AllocCheck.jl or Julia if appropriate
  4. Re-enable tests once upstream fix is available

Related

CI Logs

From run https://github.com/SciML/SciMLStructures.jl/actions/runs/20852600937:

  • Job: Tests (1, macos-latest, nopre)
  • 11 errors, all from AllocCheck reporting 1 allocation

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