gcarq / rusty-blockparser

Bitcoin Blockchain Parser written in Rust language
GNU General Public License v3.0
370 stars 145 forks source link

fatal runtime error: stack overflow #20

Closed Migelh closed 4 years ago

Migelh commented 7 years ago

[18:37:50] INFO - dispatch: Status: 445643 Blocks processed. (left: 40221, avg: 104 blocks/sec) [18:37:58] ERROR - worker-9: I/O Error: failed to fill whole buffer [18:37:59] ERROR - worker-17: I/O Error: failed to fill whole buffer [18:38:00] ERROR - worker-10: I/O Error: failed to fill whole buffer [18:38:00] INFO - dispatch: Status: 445888 Blocks processed. (left: 39976, avg: 104 blocks/sec)

thread 'worker-7' has overflowed its stack fatal runtime error: stack overflow Aborted (core dumped)

Hello, Hello! the program gives an error. How to fix?

v1nsai commented 7 years ago

Literally just came here to post this error. I notice you were only getting 104 blocks per second, does it start out doing a high number of blocks/sec and then slowly dwindle down and crash? That's what's happening to me.

Posting log tail in case its useful

[18:58:49] INFO - dispatch: Status: 479144 Blocks processed. (left:   6765, avg:    61 blocks/sec)
[18:58:59] INFO - dispatch: Status: 479373 Blocks processed. (left:   6536, avg:    61 blocks/sec)
[18:59:09] INFO - dispatch: Status: 479582 Blocks processed. (left:   6327, avg:    61 blocks/sec)
[18:59:19] INFO - dispatch: Status: 479764 Blocks processed. (left:   6145, avg:    61 blocks/sec)
[18:59:30] INFO - dispatch: Status: 479936 Blocks processed. (left:   5973, avg:    61 blocks/sec)
[18:59:40] INFO - dispatch: Status: 480107 Blocks processed. (left:   5802, avg:    61 blocks/sec)
[18:59:50] INFO - dispatch: Status: 480268 Blocks processed. (left:   5641, avg:    61 blocks/sec)
[18:59:52] ERROR - worker-4: I/O Error: failed to fill whole buffer

thread 'worker-5' has overflowed its stack
fatal runtime error: stack overflow
gcarq commented 7 years ago

This issue occurs most likely due to missing SegWit support, see https://github.com/gcarq/rusty-blockparser/issues/13 for a quick workaround until it is implemented.

v1nsai commented 7 years ago

I tried running that fix but it still dwindled in speed and eventually crashed with fatal runtime error: stack overflow.

EDIT: I ran it again and it got down to 8 blocks/sec and has been sitting for about 3 hours. No crash, but not moving either.

RE-EDIT: It sat for another 5 hours, then said it finished but said it crashed trying to rename the files. So maybe a win? Output below

[07:15:46] DEBUG - dispatch: worker-11 completed
[07:15:58] INFO - dispatch: Status: 455362 Blocks processed. (left:  30728, avg:     8 blocks/sec)
[07:16:08] INFO - dispatch: Status: 455370 Blocks processed. (left:  30720, avg:     8 blocks/sec)
[07:16:20] INFO - dispatch: Status: 455376 Blocks processed. (left:  30714, avg:     8 blocks/sec)
[07:16:34] INFO - dispatch: Status: 455382 Blocks processed. (left:  30708, avg:     8 blocks/sec)
[07:16:42] DEBUG - dispatch: worker-7 completed
[11:20:25] INFO - dispatch: All threads finished.
[11:20:25] INFO - dispatch: Done. Processed 486090 blocks in 1161.21 minutes. (avg:     6 blocks/sec)
thread 'main' panicked at 'Unable to rename tmp file!: Error { repr: Os { code: 2, message: "No such file or directory" } }', src/libcore/result.rs:837
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Wish I could be more useful but I don't speak Rust at all. Hope this helps!

jrazer commented 7 years ago

And on dogecoin parsing too... 13:42:33] DEBUG - worker-0: Parsing blk00137.dat (134.19 Mb) [13:42:38] ERROR - worker-1: I/O Error: failed to fill whole buffer [13:42:38] ERROR - dispatch: I/O Error: failed to fill whole buffer [13:42:39] ERROR - worker-0: I/O Error: failed to fill whole buffer thread 'worker-0' panicked at 'Unable to contact main thread!: "SendError(..)"', src/libcore/result.rs:859 note: Run withRUST_BACKTRACE=1for a backtrace.

gcarq commented 4 years ago

Please retry with the latest release 0.7.0. Feel free to reopen if this is still an issue.