Skip to content

Trouble with pipe on OS X #8904

Closed
Closed
@killerswan

Description

@killerswan

Today, make check fails like so:

...
running 1280 tests
test [run-pass] run-pass/anon-extern-mod.rs ... ok
test [run-pass] run-pass/alloca-from-derived-tydesc.rs ... ok
test [run-pass] run-pass/alias-uninit-value.rs ... ok
/bin/sh: line 1: 20869 Abort trap: 6           x86_64-apple-darwin/stage2/bin/compiletest --compile-lib-path x86_64-apple-darwin/stage2/lib --run-lib-path x86_64-apple-darwin/stage2/lib/rustc/x86_64-apple-darwin/lib --rustc-path x86_64-apple-darwin/stage2/bin/rustc --clang-path /usr/bin/clang++ --llvm-bin-path /Users/kevin/code/rust/llvm/x86_64-apple-darwin/Release+Asserts/bin --aux-base /Users/kevin/code/rust/src/test/auxiliary/ --stage-id stage2-x86_64-apple-darwin --target x86_64-apple-darwin --adb-path= --adb-test-dir= --rustcflags "   -O --target=x86_64-apple-darwin" --src-base /Users/kevin/code/rust/src/test/run-pass/ --build-base x86_64-apple-darwin/test/run-pass/ --ratchet-metrics tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-rpass-metrics.json --mode run-pass --logfile tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-rpass.log
make: *** [tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-rpass.ok] Error 134

Running that command alone gives the error:

rust $ x86_64-apple-darwin/stage2/bin/compiletest --compile-lib-path x86_64-apple-darwin/stage2/lib --run-lib-path x86_64-apple-darwin/stage2/lib/rustc/x86_64-apple-darwin/lib --rustc-path x86_64-apple-darwin/stage2/bin/rustc --clang-path /usr/bin/clang++ --llvm-bin-path /Users/kevin/code/rust/llvm/x86_64-apple-darwin/Release+Asserts/bin --aux-base /Users/kevin/code/rust/src/test/auxiliary/ --stage-id stage2-x86_64-apple-darwin --target x86_64-apple-darwin --adb-path= --adb-test-dir= --rustcflags "   -O --target=x86_64-apple-darwin" --src-base /Users/kevin/code/rust/src/test/run-pass/ --build-base x86_64-apple-darwin/test/run-pass/ --ratchet-metrics tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-rpass-metrics.json --mode run-pass

running 1280 tests
test [run-pass] run-pass/anon-extern-mod.rs ... ok
test [run-pass] run-pass/alias-uninit-value.rs ... ok
test [run-pass] run-pass/alloca-from-derived-tydesc.rs ... ok
test [run-pass] run-pass/anon-trait-static-method.rs ... ok
test [run-pass] run-pass/argument-passing.rs ... ok
test [run-pass] run-pass/alignment-gep-tup-like-1.rs ... ok
test [run-pass] run-pass/anon-extern-mod-cross-crate-2.rs ... ok
task <unnamed> failed at 'assertion failed: `(left == right) && (right == left)` (left: `-1`, right: `0`)', /Users/kevin/code/rust/src/libstd/os.rs:400
task <unnamed> failed at 'assertion failed: `(left == right) && (right == left)` (left: `-1`, right: `0`)', /Users/kevin/code/rust/src/libstd/os.rs:400
Abort trap: 6

The code failing seems to be here in os.rs:

#[cfg(unix)]
pub fn pipe() -> Pipe {
    unsafe {
        let mut fds = Pipe {input: 0 as c_int,
                            out: 0 as c_int };
        assert_eq!(libc::pipe(&mut fds.input), (0 as c_int));
        return Pipe {input: fds.input, out: fds.out};
    }
}

It looks like pipe is failing here for some reason.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions