rust-lang / rust

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

Rustc official binary from rustup segfault when compiling Openethereum 3.2 with profile feedback and lto (tried several versions). #81884

Closed ytrezq closed 9 months ago

ytrezq commented 3 years ago

I did export RUSTFLAGS="-Copt-level=3 -Cprofile-generate=/tmp -Ctarget-cpu=native -Cembed-bitcode=yes -Crelocation-model=dynamic-no-pic -Ctarget-feature=+mmx,+movbe,+aes,+pclmul,+adx,+bmi,+bmi2,+clflushopt,+clwb,+cx16,+clwb,+f16c,+fma,+fxsr,+lzcnt,+pku,+popcnt,+rdrnd,+prfchw,+rdseed,+xsave,+xsavec,+xsaveopt,+xsaves,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+avx,+avx2,+f16c,+cmov,+lzcnt,+clwb,+fsgsbase,+sahf,+cx8";cargo build --release --features final then ran the executable during an hour for building a full archival node. then llvm-prodata merge -o=/tmp/openethereum.profdata /tmp/*.profraw;export RUSTFLAGS="-Copt-level=3 -Cprofile-use=/tmp/openethereum.profdata -Ctarget-cpu=native -Cembed-bitcode=yes -Crelocation-model=dynamic-no-pic -Ctarget-feature=+mmx,+movbe,+aes,+pclmul,+adx,+bmi,+bmi2,+clflushopt,+clwb,+cx16,+clwb,+f16c,+fma,+fxsr,+lzcnt,+pku,+popcnt,+rdrnd,+prfchw,+rdseed,+xsave,+xsavec,+xsaveopt,+xsaves,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+avx,+avx2,+f16c,+cmov,+lzcnt,+clwb,+fsgsbase,+sahf,+cx8";cargo build --release --features final. And the rustc process crashed during the final linking.

error: could not compile `openethereum`

Caused by:
  process didn't exit successfully: `rustc --crate-name openethereum parity/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto --cfg 'feature="accounts"' --cfg 'feature="default"' --cfg 'feature="ethcore-accounts"' --cfg 'feature="final"' -C metadata=1bb2af1d13e82ccd -C extra-filename=-1bb2af1d13e82ccd --out-dir /run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps -L dependency=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps --extern ansi_term=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libansi_term-2ce818038640386a.rlib --extern atty=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libatty-dbcc1c793c2e3522.rlib --extern blooms_db=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libblooms_db-c1c75a88ea8c9d9d.rlib --extern clap=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libclap-a9757fa3c8e240cc.rlib --extern cli_signer=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libcli_signer-3d2baface4f8ed49.rlib --extern common_types=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libcommon_types-dc7fea55d472e813.rlib --extern ctrlc=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libctrlc-9ed204aa50ad53ce.rlib --extern dir=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libdir-aad105ec0e985ff3.rlib --extern docopt=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libdocopt-fc4ca299e083e162.rlib --extern ethcore=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore-c697b453f8f2e475.rlib --extern ethcore_accounts=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_accounts-9f870d3393050bed.rlib --extern ethcore_blockchain=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_blockchain-2826a7953a06e26e.rlib --extern ethcore_call_contract=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_call_contract-25591e1f82272b4e.rlib --extern ethcore_db=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_db-fab3f262700a139e.rlib --extern ethcore_io=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_io-8f41984913c0ba35.rlib --extern ethcore_logger=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_logger-c2d1a4416a3f199a.rlib --extern ethcore_miner=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_miner-db3da4c1d1c874d3.rlib --extern ethcore_network=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_network-e322df3b4ea5a39e.rlib --extern ethcore_service=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_service-637a7a53ff3a9523.rlib --extern ethcore_sync=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethcore_sync-f534b2ca8fb632dd.rlib --extern ethereum_types=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethereum_types-4137bdaf8c64d7e5.rlib --extern ethkey=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethkey-119e3a718f539f2f.rlib --extern ethstore=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libethstore-ab3f3a5309b3074f.rlib --extern fdlimit=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libfdlimit-cb851711f8a2db82.rlib --extern fetch=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libfetch-fc42752f267588df.rlib --extern futures=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libfutures-662e442a5d3b326a.rlib --extern hyper=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libhyper-098d457e01265d68.rlib --extern journaldb=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libjournaldb-5df2117a1e0e9934.rlib --extern jsonrpc_core=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libjsonrpc_core-69efc857a3e58949.rlib --extern keccak_hash=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libkeccak_hash-61ae493163a4bb4c.rlib --extern kvdb=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libkvdb-8f3a5f757de5eb4e.rlib --extern kvdb_rocksdb=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libkvdb_rocksdb-13e614a985463158.rlib --extern log=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/liblog-0b146e9d3bf3e492.rlib --extern migration_rocksdb=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libmigration_rocksdb-d0813bb66e2518ad.rlib --extern node_filter=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libnode_filter-bfb3553b3a90cb10.rlib --extern num_cpus=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libnum_cpus-143c3b852e922d73.rlib --extern number_prefix=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libnumber_prefix-e44bc087dc36d1b1.rlib --extern openethereum=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libopenethereum-3d17978774d4843e.rlib --extern panic_hook=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libpanic_hook-f7b6ff4ece7c0bc5.rlib --extern parity_bytes=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_bytes-6f6edc1753fb8295.rlib --extern parity_daemonize=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_daemonize-7922b276378ba6f0.rlib --extern parity_local_store=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_local_store-161af3cd5520defc.rlib --extern parity_path=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_path-e03fe64520bc2a6f.rlib --extern parity_rpc=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_rpc-c2a0886e8c15a9ad.rlib --extern parity_runtime=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_runtime-fbb53fae1d120179.rlib --extern parity_version=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparity_version-105952eeaacd4b1b.rlib --extern parking_lot=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libparking_lot-7003d5a5a4b421b8.rlib --extern prometheus=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libprometheus-6b5eb1e2c27ca729.rlib --extern regex=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libregex-aac95cd5d6917c40.rlib --extern registrar=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libregistrar-dd07864464bed738.rlib --extern rlp=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/librlp-37b80b85f970b455.rlib --extern rpassword=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/librpassword-26c6e4e862c1dfb2.rlib --extern rustc_hex=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/librustc_hex-b87afc3bbd381be8.rlib --extern semver=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libsemver-27923f9e09f92af1.rlib --extern serde=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libserde-d1b4ec30f95f843b.rlib --extern serde_derive=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libserde_derive-bc95f8c67d4c406c.so --extern serde_json=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libserde_json-bece9d6dced228bd.rlib --extern stats=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libstats-b3cddbb3028d7c7c.rlib --extern term_size=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libterm_size-6d5658860a743861.rlib --extern textwrap=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libtextwrap-b1da277c1991b000.rlib --extern toml=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/deps/libtoml-750f7d4ac1f75101.rlib -Copt-level=3 -Cprofile-use=/tmp/openethereum.profdata -Ctarget-cpu=native -Cembed-bitcode=yes -Crelocation-model=dynamic-no-pic -Ctarget-feature=+mmx,+movbe,+aes,+pclmul,+adx,+bmi,+bmi2,+clflushopt,+clwb,+cx16,+clwb,+f16c,+fma,+fxsr,+lzcnt,+pku,+popcnt,+rdrnd,+prfchw,+rdseed,+xsave,+xsavec,+xsaveopt,+xsaves,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+avx,+avx2,+f16c,+cmov,+lzcnt,+clwb,+fsgsbase,+sahf,+cx8 -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/eth-secp256k1-3f55d2f6d0172d02/out -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/ring-8e6579a558301b8a/out -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/backtrace-sys-00ca134bb8c960df/out -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/ethcore-miner-d4ac649c072a80f7/out -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/parity-snappy-sys-46c5efcbe84b98ab/out/build -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/rust-crypto-d8c59f98f7e62d0d/out -L native=/run/media/liveuser/Anaconda/home/liveuser/openethereum/target/release/build/parity-rocksdb-sys-a390ba996d3f788c/out/build` (signal: 11, SIGSEGV: invalid memory reference)
Enselic commented 9 months ago

Triage: We really need a minimal reproducer to make progress here. Closing as not reproducible until there is a minimal reproducer.