The GitHub Actions job "CI" on tvm-ffi.git/pyobject has failed.
Run started by GitHub user cyx-6 (triggered by cyx-6).

Head commit for run:
6a79edb2b7258c82ee665f05efc55143f34327fc / Yaxing Cai <[email protected]>
[REFACTOR][Python] Rework wrapper tying to tp_dealloc cache-&-revive

Refine the Python-wrapper-to-C++-object tying mechanism introduced in the
prior commit. Move wrapper cleanup from tp_finalize (__del__) to tp_dealloc
(__dealloc__), and revive an Inactive (dead-but-cached) allocation in place
so a re-fetched wrapper keeps a stable id() at the same address.

- object.pxi: drive cleanup from __dealloc__ via TVMFFIPyTpDealloc; rework
  make_ret_object into the cache-&-revive dispatcher (LIVE HIT drops the
  caller's redundant +1; REVIVAL reuses the inactive allocation via the
  thread-local revive slot); install the custom tp_alloc / tp_free slots for
  every registered FFI type at the _update_registry choke point.
- helpers.h: two-output TVMFFIPyTryGetAttachedPyObject(chandle, &out) plus
  TVMFFIPyIsDetached; document the tagged_pyobj state machine (Detached /
  Active / Inactive), its invariants, and where each transition happens.
- base.pxi / function.pxi: track the renamed externs.
- tests: add TestNoUnboundedLeak (one pinned wrapper per distinct chandle
  must not accumulate) and trim heavy iteration counts on the tying tests.

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

With regards,
GitHub Actions via GitBox


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

Reply via email to