Skip to content

fspy preload can abort or deadlock cached tasks during signals, fork, or teardown #605

Description

@wan9chi

fspy’s Unix preload must not make a traced process less reliable. Interposed calls can run from signal handlers, post-fork() children, or during teardown, where unsafe runtime state can cause deadlocks or aborts.

Expected behavior:

  • Never panic, abort, or deadlock the workload.
  • Preserve the original call’s result and errno.
  • Work safely during signals, after fork(), and during teardown on Linux and macOS.
  • If tracing fails, let the workload continue but skip caching the incomplete trace.
  • Add regression coverage for these contexts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions