Comments (3)
dmesg shows address and code:
[750055.820563] PeerMgr[1290]: segfault at 20 ip 000055da03629b02 sp 00007fdbd27fbb60 error 4 in Fulcrum[55da034c2000+ae6000]
[750055.820573] Code: 48 8b 75 10 49 8d 7d 20 e8 a5 a4 65 00 4c 89 ef e8 73 e0 07 00 e9 ae fd ff ff 66 0f 1f 44 00 00 4c 8b b5 98 00 00 00 4d 8b 3e <45> 8b 6f 20 45 85 ed 75 65 bf 10 00 00 00 4c 8d ac 24 d0 00 00 00
[774142.623418] PeerMgr[2742997]: segfault at 20 ip 000055d3b24e9b02 sp 00007f461f3fbb60 error 4 in Fulcrum[55d3b2382000+ae6000]
[774142.623428] Code: 48 8b 75 10 49 8d 7d 20 e8 a5 a4 65 00 4c 89 ef e8 73 e0 07 00 e9 ae fd ff ff 66 0f 1f 44 00 00 4c 8b b5 98 00 00 00 4d 8b 3e <45> 8b 6f 20 45 85 ed 75 65 bf 10 00 00 00 4c 8d ac 24 d0 00 00 00
[774879.016268] PeerMgr[2829805]: segfault at 20 ip 00005555944acb02 sp 00007f9262bfbb60 error 4 in Fulcrum[555594345000+ae6000]
[774879.016277] Code: 48 8b 75 10 49 8d 7d 20 e8 a5 a4 65 00 4c 89 ef e8 73 e0 07 00 e9 ae fd ff ff 66 0f 1f 44 00 00 4c 8b b5 98 00 00 00 4d 8b 3e <45> 8b 6f 20 45 85 ed 75 65 bf 10 00 00 00 4c 8d ac 24 d0 00 00 00
[778555.002453] PeerMgr[2832287]: segfault at 20 ip 000055788f80bb02 sp 00007fc6cb3fbb60 error 4 in Fulcrum[55788f6a4000+ae6000]
[778555.002463] Code: 48 8b 75 10 49 8d 7d 20 e8 a5 a4 65 00 4c 89 ef e8 73 e0 07 00 e9 ae fd ff ff 66 0f 1f 44 00 00 4c 8b b5 98 00 00 00 4d 8b 3e <45> 8b 6f 20 45 85 ed 75 65 bf 10 00 00 00 4c 8d ac 24 d0 00 00 00
Binary is Fulcrum-1.5.0-x86_64-linux (unmodified). The position seems to be in the function:
_ZN3RPC14ConnectionBase11processJsonEO10QByteArray, address 167B02:
167af8: 4c 8b b5 98 00 00 00 mov 0x98(%rbp),%r14
167aff: 4d 8b 3e mov (%r14),%r15
167b02: 45 8b 6f 20 mov 0x20(%r15),%r13d
167b06: 45 85 ed test %r13d,%r13d
167b09: 75 65 jne 167b70 <_ZN3RPC14ConnectionBase11processJsonEO10QByteArray+0x310>
167b0b: bf 10 00 00 00 mov $0x10,%edi
167b10: 4c 8d ac 24 d0 00 00 lea 0xd0(%rsp),%r13
167b17: 00
167b18: e8 33 90 f0 ff callq 70b50 <__cxa_allocate_exception@plt>
167b1d: 48 8d 35 7a bd 6b 00 lea 0x6bbd7a(%rip),%rsi # 82389e <_ZTSN10RecordFile13FileOpenErrorE+0x77e>
167b24: 4c 89 ef mov %r13,%rdi
167b27: 49 89 c6 mov %rax,%r14
167b2a: e8 c1 6f f3 ff callq 9eaf0 <_ZN7QStringC1EPKc>
167b2f: 4c 89 ee mov %r13,%rsi
167b32: 4c 89 f7 mov %r14,%rdi
167b35: e8 66 7e f3 ff callq 9f9a0 <_ZN9ExceptionC1ERK7QString>
167b3a: 48 8d 05 a7 21 b9 00 lea 0xb921a7(%rip),%rax # cf9ce8 <_ZTVN3RPC14ConnectionBase13UnknownMethodE>
Should be roughly: https://github.com/cculianu/Fulcrum/blob/v1.5.0/src/RPC.cpp#L430
from fulcrum.
Yeah, I know. There was a dangling reference bug in the codebase. It has been fixed in 1.5.2. Please upgrade to latest.
from fulcrum.
Also thanks for the detailed report and sorry about the crash and need to db resynch. I .. have no explanation other than this was a bug lurking in the codebase since forever and somehow some misbehaving BTC servers were able to trigger it (either intentionally or accidentally). The good thing is the bug was fixed. The bad thing is you have to resynch. But please do use 1.5.2.
If it makes you feel better my server also got hit hard by this.. and I suffered as well until I fixed it. Sorry. I promise now Fulcrum is bug-free! :)
from fulcrum.
Related Issues (20)
- Build Issue on MacOS Apple Silicon: Incompatibility with librocksdb HOT 2
- --fast-sync option issue HOT 15
- Precompiled arm64 binary doesn't work since v1.9.2 on Raspberry OS arm64 (bullseye) - Debian 11 based HOT 10
- Error message "Error loading address data. (Invalid scripthash)" when viewing P2PK address on self-hosted instance of Mempool. HOT 12
- Pushing 100% memory utilization after update to 1.9.6 HOT 5
- Fulcrum 1.9.5 terminates with uncaught exception HOT 13
- Checksum failure HOT 2
- Rare mempool synch warnings.. not so rare for this 1 user HOT 2
- Fulcrum stopped processing mempool txs (Windows Server 2012) HOT 34
- Question: how to replace electrs with fulcrum?
- DB created on Windows is incompatible with Linux HOT 3
- Can't compile Fulcrum against libzmq on macOS HOT 2
- Transaction distance from mempool tip is off, shows much closer than it actually is. HOT 13
- Feature Request: don't index addresses below a certain threshold HOT 3
- Raspberry Pi 5 error: <jemalloc>: Unsupported system page size HOT 6
- Wallets cannot retrieve transactions HOT 7
- Active: Failed when status when running systemctl status fulcrum.service HOT 9
- Missing image for 1.9.8 HOT 1
- Add option to enable RocksDB ZSTD compression to save 15% storage space/IO
- Consider implementing DSProof subscription on non-transaction states.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fulcrum.