Comments (3)
Is this related to #155?
from nix.
I believe this is a separate issue. If I comment out test_wait from #155 this issue still reproduces.
from nix.
@carllerche, actually looks like this is sort of related to #155 at least in that it does not reproduce if I set RUST_TEST_THREADS=1. I ran cargo test
in a loop for 2 hours with over 11,000 runs before I stopped it. I never saw a failure. Without the environment variable it never ran anywhere near this long without an error.
I don't think this is the same wait
problem from #155 - it's a different race against other tests. test_tcgetattr
iterates over file descriptors 0..5. What are fds 3, 4 and 5? I believe these fds are being opened and closed by other tests. Here's an example of a possible race:
- Thread 1: runs some other test which opens fd 3 which is not a TTY
- Thread 2: runs
test_tcgetattr
- Thread 2: calls tcgetattr on fd 3 which fails with ENOTTY
- Thread 1: closes fd 3
- Thread 2: calls isatty on fd 3 which fails with EBADF
- Thread 2:
test_tcgetattr
compares the error codes and the assert fails.
Anyway, setting RUST_TEST_THREADS=1 avoids these races.
from nix.
Related Issues (20)
- API request: sync on MacOS
- test_initgroups fails.
- MSRV 1.77.0 TODO HOT 1
- RecvMsg.cmsg() should check MSG_CTRUNC HOT 2
- ForkPty Always returns Parent HOT 1
- ControlMessageOwned::UdpGroSegments size mismatches the actual size HOT 1
- Test `statfs_call()` fails on macOS because `statfs()` and `statvfs()` report different number of i-nodes HOT 4
- Question about why cfg(linux_android) is used in places when #[cfg(target_os = "linux")] seems fine. HOT 1
- ptctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, addr, len, invalid_name) returns EFAULT rather than EINVAL under QEMU HOT 8
- EventFd::defuse doesn't work HOT 6
- Shouldn't set `#[deny(warnings)]` outside of CI HOT 1
- warn that nix::sys::signalfd::siginfo is not siginfo_t HOT 2
- Some Nix wrappers are not signal-safe HOT 2
- Nix 0.30.0 TODO
- Test `test_timer::alarm_fires()` times out
- Skip the Haiku CI as Rust std is broken on it
- `ptrace::getregs` & `ptrace::getregset` may lead to UB of uninitialized data read HOT 4
- can we use this library to do fuse(file systems in user space)? HOT 3
- Allow `sendmsg` to accept a preallocated `Vec` HOT 1
- ModuleInitFlags is missing MODULE_INIT_COMPRESSED_FILE HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix.