Fix sync
Solves #93
test procedure:
- Run bootnode:
RUST_BACKTRACE=1 RUST_LOG="INFO,akula::stages=debug,akula::trie=debug,akula::state=debug,akula::consensus=debug,akula::rpc=debug" cargo run -- --chain-spec-file src/res/chainspec/local.ron --max-block 0 --rpc-listen-address 0.0.0.0:8545
- Inject tx & bx with ecomobicoin/testnet-injector
- Mine with Postman through JSON-RPC API
Example mining payload
{
"jsonrpc":"2.0",
"method":"emc_mine",
"params":[{"behavior":{"chain_id":636363,"input":[1,2,3,4,184,117,2,248,114,4,26,132,89,104,47,0,132,89,104,47,13,130,82,8,148,97,129,87,116,56,48,153,226,72,16,171,131,42,91,42,84,37,193,84,213,136,41,162,36,26,246,44,0,0,128,192,1,160,89,230,182,127,72,251,50,231,229,112,223,177,30,4,43,90,210,229,94,60,227,206,156,217,137,199,224,110,7,254,234,253,160,1,107,131,244,249,128,105,78,210,238,228,209,6,103,36,43,31,64,220,64,105,1,179,65,37,176,8,211,52,212,116,105],"quantity":"0x10000","timestamp":1694525742},"signature":{"odd_y_parity":true,"r":"0x70bcb39ac6f540498c3adfdf3a23ecce5cf7b4f75b0674c157da02350edf8ed4","s":"0x40e997c09def486888c34e77565cce82b348d0035e2ea36bf125252f7895ff3c"}}],
"id":1
}
- Start 2nd node
RUST_LOG="INFO,akula::stages=debug,akula::trie=debug,akula::state=debug,akula::rpc=debug" RUST_BACKTRACE=1 cargo run -- --chain-spec-file src/res/chainspec/local.ron --rpc-listen-address 0.0.0.0:18545 --grpc-listen-address 0.0.0.0:17545 --engine-listen-address 0.0.0.0:18551 --listen-port 31303 --discv4-port 31303 --sentry-addr 127.0.0.1:18000 --enable-api eth,net,erigon,otterscan,mining --datadir ./data-tmp --no-dns-discovery
Bonus: view db table in 2nd node ./target/debug/akula-toolbox --datadir data-tmp/ db-walk --table Account
Result on 2nd node:
2023-09-12T13:36:04.513118Z INFO Starting Akula (akula/v0.1.0-fix-sync-f76a22c-2023-09-12/aarch64-apple-darwin/rustc1.71.0)
2023-09-12T13:36:04.515842Z INFO Data dir (./data-tmp/chaindata)
2023-09-12T13:36:04.537145Z DEBUG { Genesis initialization }: Writing account changes
2023-09-12T13:36:04.537334Z DEBUG { Genesis initialization }: Writing storage changes
2023-09-12T13:36:04.537349Z DEBUG { Genesis initialization }: Writing logs
2023-09-12T13:36:04.537362Z DEBUG { Genesis initialization }: History write complete
2023-09-12T13:36:04.537388Z DEBUG { Genesis initialization }: Writing accounts
2023-09-12T13:36:04.537537Z DEBUG { Genesis initialization }: Writing 1 accounts complete
2023-09-12T13:36:04.537550Z DEBUG { Genesis initialization }: Writing storage
2023-09-12T13:36:04.537558Z DEBUG { Genesis initialization }: Writing 0 slots complete
2023-09-12T13:36:04.537566Z DEBUG { Genesis initialization }: Writing code
2023-09-12T13:36:04.537781Z DEBUG { Genesis initialization }: promote_clean_accounts for address: 0x2c7536e3605d9c16a7a3d7b1898e529396a65c23, account: Account { nonce: 0, balance: 500000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
2023-09-12T13:36:04.538092Z DEBUG { Genesis initialization }: Loading hashed entries
2023-09-12T13:36:04.538423Z DEBUG { Genesis initialization }: Loading hashed entries
2023-09-12T13:36:04.538534Z DEBUG { Genesis initialization }: Account changes: PrefixSet {
keys: [],
sorted: true,
index: 0,
}
2023-09-12T13:36:04.538583Z DEBUG { Genesis initialization }: Storage changes: PrefixSet {
keys: [],
sorted: true,
index: 0,
}
2023-09-12T13:36:04.538793Z DEBUG { Genesis initialization }: trie for address: 0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, acc=Some((0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, Account { nonce: 0, balance: 500000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }))
2023-09-12T13:36:04.538925Z DEBUG { Genesis initialization }: storage_root for address: 0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, acc=0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
2023-09-12T13:36:04.545263Z INFO Current network: Local
2023-09-12T13:36:04.545521Z DEBUG state_root_hash for address: 0x2c7536e3605d9c16a7a3d7b1898e529396a65c23 and account: Account { nonce: 0, balance: 500000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
2023-09-12T13:36:04.546899Z INFO Starting gRPC server on 0.0.0.0:17545
2023-09-12T13:36:04.547665Z INFO Loaded node key: 34fa1c008da5bc44b67310856defc6b34047f8fcf80305e765903c6ff36f22fa
2023-09-12T13:36:04.547715Z INFO Starting Ecomobicoin P2P node
2023-09-12T13:36:04.548608Z INFO Node ID: cd15b75eca40cdc1fe8328cd9a8870583401e2586be00dcd24fae56ea55ef18b6857419d5646e6feb73bd6de0a3028cfafe46c3e5e64e8949b91d81c576de546
2023-09-12T13:36:04.549088Z INFO JSONRPC server listening on 0.0.0.0:18545
2023-09-12T13:36:04.549233Z INFO Starting discv4 at port 31303
2023-09-12T13:36:04.552656Z INFO RLPx node listening at 0.0.0.0:31303
2023-09-12T13:36:04.554898Z INFO Sentry gRPC server starting on 127.0.0.1:18000
2023-09-12T13:36:05.553972Z WARN Staged sync: current stage= Receiver { shared: Shared { value: RwLock(PhantomData<std::sync::rwlock::RwLock<core::option::Option<akula::stagedsync::stage::StageId>>>, RwLock { data: None }), state: AtomicState(0), ref_count_rx: 2, notify_rx: Notify { state: 0, waiters: Mutex(PhantomData<std::sync::mutex::Mutex<tokio::util::linked_list::LinkedList<tokio::sync::notify::Waiter, tokio::sync::notify::Waiter>>>, Mutex { data: LinkedList { head: None, tail: None } }) }, notify_tx: Notify { state: 0, waiters: Mutex(PhantomData<std::sync::mutex::Mutex<tokio::util::linked_list::LinkedList<tokio::sync::notify::Waiter, tokio::sync::notify::Waiter>>>, Mutex { data: LinkedList { head: None, tail: None } }) } }, version: Version(0) }
2023-09-12T13:36:05.555871Z WARN Staged sync: gonna build node
2023-09-12T13:36:05.556429Z INFO Running staged sync
2023-09-12T13:36:05.557004Z WARN Staged sync: start
2023-09-12T13:36:05.559253Z INFO { 1/17 Headers }: RUNNING from genesis
2023-09-12T13:36:10.556011Z INFO P2P node peer info: 1 active (+0 dialing) / 100 max.
2023-09-12T13:36:10.574089Z DEBUG { 1/17 Headers }: Chain tip=1
2023-09-12T13:36:10.574140Z INFO { 1/17 Headers }: Target block for download: 1, will reach tip
2023-09-12T13:36:10.574155Z INFO { 1/17 Headers }: Download session 1 to 1
2023-09-12T13:36:10.574291Z INFO { 1/17 Headers }: Will download 1 headers over 1 requests
2023-09-12T13:36:15.558685Z INFO P2P node peer info: 1 active (+0 dialing) / 100 max.
2023-09-12T13:36:15.584142Z INFO { 1/17 Headers }: Received 1 headers from peer 0x606b…4604
2023-09-12T13:36:15.584233Z DEBUG Handling response from 0x606b…4604 with 1 headers
2023-09-12T13:36:15.585042Z INFO { 1/17 Headers }: Built canonical chain with=1 headers, elapsed=223.042µs
2023-09-12T13:36:17.459683Z INFO { 1/17 Headers }: Seal verification took=1.874605875s all headers are valid.
2023-09-12T13:36:17.459921Z INFO { 1/17 Headers }: DONE @ 1 in 00:00:11.901
2023-09-12T13:36:17.460025Z INFO { 2/17 TotalGasIndex }: RUNNING from genesis
2023-09-12T13:36:17.460079Z INFO { 2/17 TotalGasIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.460126Z INFO { 3/17 BlockHashes }: RUNNING from genesis
2023-09-12T13:36:17.460177Z INFO { 3/17 BlockHashes }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.460233Z INFO { 4/17 Bodies }: RUNNING from genesis
2023-09-12T13:36:17.460246Z INFO { 4/17 Bodies }: Downloading blocks up to 1
2023-09-12T13:36:17.463017Z INFO Sending 1 requests for 1 out of 1 block bodies, will receive for 2s
2023-09-12T13:36:17.464864Z DEBUG Sent block request with id 12730168672623446565
2023-09-12T13:36:17.467509Z WARN { 4/17 Bodies }: Decoding a behavior outside transaction type 3E
2023-09-12T13:36:17.467543Z WARN { 4/17 Bodies }: Decoding a behavior outside transaction type 3E
2023-09-12T13:36:17.467586Z DEBUG { 4/17 Bodies }: Accepted block bodies with id 12730168672623446565
2023-09-12T13:36:17.467746Z INFO { 4/17 Bodies }: Received 1 block bodies
2023-09-12T13:36:17.467769Z INFO { 4/17 Bodies }: Saving 1 block bodies
2023-09-12T13:36:17.468254Z INFO { 4/17 Bodies }: DONE @ 1 in 00:00:00.008
2023-09-12T13:36:17.468341Z INFO { 5/17 TotalTxIndex }: RUNNING from genesis
2023-09-12T13:36:17.468369Z INFO { 5/17 TotalTxIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.468430Z INFO { 6/17 SenderRecovery }: RUNNING from genesis
2023-09-12T13:36:17.468461Z DEBUG { 6/17 SenderRecovery }: Reading bodies
2023-09-12T13:36:17.468510Z DEBUG { 6/17 SenderRecovery }: Recovering tx senders from batch of 1 bodies
2023-09-12T13:36:17.468695Z DEBUG { 6/17 SenderRecovery }: Inserting recovered tx senders
2023-09-12T13:36:17.468711Z DEBUG { 6/17 SenderRecovery }: Recovering bx senders from batch of 1 bodies
2023-09-12T13:36:17.469050Z DEBUG { 6/17 SenderRecovery }: Inserting bx recovered senders
2023-09-12T13:36:17.469073Z INFO { 6/17 SenderRecovery }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.469124Z INFO { 7/17 Execution }: RUNNING from genesis
2023-09-12T13:36:17.469410Z INFO { 7/17 Execution }: Body from DB: BodyForStorage { base_tx_id: TxIndex(0), base_bx_id: TxIndex(0), tx_amount: 1, bx_amount: 2, ommers: [] }
2023-09-12T13:36:17.469762Z INFO { 7/17 Execution }: Executed block 1, Mgas/sec: inf
2023-09-12T13:36:17.469781Z DEBUG { 7/17 Execution }: Writing account changes
2023-09-12T13:36:17.469807Z DEBUG { 7/17 Execution }: Writing storage changes
2023-09-12T13:36:17.469817Z DEBUG { 7/17 Execution }: Writing logs
2023-09-12T13:36:17.469830Z DEBUG { 7/17 Execution }: History write complete
2023-09-12T13:36:17.469840Z DEBUG { 7/17 Execution }: Writing accounts
2023-09-12T13:36:17.469861Z DEBUG { 7/17 Execution }: Writing 3 accounts complete
2023-09-12T13:36:17.469871Z DEBUG { 7/17 Execution }: Writing storage
2023-09-12T13:36:17.469879Z DEBUG { 7/17 Execution }: Writing 0 slots complete
2023-09-12T13:36:17.469885Z DEBUG { 7/17 Execution }: Writing code
2023-09-12T13:36:17.469906Z INFO { 7/17 Execution }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.469952Z INFO { 8/17 HashState }: RUNNING from genesis
2023-09-12T13:36:17.469986Z DEBUG { 8/17 HashState }: past_progress == genesis true, gas_progress: 21000, threshold: 30000000000000
2023-09-12T13:36:17.469994Z INFO { 8/17 HashState }: Generating hashed accounts
2023-09-12T13:36:17.470023Z DEBUG { 8/17 HashState }: promote_clean_accounts for address: 0x0000000000000000000000000000000000000000, account: Account { nonce: 0, balance: 210000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
2023-09-12T13:36:17.470063Z DEBUG { 8/17 HashState }: promote_clean_accounts for address: 0x2c7536e3605d9c16a7a3d7b1898e529396a65c23, account: Account { nonce: 1, balance: 189269000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
2023-09-12T13:36:17.470100Z DEBUG { 8/17 HashState }: promote_clean_accounts for address: 0xfe6a4939b0eb931fa10753dd0c5ec9a6ed972d0b, account: Account { nonce: 0, balance: 7086557000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }
2023-09-12T13:36:17.470149Z DEBUG { 8/17 HashState }: Loading hashed entries
2023-09-12T13:36:17.470218Z INFO { 8/17 HashState }: Generating hashed storage
2023-09-12T13:36:17.470235Z DEBUG { 8/17 HashState }: Loading hashed entries
2023-09-12T13:36:17.470249Z INFO { 8/17 HashState }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.470487Z INFO { 9/17 IntermediateHashes }: RUNNING from genesis
2023-09-12T13:36:17.470511Z DEBUG { 9/17 IntermediateHashes }: past_progress == genesis true, gas_progress: 21000, threshold: 1000000000000
2023-09-12T13:36:17.470520Z DEBUG { 9/17 IntermediateHashes }: Regenerating intermediate hashes
2023-09-12T13:36:17.470527Z DEBUG { 9/17 IntermediateHashes }: Max block: BlockNumber(1), past progress: BlockNumber(0)
2023-09-12T13:36:17.470540Z DEBUG { 9/17 IntermediateHashes }: Account changes: PrefixSet {
keys: [],
sorted: true,
index: 0,
}
2023-09-12T13:36:17.470550Z DEBUG { 9/17 IntermediateHashes }: Storage changes: PrefixSet {
keys: [],
sorted: true,
index: 0,
}
2023-09-12T13:36:17.470575Z DEBUG { 9/17 IntermediateHashes }: trie for address: 0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, acc=Some((0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, Account { nonce: 1, balance: 189269000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }))
2023-09-12T13:36:17.470605Z DEBUG { 9/17 IntermediateHashes }: storage_root for address: 0x2f93d0dfb1562c03c825a33eec4438e468c17fff649ae844c004065985ae2945, acc=0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
2023-09-12T13:36:17.470622Z DEBUG { 9/17 IntermediateHashes }: trie for address: 0x5380c7b7ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a, acc=Some((0x5380c7b7ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a, Account { nonce: 0, balance: 210000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }))
2023-09-12T13:36:17.470643Z DEBUG { 9/17 IntermediateHashes }: storage_root for address: 0x5380c7b7ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a, acc=0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
2023-09-12T13:36:17.470687Z DEBUG { 9/17 IntermediateHashes }: trie for address: 0x8071ed82e75a92999be706e4cb2253fbaa21e73696e9c99bf4e846a52f494eee, acc=Some((0x8071ed82e75a92999be706e4cb2253fbaa21e73696e9c99bf4e846a52f494eee, Account { nonce: 0, balance: 7086557000, code_hash: 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 }))
2023-09-12T13:36:17.470709Z DEBUG { 9/17 IntermediateHashes }: storage_root for address: 0x8071ed82e75a92999be706e4cb2253fbaa21e73696e9c99bf4e846a52f494eee, acc=0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
2023-09-12T13:36:17.470807Z INFO { 9/17 IntermediateHashes }: Block #1 state root OK: 0x6e6b22c191a39abd93148a6415ecbf85cfae85c2aec770bdd202aadf9a002da8
2023-09-12T13:36:17.470821Z INFO { 9/17 IntermediateHashes }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.470869Z INFO { 10/17 AccountHistoryIndex }: RUNNING from genesis
2023-09-12T13:36:17.471031Z INFO { 10/17 AccountHistoryIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.471074Z INFO { 11/17 StorageHistoryIndex }: RUNNING from genesis
2023-09-12T13:36:17.471103Z INFO { 11/17 StorageHistoryIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.471141Z INFO { 12/17 LogTopicIndex }: RUNNING from genesis
2023-09-12T13:36:17.471157Z INFO { 12/17 LogTopicIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.471195Z INFO { 13/17 LogAddressIndex }: RUNNING from genesis
2023-09-12T13:36:17.471209Z INFO { 13/17 LogAddressIndex }: DONE @ 1 in 00:00:00.000
2023-09-12T13:36:17.471249Z INFO { 14/17 TxLookup }: RUNNING from genesis
Error: unexpected end of block tx table
Stack backtrace:
0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: std::backtrace::Backtrace::create
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/backtrace.rs:332:13
3: anyhow::error::<impl anyhow::Error>::msg
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.66/src/error.rs:83:36
4: anyhow::__private::format_err
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.66/src/lib.rs:666:13
5: <akula::stages::tx_lookup::TxLookup as akula::stagedsync::stage::Stage<E>>::execute::{{closure}}::{{closure}}
at ./src/stages/tx_lookup.rs:73:32
6: core::option::Option<T>::ok_or_else
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/option.rs:1219:25
7: <akula::stages::tx_lookup::TxLookup as akula::stagedsync::stage::Stage<E>>::execute::{{closure}}
at ./src/stages/tx_lookup.rs:67:31
8: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/future/future.rs:125:9
9: akula::stagedsync::StagedSync<E>::run::{{closure}}::{{closure}}
at ./src/stagedsync/mod.rs:323:38
10: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
11: akula::stagedsync::StagedSync<E>::run::{{closure}}
at ./src/stagedsync/mod.rs:373:26
12: akula::main::{{closure}}::{{closure}}
at ./bin/akula.rs:512:38
13: tokio::park::thread::CachedParkThread::block_on::{{closure}}
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:54
14: tokio::coop::with_budget::{{closure}}
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:102:9
15: std::thread::local::LocalKey<T>::try_with
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/local.rs:270:16
16: std::thread::local::LocalKey<T>::with
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/local.rs:246:9
17: tokio::coop::with_budget
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:95:5
18: tokio::coop::budget
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:72:5
19: tokio::park::thread::CachedParkThread::block_on
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:31
20: tokio::runtime::enter::Enter::block_on
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/enter.rs:152:13
21: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/scheduler/multi_thread/mod.rs:79:9
22: tokio::runtime::Runtime::block_on
at /Users/anthony/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/mod.rs:492:44
23: akula::main::{{closure}}
at ./bin/akula.rs:150:13
24: std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys_common/backtrace.rs:135:18
25: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/mod.rs:529:17
26: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panic/unwind_safe.rs:271:9
27: std::panicking::try::do_call
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:500:40
28: ___rust_try
29: std::panicking::try
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:464:19
30: std::panic::catch_unwind
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panic.rs:142:14
31: std::thread::Builder::spawn_unchecked_::{{closure}}
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/thread/mod.rs:528:30
32: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:250:5
33: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
34: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
35: std::sys::unix::thread::Thread::new::thread_start
at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys/unix/thread.rs:108:17
36: __pthread_joiner_wake
Panic will be fixed in #95
Edited by Anthony GRAIGNIC