question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

thread 'main' panicked at 'missing mempool tx feeinfo

See original GitHub issue

Hi,

Our esplora instance crashed yesterday. Logs from electrs-bitcoin.log:

...
thread 'main' panicked at 'missing mempool tx feeinfo 8a1136da677c5a550f435de401cbda0f7df1783e19d6c81bd6b3ac38e5add286', src/libcore/option.rs:1008:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
2019-04-17T02:28:58.056+00:00 - TRACE - stop accepting new RPCs
2019-04-17T02:28:58.057+00:00 - TRACE - closing 0 RPC connections
2019-04-17T02:28:58.057+00:00 - TRACE - waiting for 0 RPC handling threads
2019-04-17T02:28:58.057+00:00 - TRACE - RPC connections are closed
2019-04-17T02:28:58.057+00:00 - TRACE - RPC server is stopped
2019-04-17T02:28:58.058+00:00 - TRACE - Notifier::notify; id=0x7ff4680410b0
2019-04-17T02:28:58.058+00:00 - TRACE - submit to existing worker; idx=2; state=worker::State { lifecycle: Sleeping, is_pushed: true }
2019-04-17T02:28:58.058+00:00 - TRACE -     -> wakeup; idx=2
2019-04-17T02:28:58.058+00:00 - TRACE - found work while draining; signal_work
2019-04-17T02:28:58.058+00:00 - TRACE - signal_work -- wakeup; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE - Task::run; state=Running
2019-04-17T02:28:58.058+00:00 - DEBUG - signal received, starting graceful shutdown
2019-04-17T02:28:58.058+00:00 - TRACE -     -> wakeup; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE - Worker::sleep; worker=WorkerId(3)
2019-04-17T02:28:58.058+00:00 - TRACE -   sleeping -- push to stack; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE -     -> starting to sleep; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE - deregistering handle with poller
2019-04-17T02:28:58.058+00:00 - DEBUG - dropping I/O source: 0
2019-04-17T02:28:58.058+00:00 - TRACE -     -> task complete
2019-04-17T02:28:58.058+00:00 - TRACE - task complete; state=pool::State { lifecycle: ShutdownNow, num_futures: 0 }
2019-04-17T02:28:58.058+00:00 - TRACE -   -> shutting down workers
2019-04-17T02:28:58.058+00:00 - TRACE -     -> wakeup; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE - shutting down thread; idx=2
2019-04-17T02:28:58.058+00:00 - TRACE -     -> wakeup; idx=1
2019-04-17T02:28:58.058+00:00 - TRACE - shutting down thread; idx=3
2019-04-17T02:28:58.058+00:00 - TRACE - shutting down thread; idx=1
2019-04-17T02:28:58.058+00:00 - TRACE -     -> wakeup; idx=0
2019-04-17T02:28:58.058+00:00 - TRACE - shutting down thread; idx=0
2019-04-17T02:28:58.059+00:00 - TRACE - event Readable Token(4194303)
2019-04-17T02:28:58.059+00:00 - DEBUG - loop process - 1 events, 0.000s
2019-04-17T02:28:58.059+00:00 - DEBUG - shutting background reactor on idle
2019-04-17T02:28:58.059+00:00 - DEBUG - background reactor has shutdown
...

I have a sub-question: After the restart (at 02:29), it re-downloaded the 571968 block headers and the pre-caching process took about 3 hours and a half. Esplora came back fully working at 06:00. Is it normal to redownload all the headers? Also, if I disable the pre-caching, what is the impact on usability?

Thanks!

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:8

github_iconTop GitHub Comments

1reaction
shesekcommented, Apr 23, 2019

The root cause is still not entirely clear to me, but https://github.com/Blockstream/electrs/commit/48ec50666405709fa286bf6a0859653920105f65 should prevent the daemon from crashing when that happens.

How large is your bitcoind mempool configured to be (maxmempool)?

0reactions
shesekcommented, Jun 22, 2019

@Kexkey #76 was implemented, it should no longer re-download all the headers on startup.

I’m closing this issue for now, please report back if you’re running into this again.

Read more comments on GitHub >

github_iconTop Results From Across the Web

FAQ - mempool - Bitcoin Explorer
A mempool (short for "memory pool") is the queue of pending and unconfirmed transactions for a cryptocurrency network node. There is no one...
Read more >
Bitcoin transaction stuck in the mempool? Here's why
Having a Bitcoin transaction stuck in the mempool can be scary and frustrating. Here's why it happens and what you can do about...
Read more >
Application mempool - Cosmos SDK Documentation
This means if ProcessProposal panics or fails and we reject, all honest validator processes will prevote nil and the Tendermint round will proceed...
Read more >
Bitcoin Mempool: What Happens to Unconfirmed Transactions?
Before we reach the mempool, let's understand how a Bitcoin transaction works. All bitcoin transactions are simply pending transactions and ...
Read more >
8 Lessons to Help You Master the Mempool - Blocknative
If your transaction gets stuck or lost, no central authority can tell you what's going on – or help you resolve the situation....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found