Skip to content

Build a mock host that exercises the cdylib concurrently under sanitizers #6

Description

@himura467

Goal

Prove correctness under the conditions the protocol actually imposes: concurrent foreign-thread invocation, strict ownership rules, and memory safety across the ABI.

Tasks

  • Rust mock host: dlopens the built cdylib, fires concurrent requests from N OS threads, validates responses, always calls nsgi_free_response exactly once
  • Memory/thread sanitizers (ASAN/TSAN, or valgrind on Linux) over the mock-host suite in CI
  • Ruby-level unit tests: request wrapping (incl. null-when-len-0 cases), response building, exception→500
  • Concurrency stress test proving fibers interleave during I/O (e.g. app that sleeps via the scheduler; total wall time must be ≪ sum of sleeps)
  • Buffer-leak test: app stashes an IO::Buffer and touches it after the request completes → must raise, not crash

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions