Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Segmentation fault #5667

Closed
tvladyslav opened this issue May 19, 2017 · 10 comments
Closed

Segmentation fault #5667

tvladyslav opened this issue May 19, 2017 · 10 comments
Assignees
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust.

Comments

@tvladyslav
Copy link

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

@debris debris added the F2-bug 🐞 The client fails to follow expected behavior. label May 20, 2017
@codewiz
Copy link

codewiz commented May 20, 2017

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
Copy link

codewiz commented May 20, 2017

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

@codewiz
Copy link

codewiz commented May 20, 2017

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/jackfan.us.kg-1ecc6299db9ec823/heapsize-0.3.6/src/lib.rs:51
#2  0x000055555895c864 in heapsize::heap_size_of (ptr=0x8) at /home/bernie/.cargo/registry/src/jackfan.us.kg-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/jackfan.us.kg-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/jackfan.us.kg-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/jackfan.us.kg-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/jackfan.us.kg-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/jackfan.us.kg-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 rphmeier added the M4-core ⛓ Core client code / Rust. label May 20, 2017
@rphmeier
Copy link
Contributor

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

@jdm
Copy link

jdm commented May 20, 2017

My suspicion is that this may have been fixed by servo/heapsize#81. Could you update to 0.4.0 and check?

@codewiz
Copy link

codewiz commented May 20, 2017

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
Copy link
Contributor

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

@codewiz
Copy link

codewiz commented May 20, 2017

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
Copy link
Contributor

@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
Copy link
Contributor

NikVolf commented May 24, 2017

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

@NikVolf NikVolf closed this as completed May 24, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

No branches or pull requests

6 participants