spesmilo / spesmilo/electrumx

terminate called after throwing an instance of 'std::bad_alloc'

Open
#131 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
568
Forks
447
PR merge metrics
No merged PRs in 30d

Description

I get this kind of error constantly after a few minutes - hour after I start electrumx. I run electrumx on a raspberry pi with 8 GB RAM, there is plenty of memory available. Is this a known problem?

May 09 18:19:36 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 352,987 daemon: 682,786 UTXOs 959MB hist 53MB
May 09 18:20:13 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 353,140 daemon: 682,786 UTXOs 961MB hist 91MB
May 09 18:20:53 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 353,264 daemon: 682,786 UTXOs 968MB hist 126MB
May 09 18:21:38 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 353,422 daemon: 682,786 UTXOs 977MB hist 169MB
May 09 18:22:14 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 353,527 daemon: 682,786 UTXOs 978MB hist 201MB
May 09 18:22:49 raspberrypi startElectrumX[1207]: INFO:BlockProcessor:our height: 353,673 daemon: 682,786 UTXOs 997MB hist 237MB
May 09 18:22:49 raspberrypi startElectrumX[1207]: INFO:DB:flushed filesystem data in 0.22s
May 09 18:23:00 raspberrypi startElectrumX[1207]: INFO:History:flushed history in 11.1s for 1,126,000 addrs
May 09 18:23:27 raspberrypi startElectrumX[1207]: terminate called after throwing an instance of 'std::bad_alloc'
May 09 18:23:27 raspberrypi startElectrumX[1207]: what(): std::bad_alloc
May 09 18:23:27 raspberrypi startElectrumX[1207]: /home/pi/startElectrumX: line 19: 1211 Aborted electrumx_server
May 09 18:23:27 raspberrypi systemd[1]: electrumx.service: Main process exited, code=exited, status=134/n/a
May 09 18:23:27 raspberrypi systemd[1]: electrumx.service: Failed with result 'exit-code'.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the electrumx_server entry point launched by /home/pi/startElectrumX and reproduce the failure on the Raspberry Pi using the supplied service logs. Trace UTXO and history growth around the filesystem and history flushes; done means the bad_alloc cause and a verified mitigation or documented resource requirement are identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.