Skip to content

test_schedule_many_distinct_shapes_stays_bounded fails on Arch Linux #1152

Open

Description

@lahwaacz

Hi, I'm building a package for Arch Linux from release 0.27.0, but one of the tests always fails:

test internal::tests::test_scheduler_sn::test_schedule_many_distinct_shapes_stays_bounded ... FAILED

failures:

---- internal::tests::test_scheduler_sn::test_schedule_many_distinct_shapes_stays_bounded stdout ----
[2026-10-25T10:25:44Z ERROR tako::internal::scheduler::main] Scheduler made no progress within given time limit

thread 'internal::tests::test_scheduler_sn::test_schedule_many_distinct_shapes_stays_bounded' (22683) panicked at crates/tako/src/internal/tests/test_scheduler_sn.rs:1694:5:
assertion failed: start.elapsed() < Duration::from_secs(10)


failures:
    internal::tests::test_scheduler_sn::test_schedule_many_distinct_shapes_stays_bounded

test result: FAILED. 265 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.19s

error: test failed, to rerun pass `-p tako --lib`

Our build server has AMD EPYC 9454P 48-Core Processor and the build steps are recorded here. Any idea what is wrong?

Activity

  1. spirali commented on Oct 27, 2026

    @spirali
    Collaborator

    It seems as a problem with microlp. I will try to investigate more at the end of the week.

  2. spirali commented on Oct 30, 2026

    @spirali
    Collaborator

    The problem is that microlp is not able to find any feasible solution even in the fallback (simplified) formulation which I did not expect that can happend. I will fix it with a second level fallback that will not use MILP solver.

    Btw: Would it be possible to use HiGHs solver in the Arch? Previously, the solver was used only in solving NUMA allocations, so it was not that critical but recent versions use MILP solver in the server so using microlp could be damaging for much larger usecases.

  3. lahwaacz commented on Nov 1, 2026

    @lahwaacz
    ContributorAuthor

    We had a problem with highs on Arch Linux previously: #1066
    I think the state of things did not change much since that time, so I think compatibility-wise it would be better to rely on milp.

  4. spirali commented on Nov 2, 2026

    @spirali
    Collaborator

    In PR #1160 is flag "highs-system" that tries to link existing highs, so it do not have to be built. Maybe it help with problems on Arch.

    I am also attaching the alternative option found by Claude, which I did not tested:

    Cause: makepkg adds -flto=auto, but the PKGBUILD adds -ffat-lto-objects only to CFLAGS. HiGHS is C++, so it is built from CXXFLAGS and libhighs.a ends up with almost only GCC LTO bytecode. The Rust link cannot use that, so the Highs_* symbols stay undefined. Switching from lld to GNU ld gives the same error.

    Fix: add the flag to CXXFLAGS as well:

    # fix building with LTO
    CFLAGS+=' -ffat-lto-objects'
    CXXFLAGS+=' -ffat-lto-objects'
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