rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.24k stars 12.57k forks source link

ICE: index out of bounds in libserialize/leb128.rs #45841

Closed cramertj closed 6 years ago

cramertj commented 6 years ago

We're seeing the following ICE occur intermittently on builds of the Fuchsia OS:

[9131/9214] ACTION //garnet/public/lib/netstack/fidl:net_address_rust_library_lib(//build/toolchain/fuchsia:x64)
FAILED: obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/libgarnet_public_lib_netstack_fidl_net_address.rmeta gen/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/net_address_rust_library.info.toml 
/usr/bin/env ../../build/rust/build_target.py --type lib --name garnet_public_lib_netstack_fidl_net_address --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust --gen-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/lib/netstack/fidl/net_address_rust_library.rust --root-out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64 --root-gen-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen --crate-root /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/lib/netstack/fidl/net_address --cargo /b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/cargo --rustc /b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --target-triple x86_64-unknown-fuchsia --label //garnet/public/lib/netstack/fidl:net_address_rust_library --cmake-dir /b/s/w/ir/kitchen-workdir/buildtools/cmake/bin --vendor-directory /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor --deps //garnet/public/lib/fidl/rust/fidl:fidl //garnet/public/rust/crates/tokio-fuchsia:tokio-fuchsia //garnet/public/rust/crates/fuchsia-zircon:fuchsia-zircon //third_party/rust-crates:futures-0.1.16 --shared-libs-root /b/s/w/ir/kitchen-workdir/out/debug-x86-64/x64-shared --clang_prefix /b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin --sysroot /b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot
warning: package replacement is not used: https://github.com/rust-lang/crates.io-index#fuchsia-zircon-sys:0.3.0
warning: package replacement is not used: https://github.com/rust-lang/crates.io-index#fuchsia-zircon:0.3.0
warning: package replacement is not used: https://github.com/rust-lang/crates.io-index#mio:0.6.10
   Compiling bitflags v1.0.0
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name bitflags /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/bitflags-1.0.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="example_generated"' -C metadata=3da22f8a56b6a934 -C extra-filename=-3da22f8a56b6a934 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling slab v0.3.0
   Compiling futures v0.1.16
   Compiling libc v0.2.32
   Compiling byteorder v1.1.0
   Compiling scoped-tls v0.1.0
   Compiling slab v0.4.0
   Compiling lazycell v0.5.1
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name slab /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/slab-0.3.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=e8c3d0c4d0b61987 -C extra-filename=-e8c3d0c4d0b61987 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name futures /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/futures-0.1.16/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="use_std"' --cfg 'feature="with-deprecated"' -C metadata=7b99f4f2f8609786 -C extra-filename=-7b99f4f2f8609786 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name libc /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/libc-0.2.32/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=9a9a054a20274561 -C extra-filename=-9a9a054a20274561 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name slab /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/slab-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=642cf5165984743f -C extra-filename=-642cf5165984743f --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name scoped_tls /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/scoped-tls-0.1.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=55f016cd1228cee1 -C extra-filename=-55f016cd1228cee1 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name lazycell /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/lazycell-0.5.1/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=75bafcb8b6f9f536 -C extra-filename=-75bafcb8b6f9f536 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name byteorder /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/byteorder-1.1.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=0627887c01e3c5c5 -C extra-filename=-0627887c01e3c5c5 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling log v0.3.8
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name log /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/log-0.3.8/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=0276f4801f20454b -C extra-filename=-0276f4801f20454b --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling cfg-if v0.1.2
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name cfg_if /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/cfg-if-0.1.2/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=da8615a443c29b9d -C extra-filename=-da8615a443c29b9d --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling fuchsia-zircon-sys v0.3.1 (file:///b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon-sys/fuchsia-zircon-sys.rust)
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name fuchsia_zircon_sys /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon-sys/fuchsia-zircon-sys.rust/../../../../../../../../../../garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon-sys/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=bf344c479679f181 -C extra-filename=-bf344c479679f181 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling fuchsia-zircon v0.3.1 (file:///b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon.rust)
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name fuchsia_zircon /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon.rust/../../../../../../../../../garnet/public/rust/crates/fuchsia-zircon/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=4366871d9d3865fe -C extra-filename=-4366871d9d3865fe --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --extern fuchsia_zircon_sys=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libfuchsia_zircon_sys-bf344c479679f181.rmeta --extern bitflags=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libbitflags-3da22f8a56b6a934.rmeta -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling iovec v0.1.1
   Compiling net2 v0.2.31
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name net2 /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/net2-0.2.31/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="duration"' -C metadata=e929b1e053aec546 -C extra-filename=-e929b1e053aec546 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --extern cfg_if=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libcfg_if-da8615a443c29b9d.rmeta --extern libc=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/liblibc-9a9a054a20274561.rmeta --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name iovec /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/iovec-0.1.1/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=a8bcb5b563997735 -C extra-filename=-a8bcb5b563997735 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --extern libc=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/liblibc-9a9a054a20274561.rmeta --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
   Compiling bytes v0.4.5
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name bytes /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/bytes-0.4.5/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=f0fe453f24ce4258 -C extra-filename=-f0fe453f24ce4258 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --extern iovec=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libiovec-a8bcb5b563997735.rmeta --extern byteorder=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libbyteorder-0627887c01e3c5c5.rmeta --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.23.0-nightly (fc3e12a03 2017-11-01) running on x86_64-unknown-linux-gnu
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'index out of bounds: the len is 585728 but the index is 754372', /checkout/src/libserialize/leb128.rs:59:20
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:69
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:58
             at /checkout/src/libstd/panicking.rs:381
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:391
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:577
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:538
   6: std::panicking::begin_panic_fmt
             at /checkout/src/libstd/panicking.rs:522
   7: rust_begin_unwind
             at /checkout/src/libstd/panicking.rs:498
   8: core::panicking::panic_fmt
             at /checkout/src/libcore/panicking.rs:71
   9: core::panicking::panic_bounds_check
             at /checkout/src/libcore/panicking.rs:58
  10: <rustc_metadata::decoder::DecodeContext<'doc, 'tcx> as serialize::serialize::Decoder>::read_str
  11: <syntax_pos::symbol::Symbol as serialize::serialize::Decodable>::decode
  12: serialize::serialize::Decoder::read_struct
  13: rustc_metadata::decoder::<impl rustc_metadata::cstore::MetadataBlob>::get_root
  14: _ZN14rustc_metadata7locator7Context11extract_one17h8c993f067615e7f7E.llvm.53EE2FC6
  15: rustc_metadata::locator::Context::maybe_load_library_crate
  16: _ZN14rustc_metadata7creader11CrateLoader4load17h170d1f7c6babefcfE.llvm.199C8F71
  17: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h960e67af06d1a094E.llvm.199C8F71
  18: _ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2e501a6345b159b6E.llvm.D9BC04F7
  19: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  20: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h960e67af06d1a094E.llvm.199C8F71
  21: _ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h2e501a6345b159b6E.llvm.D9BC04F7
  22: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  23: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h960e67af06d1a094E.llvm.199C8F71
  24: <rustc_metadata::creader::CrateLoader<'a> as rustc::middle::cstore::CrateLoader>::process_item
  25: rustc_resolve::build_reduced_graph::<impl rustc_resolve::Resolver<'a>>::build_reduced_graph_for_item
  26: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor<'a, 'b> as syntax::visit::Visitor<'a>>::visit_item
  27: syntax::visit::walk_item
  28: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor<'a, 'b> as syntax::visit::Visitor<'a>>::visit_item
  29: syntax::ext::expand::Expansion::visit_with
  30: rustc_resolve::macros::<impl syntax::ext::base::Resolver for rustc_resolve::Resolver<'a>>::visit_expansion
  31: _ZN6syntax3ext6expand13MacroExpander19collect_invocations17hdf7a47338274a102E.llvm.CDADCBA
  32: _ZN6syntax3ext6expand13MacroExpander6expand17hceb7f251c966356bE.llvm.CDADCBA
  33: syntax::ext::expand::MacroExpander::expand_crate
  34: _ZN12rustc_driver6driver28phase_2_configure_and_expand28_$u7b$$u7b$closure$u7d$$u7d$17h9ba2578d30e0219cE.llvm.D6B5C2ED
  35: rustc::util::common::time
  36: rustc_driver::driver::compile_input
  37: rustc_driver::run_compiler
error: Could not compile `fuchsia-zircon`.
Caused by:
  process didn't exit successfully: `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name fuchsia_zircon /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon.rust/../../../../../../../../../garnet/public/rust/crates/fuchsia-zircon/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=4366871d9d3865fe -C extra-filename=-4366871d9d3865fe --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/debug/deps --extern fuchsia_zircon_sys=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libfuchsia_zircon_sys-bf344c479679f181.rmeta --extern bitflags=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/netstack/fidl/net_address_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libbitflags-3da22f8a56b6a934.rmeta -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
error: build failed
nikomatsakis commented 6 years ago

cc @rust-lang/compiler, nominating for prioritization -- would like to support Fuschia =)

cramertj commented 6 years ago

At the moment i'm unsure whether it always occurs at the same point in compilation-- I'll report back when I see it again.

cramertj commented 6 years ago

We've seen the same panic in previous versions of Rust as well, but we didn't have backtraces enabled then, so the logs are probably less useful:

Log 1 Log 2

Both of these are from rustc 1.22.0-nightly (82ae9682c 2017-09-25)

michaelwoerister commented 6 years ago

Sounds like something is off with crate metadata there. Does this happen with the most recent nightly too?

cramertj commented 6 years ago

We've just updated our toolchain-- I'll let you know if we see the ICE again.

cramertj commented 6 years ago

@michaelwoerister We just saw it again with the nightly from 2017-11-08:

   Compiling fuchsia-zircon v0.3.1 (file:///b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon.rust)
     Running `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name fuchsia_zircon /b/s/w/ir/kitchen-workdir/out/debug-x86-64/gen/garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon.rust/../../../../../../../../../garnet/public/rust/crates/fuchsia-zircon/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=6b4de983d09d3465 -C extra-filename=-6b4de983d09d3465 --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/debug/deps --extern bitflags=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libbitflags-d4fd6e1326a636c6.rmeta --extern fuchsia_zircon_sys=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps/libfuchsia_zircon_sys-6292aa11792b1921.rmeta -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot`
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.23.0-nightly (6e2977499 2017-11-08) running on x86_64-unknown-linux-gnu
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'index out of bounds: the len is 729088 but the index is 754414', /checkout/src/libserialize/leb128.rs:59:20
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at /checkout/src/libstd/sys_common/backtrace.rs:69
   2: std::panicking::default_hook::{{closure}}
             at /checkout/src/libstd/sys_common/backtrace.rs:58
             at /checkout/src/libstd/panicking.rs:381
   3: std::panicking::default_hook
             at /checkout/src/libstd/panicking.rs:391
   4: std::panicking::rust_panic_with_hook
             at /checkout/src/libstd/panicking.rs:577
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:538
   6: std::panicking::begin_panic_fmt
             at /checkout/src/libstd/panicking.rs:522
   7: rust_begin_unwind
             at /checkout/src/libstd/panicking.rs:498
   8: core::panicking::panic_fmt
             at /checkout/src/libcore/panicking.rs:71
   9: core::panicking::panic_bounds_check
             at /checkout/src/libcore/panicking.rs:58
  10: <rustc_metadata::decoder::DecodeContext<'doc, 'tcx> as serialize::serialize::Decoder>::read_str
  11: <syntax_pos::symbol::Symbol as serialize::serialize::Decodable>::decode
  12: serialize::serialize::Decoder::read_struct
  13: rustc_metadata::decoder::<impl rustc_metadata::cstore::MetadataBlob>::get_root
  14: _ZN14rustc_metadata7locator7Context11extract_one17h7db1053efdbe4addE.llvm.E31DAB83
  15: rustc_metadata::locator::Context::maybe_load_library_crate
  16: _ZN14rustc_metadata7creader11CrateLoader4load17h19282c12bb9daf18E.llvm.301FDDB9
  17: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h8a0c06f5f96b65c6E.llvm.301FDDB9
  18: _ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hc7b85c83351c6246E.llvm.A1464E27
  19: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  20: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h8a0c06f5f96b65c6E.llvm.301FDDB9
  21: _ZN86_$LT$core..iter..Chain$LT$A$C$$u20$B$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hc7b85c83351c6246E.llvm.A1464E27
  22: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  23: _ZN14rustc_metadata7creader11CrateLoader13resolve_crate17h8a0c06f5f96b65c6E.llvm.301FDDB9
  24: <rustc_metadata::creader::CrateLoader<'a> as rustc::middle::cstore::CrateLoader>::process_item
  25: rustc_resolve::build_reduced_graph::<impl rustc_resolve::Resolver<'a>>::build_reduced_graph_for_item
  26: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor<'a, 'b> as syntax::visit::Visitor<'a>>::visit_item
  27: syntax::visit::walk_item
  28: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor<'a, 'b> as syntax::visit::Visitor<'a>>::visit_item
  29: syntax::ext::expand::Expansion::visit_with
  30: rustc_resolve::macros::<impl syntax::ext::base::Resolver for rustc_resolve::Resolver<'a>>::visit_expansion
  31: _ZN6syntax3ext6expand13MacroExpander19collect_invocations17h9d5196537df48be7E.llvm.11F23753
  32: _ZN6syntax3ext6expand13MacroExpander6expand17he1792b62f0a2bbe9E.llvm.11F23753
  33: syntax::ext::expand::MacroExpander::expand_crate
  34: _ZN12rustc_driver6driver28phase_2_configure_and_expand28_$u7b$$u7b$closure$u7d$$u7d$17h146c38c9c1dd7f58E.llvm.6ACA7ED9
  35: rustc::util::common::time
  36: rustc_driver::driver::compile_input
  37: rustc_driver::run_compiler
error: Could not compile `slab`.
Caused by:
  process didn't exit successfully: `/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/rust/bin/rustc --crate-name slab /b/s/w/ir/kitchen-workdir/third_party/rust-crates/vendor/slab-0.4.0/src/lib.rs --crate-type lib --emit=dep-info,metadata -C debuginfo=2 -C metadata=2757223a724c06ee -C extra-filename=-2757223a724c06ee --out-dir /b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps --target x86_64-unknown-fuchsia -C linker=/b/s/w/ir/kitchen-workdir/buildtools/linux-x64/clang/bin/clang -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/x86_64-unknown-fuchsia/debug/deps -L dependency=/b/s/w/ir/kitchen-workdir/out/debug-x86-64/obj/garnet/public/lib/device_settings/fidl/fidl_rust_library.rust/debug/deps --cap-lints allow -Clink-arg=--target=x86_64-unknown-fuchsia -Clink-arg=--sysroot=/b/s/w/ir/kitchen-workdir/out/build-zircon/build-zircon-pc-x86-64/sysroot` (exit code: 101)
warning: build failed, waiting for other jobs to finish...
error: build failed

Full logs

Possibly worth noting: we're using package replacement to substitute some of our in-tree forks of public crates. Could that be borking the metadata somehow?

nikomatsakis commented 6 years ago

@cramertj -- is it possible to give us some steps to reproduce? I know it's sporadic, but it'd be interesting to see if we can observe it locally.

nikomatsakis commented 6 years ago

triage: P-high

We'll revisit next week, hopefully in the meantime we'll figure out some more steps.

arielb1 commented 6 years ago

This looks like corrupt metadata. Could you try to find some way of reproducing this problem on an architecture we can run on?

Also, are the build machines normal linux machines, or do they have some weird setup (e.g. running Fuchsia themselves, or using some weird network filesystem?).

arielb1 commented 6 years ago

@cramertj

Could you try to reproduce the crash with the RUST_LOG=info environment variable and upload the resulting log? That should give some information about what exactly was being loaded.

dbort commented 6 years ago

@arielb1 The build machines are normal Debian Linux machines, building from local disk.

cramertj commented 6 years ago

@arielb1 I'm working on getting a repro with RUST_LOG=info.

cramertj commented 6 years ago

Repro with RUST_LOG=info

arielb1 commented 6 years ago

We believe that this is caused by the compiler writing metadata in parts, so that another instance of the compiler can read metadata while it is being partially written to. Should be fixable by doing an atomic rename.

arielb1 commented 6 years ago

@eddyb said he'll fix this.