Skip to content

Commit

Permalink
Try to fix the test_aio_suspend crashes in Travis
Browse files Browse the repository at this point in the history
test_aio_suspend has recently begun to fail on Travis on Linux with
rust-nightly with this error message:

"../sysdeps/pthread/aio_suspend.c:102: do_aio_misc_wait: Assertion
`status == 0 || status == -11' failed"

That error is coming from within glibc itself.  I'm guessing that
glibc's aio_suspend isn't handling signals correctly, probably due to
this bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=13172
  • Loading branch information
asomers committed Jul 12, 2019
1 parent 34a76eb commit 549bfd2
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions test/sys/test_aio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,12 @@ fn test_fsync_error() {
#[test]
#[cfg_attr(all(target_env = "musl", target_arch = "x86_64"), ignore)]
fn test_aio_suspend() {
// Glibc's aio_suspend implementation isn't async-signal-safe, and it causes
// assertions (within glibc) on Travis.
// https://sourceware.org/bugzilla/show_bug.cgi?id=13172
#[cfg(target_env = "glibc")]
let _m = ::SIGNAL_MTX.lock().expect("Mutex got poisoned by another test");

const INITIAL: &[u8] = b"abcdef123456";
const WBUF: &[u8] = b"CDEFG";
let timeout = TimeSpec::seconds(10);
Expand Down

0 comments on commit 549bfd2

Please sign in to comment.