Skip to content

v1.17.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 14:26

libxtc (1.17.0-1) unstable; urgency=medium

  • ThreadSanitizer support for the cooperative-fiber runtime (requested
    by the PG-integration team). The coro substrates now emit the TSan
    fiber-IDENTITY API (__tsan_create_fiber / __tsan_switch_to_fiber /
    __tsan_destroy_fiber) under clang -fsanitize=thread, so TSan tracks
    per-fiber happens-before across cooperative switches instead of
    collapsing every coroutine into one confused thread. This is
    DISTINCT from and mutually exclusive with the ASan stack-switch
    annotations (v1.13.0): a TSan build emits only the identity calls,
    an ASan build only the stack-switch calls, so a TSan build no longer
    link-fails on __sanitizer_start_switch_fiber (which the TSan runtime
    does not provide). clang-only by design (gcc libtsan has no fiber
    support). A full clang TSan build runs the fiber suite
    (test_fctx/async/proc/svr/chan) with zero TSan warnings; a new CI
    job (tsan-fibers) keeps it green. Zero cost / zero symbols in a
    non-sanitized build.
  • Test coverage: closed the documented io_common.c and svr.c
    branch-coverage gaps with targeted guard tests (io_init/fini/wakeup
    NULL guards, the live wakeup+coalesce path, and the xtc_svr
    start/stop/join/reply/call/cast XTC_E_INVAL edges).
  • Docs: corrected the stale "CI not flipped to SUAR=1" caveat (flipped
    since v1.13.0); recorded that Windows multi-core scalability is not
    claimed and is gated behind the Win32-fiber-substrate fix.
  • No public xtc_* API change from 1.16.0.

-- Greg Burd greg@burd.me Sun, 12 Jul 2026 10:06:55 -0400