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

std: Add support for SOCK_SEQPACKET Unix sockets #50348

Closed
wants to merge 6 commits into from

Conversation

dkl
Copy link
Contributor

@dkl dkl commented Apr 30, 2018

Hi,

this patch adds support for SOCK_SEQPACKET unix sockets to std::os::unix::net. It is based on @rrichardson's PR for the old unix-socket crate, but ported to the current libstd, with some more unit tests.

SOCK_SEQPACKET support was already mentioned in the RFC for unix-socket. The main idea is to add two new structs:

  • UnixSeqpacketListener similar to UnixListener with bind() and accept() for the server-side.
  • UnixSeqpacket similar to UnixDatagram but only with connect(), no bind(), for the client-side. This provides send() and recv() methods, but not send_to()/recv_from() since it's connection-oriented, and also no io::Read/io::Write, due to SOCK_SEQPACKET reads/writes transferring one message at a time, as opposed to being a byte stream.

Without this feature in std, programs have to use plain unsafe libc directly to open the socket, and then possibly use the FromRawFd constructors of UnixDatagram/UnixListener and stick to the methods that make sense for SOCK_SEQPACKET.

I'm not sure how to handle the stability attributes for this - it's unstable, but can it be assigned to the unix_socket feature, or does it need a new feature name and tracking issue?

dkl added 2 commits April 30, 2018 19:32
Based on the patch by Rick Richardson <rick.richardson@gmail.com> for
the old unix-socket crate, ported to the current libstd, with some more
unit tests.

The main idea is to add the two new structs:
* server: `UnixSeqpacketListener` similar to `UnixListener`,
  with bind() and accept().
* client: `UnixSeqpacket` similar to `UnixDatagram`,
  but only with connect(), no bind().

I've marked it all as "unstable" for now, and issue = "0" since there
is no tracking issue yet.
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:start:tidy
tidy check
[00:04:47] * 539 error codes
[00:04:47] * highest error code: E0911
[00:04:48] tidy error: /checkout/src/libstd/sys/unix/ext/net.rs:1499: mismatches to previous in: ["stability level", "since", "tracking issue"]
[00:04:48] some tidy checks failed
[00:04:48] 
[00:04:48] 
[00:04:48] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:48] 
[00:04:48] 
[00:04:48] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:48] Build completed unsuccessfully in 0:01:52
[00:04:48] Build completed unsuccessfully in 0:01:52
[00:04:48] make: *** [tidy] Error 1
[00:04:48] Makefile:79: recipe for target 'tidy' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:04e3e82a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@pietroalbini
Copy link
Member

Thanks for this PR! The bot failed to assign a reviewer for this, picking someone from the libs team. @sfackler?

@pietroalbini pietroalbini added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 30, 2018
@kennytm kennytm added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Apr 30, 2018
impl UnixSeqpacketListener {
/// Creates a new `UnixSeqpacketListener` bound to the specified socket.
///
/// Linux provides, as a nonportable extension, a separate "abstract"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't yet support abstract addresses in the stdlib implementation.

/// }
/// }
/// ```
#[unstable(feature = "unix_socket", issue = "0")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The feature name has to be new for tidy to be happy - unix_socket_seqpacket or whatever seems fine.

impl UnixSeqpacket {
/// Connects to the socket named by `path`.
///
/// Linux provides, as a nonportable extension, a separate "abstract"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

@sfackler
Copy link
Member

sfackler commented May 1, 2018

LGTM other than the couple of notes above

cc @rust-lang/libs

@pietroalbini pietroalbini added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 1, 2018
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[01:43:27] ................iiii........ii......................................................................
[01:43:38] ....................................................................................................
[01:43:58] ................................................................i...................................
[01:44:30] ....................................................................................................
[01:44:39] ........................F...................................FFFFFFFFFFFFFFFFFFFFFFFFF..............i
[01:44:50] iii...............................................
[01:44:50] 
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::IncomingSeqpacket (line 1729) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:1738:16
[01:44:50]    |
[01:44:50] 12 | let listener = UnixSeqpacketListener::bind("/path/to/the/socket").unwrap();
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1732:26
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::{UnixSeqpacket, UnixSeqpacketListener};
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1732:41
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::{UnixSeqpacket, UnixSeqpacketListener};
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1734:26
[01:44:50]   |
[01:44:50] 8 | fn handle_client(socket: UnixSeqpacket) {
[01:44:50] 
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1892:19
[01:44:50]   |
[01:44:50] 9 | let addr = socket.local_addr().expect("Couldn't get local address");
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::local_addr (line 1886)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::connect (line 1811) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1815:20
[01:44:50]   |
[01:44:50] 7 | let socket = match UnixSeqpacket::connect("/tmp/socket") {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1813:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::connect (line 1811)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket (line 1777) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1782:14
[01:44:50]   |
[01:44:50] 8 | let socket = UnixSeqpacket::connect(path).unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1779:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1783:21
[01:44:50]   |
[01:44:50] 9 | let _count = socket.send(b"hello world").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:1785:20
[01:44:50]    |
[01:44:50] 11 | let count = socket.recv(&mut buf).unwrap();
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket (line 1777)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::pair (line 1843) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1847:28
[01:44:50]   |
[01:44:50] 7 | let (sock1, sock2) = match UnixSeqpacket::pair() {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1845:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::pair (line 1843)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::peer_addr (line 1903) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1907:14
[01:44:50]   |
[01:44:50] 7 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpac:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2048:8
[01:44:50]   |
[01:44:50] 9 | socket.set_read_timeout(Some(Duration::new(1, 0)))
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:2050:19
[01:44:50]    |
[01:44:50] 11 | assert_eq!(socket.read_timeout().unwrap(), Some(Duration::new(1, 0)));
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::read_timeout (line 2042)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::recv (line 1922) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1926:14
[01:44:50]   |
[01:44:50] 7 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1924:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1928:8
[01:44:50]   |
[01:44:50] 9 | socket.recv(buf.as_mut_slice()).expect("recv function failed");
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::recv (line 1922)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::send (line 1941) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1945:14
[01:44:50]   |
[01:44:50] 7 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1943:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1946:8
[01:44:50]   |
[01:44:50] 8 | socket.send(b"omelette au fromage").expect("send_to function failed");
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::send (line 1941)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_nonblocking (line 2080) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2084:14
[01:44:50]   |
[01:44:50] 7 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2082:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2085:8
[01:44:50]   |
[01:44:50] 8 | socket.set_nonblocking(true).expect("set_nonblocking function failed");
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_nonblocking (line 2080)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_read_timeout (line 1967) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1972:14
[01:44:50]   |
[01:44:50] 8 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1969:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1973:8
[01:44:50]   |
[01:44:50] 9 | socket.set_read_timeout(Some(Duration::new(1, 0)))
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_read_timeout (line 1967)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_write_timeout (line 2009) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2014:14
[01:44:50]   |
[01:44:50] 8 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2011:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2015:8
[01:44:50]   |
[01:44:50] 9 | socket.set_write_timeout(Some(Duration::new(1, 0)))
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_write_timeout (line 2009)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_read_timeout (line 1980) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1986:14
[01:44:50]   |
[01:44:50] 9 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1983:5
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:1987:21
[01:44:50]    |
[01:44:50] 10 | let result = socket.set_read_timeout(Some(Duration::new(0, 0)));
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_read_timeout (line 1980)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_write_timeout (line 2022) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2028:14
[01:44:50]   |
[01:44:50] 9 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2025:5
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:2029:21
[01:44:50]    |
[01:44:50] 10 | let result = socket.set_write_timeout(Some(Duration::new(0, 0)));
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::set_write_timeout (line 2022)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::shutdown (line 2118) stdout ----
[0o/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2098:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2101:31
[01:44:50]   |
[01:44:50] 8 | if let Ok(Some(err)) = socket.take_error() {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::take_error (line 2096)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::try_clone (line 1869) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1873:14
[01:44:50]   |
[01:44:50] 7 | let socket = UnixSeqpacket::connect("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:5::UnixSeqpacket;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:2067:8
[01:44:50]   |
[01:44:50] 9 | socket.set_write_timeout(Some(Duration::new(1, 0)))
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:2069:19
[01:44:50]    |
[01:44:50] 11 | assert_eq!(socket.write_timeout().unwrap(), Some(Duration::new(1, 0)));
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacket::write_timeout (line 2061)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener (line 1474) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:1483:16
[01:44:50]    |
[01:44:50] 12 | let listener = UnixSeqpacketListener::bind("/path/to/the/socket").unwrap();
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1477:26
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::{UnixSeqpacket, UnixSeqpacketListener};
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1477:41
[01:44:50]   |
[01:44:50] 6 | use std::os::unix::net::{UnixSeqpacket, UnixSeqpacketListener};
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1479:26
[01:44:50]   |
[01:44:50] 8 | fn handle_client(socket: UnixSeqpacket) {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]   --> sys/unix/ext/net.rs:1486:24
[01:44:50]    |
[01:44:50] 15 | for socket in listener.incoming() {
[01:44:50]    |
[01:44:50]    |
[01:44:50]    = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener (line 1474)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener::bind (line 1519) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1523:22
[01:44:50]   |
[01:44:50] 7 | let listener = match UnixSeqpacketListener::bind("/path/to/the/socket") {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1521:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacketListener;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener::bind (line 1519)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener::accept (line 1557) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1561:16
[01:44:50]   |
[01:44:50] 7 | let listener = UnixSeqpacketListener::bind("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1559:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacketListener;
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1563:16
[01:44:50]   |
[01:44:50] 9 | match listener.accept() {
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] thread 'sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener::accept (line 1557)' panicked at 'couldn't compile the test', librustdoc/test.rs:321:13
[01:44:50] 
[01:44:50] ---- sys/unix/ext/net.rs - sys::unix::ext::net::UnixSeqpacketListener::local_addr (line 1602) stdout ----
[01:44:50]  error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1606:16
[01:44:50]   |
[01:44:50] 7 | let listener = UnixSeqpacketListener::bind("/path/to/the/socket").unwrap();
[01:44:50]   |
[01:44:50]   |
[01:44:50]   = help: add #![feature(unix_socket_seqpacket)] to the crate attributes to enable
[01:44:50] 
[01:44:50] error[E0658]: use of unstable library feature 'unix_socket_seqpacket'
[01:44:50]  --> sys/unix/ext/net.rs:1604:5
[01:44:50]   |
[01:44:50] 5 | use std::os::unix::net::UnixSeqpacketListener;
[01:44:50]   |
---
60840 ./src/llvm-emscripten/lib
56088 ./obj/build/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin
55348 ./obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release
53584 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/incremental/syntax-284je5yviillk
53580 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/incremental/syntax-284je5yviillk/s-f0mogyxocs-ik70nd-kr0695awam0u
53240 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps
48604 ./obj/build/x86_64-unknown-linux-gnu/stage0/bin
47832 ./obj/build/x86_64-unknown-linux-gnu/stage0-std
46856 ./src/test

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@pietroalbini pietroalbini added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 1, 2018
@shepmaster
Copy link
Member

Ping from triage, @sfackler — looks like all the review comments have been addressed.

@sfackler
Copy link
Member

sfackler commented May 7, 2018

@bors r+

@bors
Copy link
Contributor

bors commented May 7, 2018

📌 Commit d30a049 has been approved by sfackler

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 7, 2018
@bors
Copy link
Contributor

bors commented May 7, 2018

⌛ Testing commit d30a049 with merge 32bc3ed2245383ee841f1c22488875dc386d8de3...

@bors
Copy link
Contributor

bors commented May 7, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 7, 2018
@pietroalbini
Copy link
Member

Seems like the documentation contains invalid links on Windows.

std\os\unix\net\struct.UnixSeqpacket.html:96: broken link fragment `#method.recv_from` pointing to `std\os\unix\net\struct.UnixSeqpacket.html`
std\os\unix\net\struct.UnixSeqpacket.html:122: broken link fragment `#method.send_to` pointing to `std\os\unix\net\struct.UnixSeqpacket.html`

(@TimNN the error bot didn't show up here)

@dkl
Copy link
Contributor Author

dkl commented May 7, 2018

Oops, missed those... send_to/recv_from methods don't exist for UnixSeqpacket, so the doc comments shouldn't have mentioned them.

@sfackler
Copy link
Member

sfackler commented May 8, 2018

@bors r+

@bors
Copy link
Contributor

bors commented May 8, 2018

📌 Commit 85cbd7e has been approved by sfackler

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 8, 2018
@bors
Copy link
Contributor

bors commented May 9, 2018

⌛ Testing commit 85cbd7e with merge 44a40c0671d68ab7a814053f00be596e5acbdfc4...

@bors
Copy link
Contributor

bors commented May 9, 2018

💔 Test failed - status-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 9, 2018
@rust-highfive
Copy link
Collaborator

The job i686-apple of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:02:37]       Memory: 8 GB
[00:02:37]       Boot ROM Version: VMW71.00V.0.B64.1704110547
[00:02:37]       Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
[00:02:37]       SMC Version (system): 2.8f0
[00:02:37]       Serial Number (system): VMUg+b+dtFYW
[00:02:37] 
[00:02:37] hw.ncpu: 4
[00:02:37] hw.byteorder: 1234
[00:02:37] hw.memsize: 8589934592
---
[00:11:41] * unit_from_iter                   lib      stable       1.23.0  
[00:11:41] * universal_impl_trait             lang     stable       1.26.0  
[00:11:41] * unix_ppid                        lib      stable       1.27.0  
[00:11:41] * unix_socket                      lib      stable       1.10.0  
[00:11:41] * unix_socket_seqpacket            lib      unstable     None    
[00:11:41] * unreachable                      lib      stable       1.27.0  
[00:11:41] * unsafe_cell_default              lib      stable       1.10.0  
[00:11:41] * unsafe_no_drop_flag              lang     removed      1.0.0   
[00:11:41] * unsize                           lib      unstable     None    
---
[00:49:20] * unit_from_iter                   lib      stable       1.23.0  
[00:49:20] * universal_impl_trait             lang     stable       1.26.0  
[00:49:20] * unix_ppid                        lib      stable       1.27.0  
[00:49:20] * unix_socket                      lib      stable       1.10.0  
[00:49:20] * unix_socket_seqpacket            lib      unstable     None    
[00:49:20] * unreachable                      lib      stable       1.27.0  
[00:49:20] * unsafe_cell_default              lib      stable       1.10.0  
[00:49:20] * unsafe_no_drop_flag              lang     removed      1.0.0   
[00:49:20] * unsize                           lib      unstable     None    
---
[01:21:19] test sync::rwlock::tests::test_rwlock_try_write ... ok
[01:21:19] test sync::rwlock::tests::test_rwlock_unsized ... ok
[01:21:19] test sys::unix::ext::net::test::abstract_namespace_not_allowed ... ok
[01:21:19] test sys::unix::ext::net::test::basic ... ok
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2505:24
[01:21:19] test sys::unix::ext::net::test::basic_seqpacket ... FAILED
[01:21:19] test sys::unix::ext::net::test::iter ... ok
[01:21:19] test sys::unix::ext::net::test::long_path ... ok
[01:21:19] test sys::unix::ext::net::test::pair ... ok
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2582:18
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2582:18
[01:21:19] test sys::unix::ext::net::test::seqpacket_listener_try_clone ... FAILED
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2530:24
[01:21:19] test sys::unix::ext::net::test::seqpacket_pair ... FAILED
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2632:24
[01:21:19] test sys::unix::ext::net::test::seqpacket_read_with_timeout ... FAILED
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2610:25
[01:21:19] test sys::unix::ext::net::test::seqpacket_timeout ... FAILED
[01:21:19] thread '<unnamed>' panicked at 'Protocol not supported (os error 43)', libstd/sys/unix/ext/net.rs:2554:24
[01:21:19] test sys::unix::ext::net::test::seqpacket_try_clone ... FAILED
[01:21:19] test sync::rwlock::tests::frob ... ok
[01:21:20] test sys::unix::ext::net::test::test_read_timeout ... ok
[01:21:20] test sys::unix::ext::net::test::test_unix_datagram ... ok
[01:21:20] test sys::unix::ext::net::test::test_unix_datagram_recv ... ok
---
[01:21:32] 
[01:21:32] failures:
[01:21:32] 
[01:21:32] failures:
[01:21:32]     sys::unix::ext::net::test::basic_seqpacket
[01:21:32]     sys::unix::ext::net::test::seqpacket_listener_try_clone
[01:21:32]     sys::unix::ext::net::test::seqpacket_pair
[01:21:32]     sys::unix::ext::net::test::seqpacket_read_with_timeout
[01:21:32]     sys::unix::ext::net::test::seqpacket_timeout
[01:21:32]     sys::unix::ext::net::test::seqpacket_try_clone
[01:21:32] test result: FAILED. 766 passed; 6 failed; 2 ignored; 0 measured; 0 filtered out
[01:21:32] 
[01:21:32] error: test failed, to rerun pass '--lib'
[01:21:32] 
[01:21:32] 
[01:21:32] 
[01:21:32] command did not execute successfully: "/Users/travis/build/rust-lang/rust/build/i686-apple-darwin/stage0/bin/cargo" "test" "--target" "i686-apple-darwin" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/Users/travis/build/rust-lang/rust/src/libstd/Cargo.toml" "-p" "std" "--"
[01:21:32] 
[01:21:32] 
[01:21:32] failed to run: /Users/travis/build/rust-lang/rust/build/bootstrap/debug/bootstrap test
[01:21:32] Build completed unsuccessfully in 0:32:25
[01:21:32] Build completed unsuccessfully in 0:32:25
[01:21:32] make: *** [check] Error 1
travis_time:end:054176cd:start=1525838044726357000,finish=1525842936815789000,duration=4892089432000

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0007335c
---
travis_fold:start:after_failure.2
travis_time:start:11e69f83
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
total 1176
drwx------  21 travis  staff    714 May  9 04:53 .
-rw-------@  1 travis  staff  38005 May  9 04:53 stack-probes-lto.stage2-i686-apple-darwin_2018-05-09-045338-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  63281 May  9 04:53 stack-probes-lto.stage2-i686-apple-darwin_2018-05-09-045338_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  59321 May  9 04:53 stack-probes.stage2-i686-apple-darwin_2018-05-09-045333-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  36744 May  9 04:53 stack-probes.stage2-i686-apple-darwin_2018-05-09-045333_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9716 May  9 04:53 simd-target-feature-mixup.stage2-i686-apple-darwin_2018-05-09-045321_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9467 May  9 04:53 signal-exit-status.stage2-i686-apple-darwin_2018-05-09-045318_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9532 May  9 04:53 segfault-no-out-of-stack.stage2-i686-apple-darwin_2018-05-09-045308_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9331 May  9 04:53 running-with-no-runtime.stage2-i686-apple-darwin_2018-05-09-045307_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9473 May  9 04:52 lto-abort.stage2-i686-apple-darwin_2018-05-09-045233_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9676 May  9 04:52 abort.stage2-i686-apple-darwin_2018-05-09-045230_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  10383 May  9 04:52 abort-link-to-unwinding-crates.stage2-i686-apple-darwin_2018-05-09-045229_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  61948 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045223_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  63188 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  62842 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218-2_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  64049 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  11076 May  9 04:50 issue-24313.stage2-i686-apple-darwin_2018-05-09-045016_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9935 May  9 04:47 backtrace.stage2-i686-apple-darwin_2018-05-09-044733-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9966 May  9 04:47 backtrace.stage2-i686-apple-darwin_2018-05-09-044733_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9658 May  9 04:47 abort-on-c-abi.stage2-i686-apple-darwin_2018-05-09-044731_Traviss-Mac-1044.crash
drwx------+ 15 travis  staff    510 Jan 25 19:20 ..
travis_fold:end:after_failure.2
travis_fold:start:after_failure.3
travis_time:start:1f2a5028
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
travis_time:end:1f2a5028:start=1525842938357485000,finish=1525842938389890000,duration=32405000
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0231c719
$ dmesg | grep -i kill
Unable to obtain kernel buffer: Operation not permitted
usage: sudo dmesg
travis_fold:end:after_failure.4

Done. Your build exited with 1.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job i686-apple of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:02:37]       Memory: 8 GB
[00:02:37]       Boot ROM Version: VMW71.00V.0.B64.1704110547
[00:02:37]       Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
[00:02:37]       SMC Version (system): 2.8f0
[00:02:37]       Serial Number (system): VMUg+b+dtFYW
[00:02:37] 
[00:02:37] hw.ncpu: 4
[00:02:37] hw.byteorder: 1234
[00:02:37] hw.memsize: 8589934592
---
[01:21:32] 
[01:21:32] error: test failed, to rerun pass '--lib'
[01:21:32] 
[01:21:32] 
[01:21:32] command did not execute successfully: "/Users/travis/build/rust-lang/rust/build/i686-apple-darwin/stage0/bin/cargo" "test" "--target" "i686-apple-darwin" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/Users/travis/build/rust-lang/rust/src/libstd/Cargo.toml" "-p" "std" "--"
[01:21:32] 
[01:21:32] 
[01:21:32] failed to run: /Users/travis/build/rust-lang/rust/build/bootstrap/debug/bootstrap test
[01:21:32] Build completed unsuccessfully in 0:32:25
[01:21:32] Build completed unsuccessfully in 0:32:25
[01:21:32] make: *** [check] Error 1
travis_time:end:054176cd:start=1525838044726357000,finish=1525842936815789000,duration=4892089432000

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0007335c
---
travis_fold:start:after_failure.2
travis_time:start:11e69f83
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
total 1176
drwx------  21 travis  staff    714 May  9 04:53 .
-rw-------@  1 travis  staff  38005 May  9 04:53 stack-probes-lto.stage2-i686-apple-darwin_2018-05-09-045338-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  63281 May  9 04:53 stack-probes-lto.stage2-i686-apple-darwin_2018-05-09-045338_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  59321 May  9 04:53 stack-probes.stage2-i686-apple-darwin_2018-05-09-045333-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  36744 May  9 04:53 stack-probes.stage2-i686-apple-darwin_2018-05-09-045333_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9716 May  9 04:53 simd-target-feature-mixup.stage2-i686-apple-darwin_2018-05-09-045321_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9467 May  9 04:53 signal-exit-status.stage2-i686-apple-darwin_2018-05-09-045318_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9532 May  9 04:53 segfault-no-out-of-stack.stage2-i686-apple-darwin_2018-05-09-045308_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9331 May  9 04:53 running-with-no-runtime.stage2-i686-apple-darwin_2018-05-09-045307_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9473 May  9 04:52 lto-abort.stage2-i686-apple-darwin_2018-05-09-045233_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9676 May  9 04:52 abort.stage2-i686-apple-darwin_2018-05-09-045230_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  10383 May  9 04:52 abort-link-to-unwinding-crates.stage2-i686-apple-darwin_2018-05-09-045229_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  61948 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045223_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  63188 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  62842 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218-2_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  64049 May  9 04:52 out-of-stack.stage2-i686-apple-darwin_2018-05-09-045218_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff  11076 May  9 04:50 issue-24313.stage2-i686-apple-darwin_2018-05-09-045016_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9935 May  9 04:47 backtrace.stage2-i686-apple-darwin_2018-05-09-044733-1_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9966 May  9 04:47 backtrace.stage2-i686-apple-darwin_2018-05-09-044733_Traviss-Mac-1044.crash
-rw-------@  1 travis  staff   9658 May  9 04:47 abort-on-c-abi.stage2-i686-apple-darwin_2018-05-09-044731_Traviss-Mac-1044.crash
drwx------+ 15 travis  staff    510 Jan 25 19:20 ..
travis_fold:end:after_failure.2
travis_fold:start:after_failure.3
travis_time:start:1f2a5028
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
travis_time:end:1f2a5028:start=1525842938357485000,finish=1525842938389890000,duration=32405000
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0231c719
$ dmesg | grep -i kill
Unable to obtain kernel buffer: Operation not permitted
usage: sudo dmesg
travis_fold:end:after_failure.4

Done. Your build exited with 1.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 9, 2018
@kennytm
Copy link
Member

kennytm commented May 9, 2018

@sfackler
Copy link
Member

sfackler commented May 9, 2018

This may be blocked until we have the portability lint then, unfortunately. We don't currently have a great way to express "unix other than macOS" right now in the std APIs :(

@kennytm
Copy link
Member

kennytm commented May 9, 2018

@sfackler #[cfg(not(any(target_os = "macos", target_os = "ios"))]? There is also std::os::{linux, freebsd, ...}::*

@sfackler
Copy link
Member

sfackler commented May 9, 2018

Sure, we can make it compile, but we don't want methods to be secretly non-portable which a pure-cfg based solution would do.

It doesn't seem reasonable to define identical seqpacket APIs on a separate trait in each of the linux, freebsd, openbsd, android, etc std::os modules.

@kennytm
Copy link
Member

kennytm commented May 9, 2018

OK, I'll mark this S-waiting-on-team then.

@kennytm kennytm added I-nominated S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 9, 2018
@alexcrichton
Copy link
Member

If this is portable everywhere on Unix but osx I'd recommend just putting all this in a crate on crates.io for now (like unix-socket started). Once we've got a better story for this sort of portability in libstd we can move it in, but otherwise I don't think it's critical that this live in the standard library.

@pietroalbini
Copy link
Member

So @rust-lang/libs, is #50348 (comment) the decision?

@alexcrichton
Copy link
Member

Er sorry yes I think I forgot to comment here after triage one week, sorry about that! We discussed this at triage and the conclusion was that we'd prefer if this started out on crates.io and then if there's enough popularity to move it into the standard library we can do so probably without a non-macos module and document that it doesn't work on OSX.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants