Skip to content

Non-deterministic test suite execution failures #5024

Closed
@symbiont-joseph-kachmar

Description

General summary/comments (optional)

stack test seems to non-deterministically fail when executing a test suite for a multi-project repository with parallelism enabled (e.g. stack build -j8 --test) with the following errors:

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

/tmp/stack-7235c340cf08101f/test-ghc-env: openBinaryFile: resource busy (file is locked)

I haven't been able to pin down a reliable reproduction, however if I were to guess I'd say it's got something to do with the testGhcEnvRelFile, possible either colliding with an existing on in this call:

writeFileUtf8Builder fp ghcEnv

...or bubbling up from Cabal or ghc somehow?

Steps to reproduce

Unable to reliably reproduce.

Expected

stack build -j8 --test should successfully execute all tests in a multi-project repository.

Actual

stack build -j8 --test fails non-deterministically with an error message about busy resources (locked files).

Stack version

$ stack --version
Version 2.1.3, Git revision 0fa51b9925decd937e4a993ad90cb686f88fa282 (7739 commits) x86_64 hpack-0.31.2

Method of installation

  • Compiled from source via cabal-install
  • Official binary

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