Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spawning / Forking a process on QNX Neutrino can fail #108594

Closed
flba-eb opened this issue Mar 1, 2023 · 0 comments · Fixed by #109432
Closed

Spawning / Forking a process on QNX Neutrino can fail #108594

flba-eb opened this issue Mar 1, 2023 · 0 comments · Fixed by #109432
Labels
C-bug Category: This is a bug. O-neutrino OS: QNX Neutrino, a POSIX-compatible real-time operating system

Comments

@flba-eb
Copy link
Contributor

flba-eb commented Mar 1, 2023

This only applies to the Tier 3 target QNX Neutrino OS versions 7.1 and before.

When a process runs fork/spawn in one thread and changes existing file descriptors in another thread at the same time, fork/spawn can fail. This seems not to be very common on applications, but happens a lot in Rusts test suites and remote-test-server.

As of #106673, Rusts standard library retries four times (as suggested by QNX' documentation), but this can be insufficient. Up to 150 retries have been observed when running the test suite.

See #106673 for more details.

cc: @gh-tr

@rustbot label +O-neutrino

@flba-eb flba-eb added the C-bug Category: This is a bug. label Mar 1, 2023
@rustbot rustbot added the O-neutrino OS: QNX Neutrino, a POSIX-compatible real-time operating system label Mar 1, 2023
@bors bors closed this as completed in 1e17cef Jun 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. O-neutrino OS: QNX Neutrino, a POSIX-compatible real-time operating system
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants