The GitHub Actions job "mainline-only" on tvm-ffi.git/main has failed.
Run started by GitHub user tqchen (triggered by tqchen).

Head commit for run:
0ec8dc8befe3c77742cf8c42181d6e3950aa66f0 / Yong Wu <[email protected]>
[FIX] Build dlpack exchange test in a per-test tmp dir to avoid JIT lock hang 
(#677)

Fixes https://github.com/apache/tvm-ffi/issues/641

### root cause
The test JIT-compiles a C++ snippet with torch's
`cpp_extension.load_inline`, which by default builds into the shared
`~/.cache/torch_extensions` cache, serialized by torch's `FileBaton`:
- `try_acquire()` creates an ordinary lock **file** (`os.open`
`O_CREAT|O_EXCL`).
- `wait()` spins on `os.path.exists(lock)` with **no timeout** and no
staleness check.
- `release()` (which deletes the file) only runs on the normal path.

If a build is killed mid-compile — e.g. a CI time limit sends SIGTERM —
the lock file is left behind. On CI where that cache sits on a
persistent shared filesystem, every subsequent run then waits on the
orphaned lock **forever**.

### Fix
Pass `build_directory=tmp_path` to `load_inline` so each run builds in a
fresh, unique directory. The baton lock is always fresh, so a killed
prior run can no longer poison later runs, and the test no longer uses
(or can be poisoned by) any shared cache — independent of the
filesystem.

Report URL: https://github.com/apache/tvm-ffi/actions/runs/29783444163

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to