Hi,

I am trying to port some Rust libraries to DragonFly, specifically the
[nix] crate to access UN*X APIs from Rust.

Some test cases randomly fail. Specifically one test case that uses
fork() and waitpid() is failing [2], where wait() returns ECHILD, i.e.
no child. When I execute the tests sequentially, everything is fine, but
when I run them in parallel, sometimes they hang.

I uploaded a gzipped binary to

        https://leaf.dragonflybsd.org/~mneumann/test-nix.gz

To run it:

        setenv RUST_BACKTRACE 1
        # sequential
        ./test-nix --test-threads 1

        # parallel
        ./test-nix --test-threads 10

        # Run only certain test cases
        ./test-nix --test-threads 10 test_unistd

Any help appreciated.

Regards,

  Michael


[nix]: https://github.com/nix-rust/nix
[2]: https://github.com/nix-rust/nix/blob/master/test/test_unistd.rs#L45

Reply via email to