openethereum / parity-ethereum

The fast, light, and robust client for Ethereum-like networks.
Other
6.81k stars 1.68k forks source link

Segmentation fault #5667

Closed tvladyslav closed 7 years ago

tvladyslav commented 7 years ago

Hi. I receive a segfault during initial sync. Preconditions: 1) Built from commit "99a1636 [ci skip] js-precompiled 20170519-161414". No matter debug or release. 2) Rust version: rustc 1.19.0-nightly (e40beb3af 2017-05-11) 3) Run on Ubuntu 16.04 x64 Output:

user@Vostro-3750:~/GIT/parity$ ./target/debug/parity 
2017-05-20 01:10:57  Starting Parity/v1.7.0-unstable-99a1636-20170519/x86_64-linux-gnu/rustc1.19.0-nightly
2017-05-20 01:10:57  State DB configuration: fast
2017-05-20 01:10:57  Operating mode: active
2017-05-20 01:10:57  Configured for Foundation using Ethash engine
2017-05-20 01:10:58  Updated conversion rate to Ξ1 = US$124.84 (953601600 wei/gas)
2017-05-20 01:11:00  Removed existing file '/home/user/.local/share/io.parity.ethereum/jsonrpc.ipc'.
2017-05-20 01:11:05  Public node URL: enode://1f3b4095eda9852dc0610204ee5a255973dd4c4b5978f38b84f98da9e109a0a086ce02316345229b811680a2439da60d2b6547140c7d33825b094b5b261213c1@192.168.0.104:30303
2017-05-20 01:11:05  Syncing #3730000 41f3…bed9     0 blk/s    0 tx/s   0 Mgas/s      0+    0 Qed  #3730000    0/ 4/25 peers     1 KiB db   10 KiB chain  0 bytes queue   10 KiB sync  RPC:  0 conn,  0 req/s,   0 µs
2017-05-20 01:11:15  Syncing #3730000 41f3…bed9     0 blk/s    0 tx/s   0 Mgas/s      0+    0 Qed  #3730000    4/ 4/25 peers     1 KiB db   10 KiB chain  0 bytes queue  858 KiB sync  RPC:  0 conn,  0 req/s,   0 µs
Segmentation fault (core dumped)

Here are the crashdump and the strace

codewiz commented 7 years ago

I'm probably hitting the same segfault. Here's the stack trace, in case it helps debugging:

2017-05-20 17:35:14  Syncing #3686704 f2a0…cc6a     0 blk/s    0 tx/s   0 Mgas/s      0+    0 Qed  #3686704    1/ 1/25 peers    63 MiB db  448 KiB chain  0 bytes queue  159 KiB sync  RPC:  1 conn,  4 req/s, 124 µs

Thread 12 "IO Worker #2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffede00700 (LWP 15250)]
malloc_usable_size (ptr=<optimized out>) at /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h:743
743 /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h: No such file or directory.
Missing separate debuginfos, use: dnf debuginfo-install keyutils-libs-1.5.9-8.fc24.x86_64 krb5-libs-1.14.4-7.fc25.x86_64 libcap-2.25-2.fc25.x86_64 libcom_err-1.43.3-1.fc25.x86_64 libgcc-6.3.1-1.fc25.x86_64 libselinux-2.5-13.fc25.x86_64 libstdc++-6.3.1-1.fc25.x86_64 openssl-libs-1.0.2k-1.fc25.x86_64 pcre-8.40-7.fc25.x86_64 systemd-libs-231-14.fc25.x86_64 zlib-1.2.8-10.fc24.x86_64
(gdb) bt
#0  malloc_usable_size (ptr=<optimized out>) at /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h:743
#1  0x0000555555ebb79a in _$LT$std..collections..hash..map..HashMap$LT$K$C$$u20$V$C$$u20$S$GT$$u20$as$u20$heapsize..HeapSizeOf$GT$::heap_size_of_children::h25d45ecf58bbeda8 ()
#2  0x00005555561df075 in ethcore::blockchain::blockchain::BlockChain::cache_size::hd82aa80ecf3c3745 ()
#3  0x00005555561df2a1 in ethcore::blockchain::blockchain::BlockChain::collect_garbage::he8631c7b6efdffbc ()
#4  0x00005555560aa019 in ethcore::client::client::Client::tick::h3bbeef74b6fb9996 ()
#5  0x00005555560d6d77 in _$LT$ethcore..service..ClientIoHandler$u20$as$u20$ethcore_io..IoHandler$LT$ethcore..service..ClientIoMessage$GT$$GT$::timeout::h59cb3ece58eab1f7 ()
#6  0x0000555555ef95e5 in std::sys_common::backtrace::__rust_begin_short_backtrace::h9e7c96e5cbe16853 ()
#7  0x0000555555eff657 in std::panicking::try::do_call::h7c24af83770560d8 ()
#8  0x000055555666c48c in panic_abort::__rust_maybe_catch_panic () at /checkout/src/libpanic_abort/lib.rs:40
#9  0x0000555555fa5c43 in _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h25f4a3aa43caa99e ()
#10 0x00005555566645b6 in alloc::boxed::{{impl}}::call_once<(),()> () at /checkout/src/liballoc/boxed.rs:658
#11 std::sys_common::thread::start_thread () at /checkout/src/libstd/sys_common/thread.rs:21
#12 std::sys::imp::thread::{{impl}}::new::thread_start () at /checkout/src/libstd/sys/unix/thread.rs:84
#13 0x00007ffff678f6ca in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff7b18f7f in clone () from /lib64/libc.so.6
(gdb) 
codewiz commented 7 years ago

The above stacktrace is from Parity built from commit 99a1636c (Fri May 19).

codewiz commented 7 years ago

Trace from debug build:

Thread 14 "IO Worker #1" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffee7fe700 (LWP 21453)]
malloc_usable_size (ptr=<optimized out>) at /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h:743
743 /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h: No such file or directory.
Missing separate debuginfos, use: dnf debuginfo-install keyutils-libs-1.5.9-8.fc24.x86_64 krb5-libs-1.14.4-7.fc25.x86_64 libcap-2.25-2.fc25.x86_64 libcom_err-1.43.3-1.fc25.x86_64 libgcc-6.3.1-1.fc25.x86_64 libselinux-2.5-13.fc25.x86_64 libstdc++-6.3.1-1.fc25.x86_64 openssl-libs-1.0.2k-1.fc25.x86_64 pcre-8.40-7.fc25.x86_64 systemd-libs-231-14.fc25.x86_64 zlib-1.2.8-10.fc24.x86_64
(gdb) bt
#0  malloc_usable_size (ptr=<optimized out>) at /checkout/src/liballoc_jemalloc/../jemalloc/include/jemalloc/internal/arena.h:743
#1  0x000055555895c89d in heapsize::heap_size_of_impl (ptr=0x8) at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:51
#2  0x000055555895c864 in heapsize::heap_size_of (ptr=0x8) at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:37
#3  0x00005555578807c4 in heapsize::{{impl}}::heap_size_of_children<ethcore::types::log_entry::LogEntry> (self=0x7ffff0faf980)
    at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:216
#4  0x0000555557cf0911 in ethcore::types::receipt::{{impl}}::heap_size_of_children (self=0x7ffff0faf960) at ethcore/src/types/receipt.rs:89
#5  0x0000555557880ec5 in heapsize::{{impl}}::heap_size_of_children::{{closure}}<ethcore::types::receipt::Receipt> (n=2832, elem=0x7ffff0faf960)
    at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:217
#6  0x000055555772960f in core::iter::iterator::Iterator::fold<core::slice::Iter<ethcore::types::receipt::Receipt>,usize,closure> (
    self=core::slice::Iter<ethcore::types::receipt::Receipt> {ptr: 0x7ffff0faf800, end: 0x7ffff0fb01a0, _marker: {<No data fields>}}, init=2560, f=closure)
    at /checkout/src/libcore/iter/iterator.rs:1335
#7  0x0000555557880a05 in heapsize::{{impl}}::heap_size_of_children<ethcore::types::receipt::Receipt> (self=0x7ffff0e19a00)
    at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:215
#8  0x0000555557cdedad in ethcore::blockchain::extras::{{impl}}::heap_size_of_children (self=0x7ffff0e19a00) at ethcore/src/blockchain/extras.rs:273
#9  0x000055555721dc3c in heapsize::{{impl}}::heap_size_of_children::{{closure}}<ethcore_bigint::hash::H256,ethcore::blockchain::extras::BlockReceipts,std::collections::hash::map::RandomState>
    (n=1624) at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:271
#10 0x0000555557727be3 in core::iter::iterator::Iterator::fold<std::collections::hash::map::Iter<ethcore_bigint::hash::H256, ethcore::blockchain::extras::BlockReceipts>,usize,closure> (self=
          std::collections::hash::map::Iter<ethcore_bigint::hash::H256, ethcore::blockchain::extras::BlockReceipts> {inner: {iter = {raw = {hash_start = 0x7ffff0e19800, pair_start = 0x7ffff0e19900, idx = 0, _marker = {<No data fields>}}, elems_left = 13, marker = {<No data fields>}}}}, init=1624, f=closure) at /checkout/src/libcore/iter/iterator.rs:1335
#11 0x000055555721da35 in heapsize::{{impl}}::heap_size_of_children<ethcore_bigint::hash::H256,ethcore::blockchain::extras::BlockReceipts,std::collections::hash::map::RandomState> (
    self=0x7fffe5823df0) at /home/bernie/.cargo/registry/src/github.com-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:270
#12 0x0000555557cdc50e in ethcore::blockchain::blockchain::BlockChain::cache_size (self=0x7fffe5823c10) at ethcore/src/blockchain/blockchain.rs:1332
#13 0x0000555557cdc646 in ethcore::blockchain::blockchain::BlockChain::collect_garbage (self=0x7fffe5823c10) at ethcore/src/blockchain/blockchain.rs:1338
#14 0x0000555557b029fe in ethcore::client::client::Client::check_garbage (self=0x7ffff435ae10) at ethcore/src/client/client.rs:867
#15 0x0000555557b0297d in ethcore::client::client::Client::tick (self=0x7ffff435ae10) at ethcore/src/client/client.rs:862
#16 0x0000555557b2b17b in ethcore::service::{{impl}}::timeout (self=0x7ffff47580f0, _io=0x7fffee7fc4e0, timer=0) at ethcore/src/service.rs:189
#17 0x000055555722d34d in ethcore_io::worker::Worker::do_work<ethcore::service::ClientIoMessage> (work=
          ethcore_io::worker::Work<ethcore::service::ClientIoMessage> {work_type: {{RUST$ENUM$DISR = ethcore_io::worker::WorkType::Timeout}, {RUST$ENUM$DISR = ethcore_io::worker::WorkType::Timeout}, {RUST$ENUM$DISR = ethcore_io::worker::WorkType::Timeout}, {RUST$ENUM$DISR = ethcore_io::worker::WorkType::Timeout}, {RUST$ENUM$DISR = ethcore_io::worker::WorkType::Timeout, __0 = {{RUST$ENUM$DISR = 90}, {RUST$ENUM$DISR = 90}, {RUST$ENUM$DISR = 90, __0 = {buf = {ptr = {pointer = {__0 = 0x64}, _marker = {<No data fields>}}, cap = 15183}, len = 15}, __1 = 140733376334426}, {RUST$ENUM$DISR = 90, __0 = {version = 100, state_hashes = {buf = {ptr = {pointer = {__0 = 0x3b4f}, _marker = {<No data fields>}}, cap = 15}, len = 140733376334426}, block_hashes = {buf = {ptr = {pointer = {__0 = 0x7ffff01fae10}, _marker = {<No data fields>}}, cap = 93825042257505}, len = 140737221996656}, state_root = {__0 = "\005\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\377\177\000\000\000\000\000\000\005\000\000\000\000\000\000"}, block_number = 152, block_hash = {__0 = "\003\000\000\000\000\000\000\000\377\177\000\000\000\000\000\000\005\000\000\000\000\000\000\000\003\000\000\000\000\000\000"}}}, {RUST$ENUM$DISR = 90, __0 = {__0 = "\212\347\n\000\000\000\000d\000\000\000\000\000\000\000O;\000\000\000\000\000\000\017\000\000\000\000\000\000\000Z"}, __1 = {buf = {ptr = {pointer = {__0 = 0x7ffff01fae10 ""}, _marker = {<No data fields>}}, cap = 93825042257505}, len = 140737221996656}}, {RUST$ENUM$DISR = 90, __0 = {__0 = "\212\347\n\000\000\000\000d\000\000\000\000\000\000\000O;\000\000\000\000\000\000\017\000\000\000\000\000\000\000Z"}, __1 = {buf = {ptr = {pointer = {__0 = 0x7ffff01fae10 ""}, _marker = {<No data fields>}}, cap = 93825042257505}, len = 140737221996656}}, {RUST$ENUM$DISR = 90, __0 = 100}, {RUST$ENUM$DISR = 90, __0 = {buf = {ptr = {pointer = {__0 = 0x64 <error: Cannot access memory at address 0x64>}, _marker = {<No data fields>}}, cap = 15183}, len = 15}}}}}, token: 0, handler_id: 0, handler: {ptr = {pointer = {__0 = 0x7ffff47580e0}, _marker = {<No data fields>}}}}, channel=
              ethcore_io::service::IoChannel<ethcore::service::ClientIoMessage> {channel: {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers: {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}) at /home/bernie/src/parity/util/io/src/worker.rs:124
#18 0x000055555722e914 in ethcore_io::worker::Worker::work_loop<ethcore::service::ClientIoMessage> (stealer=
          crossbeam::sync::chase_lev::Stealer<ethcore_io::worker::Work<ethcore::service::ClientIoMessage>> {deque: {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, 
    channel=
              ethcore_io::service::IoChannel<ethcore::service::ClientIoMessage> {channel: {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers: {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, wait=alloc::arc::Arc<std::sync::condvar::Condvar> {ptr: {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, wait_mutex=
        alloc::arc::Arc<std::sync::mutex::Mutex<()>> {ptr: {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, deleting=
        alloc::arc::Arc<core::sync::atomic::AtomicBool> {ptr: {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}}) at /home/bernie/src/parity/util/io/src/worker.rs:105
#19 0x000055555722c2ff in ethcore_io::worker::{{impl}}::new::{{closure}}::{{closure}}<ethcore::service::ClientIoMessage> () at /home/bernie/src/parity/util/io/src/worker.rs:82
#20 0x000055555722a315 in ethcore_io::panics::PanicHandler::catch_panic<closure,()> (self=0x7ffff471cee0, g=
          closure ({deque = {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, {channel = {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers = {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, {ptr = {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, {ptr = {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, {ptr = {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}})) at /home/bernie/src/parity/util/io/src/panics.rs:85
#21 0x000055555722c04b in ethcore_io::worker::{{impl}}::new::{{closure}}<ethcore::service::ClientIoMessage> () at /home/bernie/src/parity/util/io/src/worker.rs:81
#22 0x0000555557439568 in std::sys_common::backtrace::__rust_begin_short_backtrace<closure,()> (f=
          closure ({ptr = {pointer = {__0 = 0x7ffff471ced0}, _marker = {<No data fields>}}}, {deque = {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, {channel = {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers = {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, {ptr = {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, {ptr = {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, {ptr = {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}}))
    at /checkout/src/libstd/sys_common/backtrace.rs:136
#23 0x00005555574b206e in std::thread::{{impl}}::spawn::{{closure}}::{{closure}}<closure,()> () at /checkout/src/libstd/thread/mod.rs:336
#24 0x0000555557a4cf48 in std::panic::{{impl}}::call_once<(),closure> (self=
              std::panic::AssertUnwindSafe<closure> ({__0 = {__0 = {ptr = {pointer = {__0 = 0x7ffff471ced0}, _marker = {<No data fields>}}}, __1 = {deque = {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, __2 = {channel = {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers = {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, __3 = {ptr = {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, __4 = {ptr = {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, __5 = {ptr = {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}}}}), _args=()) at /checkout/src/libstd/panic.rs:296
#25 0x00005555574b54d7 in std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure>,()> (data=0x7fffee7fd398 "\320\316q\364\377\177") at /checkout/src/libstd/panicking.rs:454
#26 0x000055555898454b in panic_unwind::__rust_maybe_catch_panic () at /checkout/src/libpanic_unwind/lib.rs:98
#27 0x00005555574b421d in std::panicking::try<(),std::panic::AssertUnwindSafe<closure>> (f=
              std::panic::AssertUnwindSafe<closure> ({__0 = {__0 = {ptr = {pointer = {__0 = 0x7ffff471ced0}, _marker = {<No data fields>}}}, __1 = {deque = {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, __2 = {channel = {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers = {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, __3 = {ptr = {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, __4 = {ptr = {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, __5 = {ptr = {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}}}})) at /checkout/src/libstd/panicking.rs:433
#28 0x00005555574a1283 in std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure>,()> (f=
              std::panic::AssertUnwindSafe<closure> ({__0 = {__0 = {ptr = {pointer = {__0 = 0x7ffff471ced0}, _marker = {<No data fields>}}}, __1 = {deque = {ptr = {pointer = {__0 = 0x7fffefa14000}, _marker = {<No data fields>}}}}, __2 = {channel = {RUST$ENCODED$ENUM$0$0$0$0$0$0$0$None = {__0 = {tx = {tx = {inner = {ptr = {pointer = {__0 = 0x7ffff4660e00}, _marker = {<No data fields>}}}}, ctl = {inner = {ptr = {pointer = {__0 = 0x7ffff3fff040}, _marker = {<No data fields>}}}}}}}}, handlers = {{RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}, {RUST$ENUM$DISR = ethcore_io::service::Handlers::SharedCollection, __0 = {ptr = {pointer = {__0 = 0x7ffff4705730}, _marker = {<No data fields>}}}}}}, __3 = {ptr = {pointer = {__0 = 0x7fffefa0c060}, _marker = {<No data fields>}}}, __4 = {ptr = {pointer = {__0 = 0x7fffefa0c040}, _marker = {<No data fields>}}}, __5 = {ptr = {pointer = {__0 = 0x7fffefa0c0a0}, _marker = {<No data fields>}}}}})) at /checkout/src/libstd/panic.rs:361
#29 0x00005555574b155e in std::thread::{{impl}}::spawn::{{closure}}<closure,()> () at /checkout/src/libstd/thread/mod.rs:335
#30 0x0000555557749b09 in alloc::boxed::{{impl}}::call_box<(),closure> (self=0x7fffefa24060, args=()) at /checkout/src/liballoc/boxed.rs:648
#31 0x000055555897c116 in alloc::boxed::{{impl}}::call_once<(),()> () at /checkout/src/liballoc/boxed.rs:658
#32 std::sys_common::thread::start_thread () at /checkout/src/libstd/sys_common/thread.rs:21
#33 std::sys::imp::thread::{{impl}}::new::thread_start () at /checkout/src/libstd/sys/unix/thread.rs:84
#34 0x00007ffff678f6ca in start_thread () from /lib64/libpthread.so.0
#35 0x00007ffff7b18f7f in clone () from /lib64/libc.so.6
(gdb) 
rphmeier commented 7 years ago

@codewiz could you post your OS and compiler version as well?

jdm commented 7 years ago

My suspicion is that this may have been fixed by https://github.com/servo/heapsize/pull/81. Could you update to 0.4.0 and check?

codewiz commented 7 years ago

This is Fedora 25, and I'm building with rust nightly: rustc 1.19.0-nightly (978d2cfee 2017-05-10) cargo 0.20.0-nightly (cf17c9f71 2017-05-09)

rphmeier commented 7 years ago

Preparing an update of our heapsize dependency. For now it's possible this could be worked around by using stable rust.

codewiz commented 7 years ago

Thank you for the speedy fix!

Confirming that downgrading to rust 1.17.0 stable made the crash go away. I'll wait until the heapsize fix gets picked up in smallvec before switching back to nightly.

rphmeier commented 7 years ago

@codewiz Sorry, I still have to patch this in to various other dependencies and finally integrate them into Parity before this issue will be resolved.

NikVolf commented 7 years ago

@codewiz feel free to switch to latest master with nightly rust