-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash before integrity hash on stop #1872
Comments
No luck with other options. Testing with smaller sync span, and tested on 4.0.4. Still crashing without logging ending integrity hash. |
I tried this with |
Closing this issue. First I am unable to get a core dump. After changing ulimit its reporting segmentation fault, and no core dump. Second due to lack of root privileges I have unpacked nodoes locally by expanding the deb. Therefore this isn't a standard install. |
reopening to continue investigation, will attach a debugger. |
Reliably getting errors with Leap 5.0.0-rc2 Stack-Trce-Stop-Hash-Failure.txt For Comparison here is the nodeos log lines without the |
Stack trace from Leap 5.0.0-rc3 slightly different |
Stack trace from Leap 4.0.5. |
|
Or maybe we add a bool parameter to It is kinda weird that the fact this log statement: |
Yeah, if you enable |
Summary: The issue comes into play when outputting the integrity hash on start and stop...
It needs to be fixed in affected versions, and the feature was added in 3.2. Fix in 3.2.6, 4.0.6, and 5.0.x, and main/6 High priority for 5.0 because it would block chicken dance. It should be fixed in 3.2.x and 4.0.x, but won't on its own necessitate a release. |
Chicken dance is not blocked. There is a work around already in place. |
fwiw so far I have been unable to reproduce the crash nor can I get any tooling to report an invalid access. That's somewhat a problem in creating a test case to show the problem is fixed. Wonder what I'm missing.
leap/libraries/chain/controller.cpp Lines 767 to 773 in f7d7d2f
and pending.reset(); is pretty much a noop since it was just done anyways,leap/libraries/chain/controller.cpp Lines 2769 to 2770 in f7d7d2f
I'm not immediately seeing anything in clear_expired_input_transactions() that accesses something now invalid? All the members of controller_impl are still intact other then pending which is well handled as part of is_building_block() .
What are you suggesting? There isn't really anything to do other then log it. |
Maybe it gets its own non-default logger? |
I mean we need this: if(okay_to_print_integrity_hash_on_stop && conf.integrity_hash_on_stop) {
auto hash = calculate_integrity_hash();
fc::logger::get(DEFAULT_LOGGER)).log( FC_LOG_MESSAGE( info, "chain database stopped with hash: ${hash}", ("hash", hash) ) );
} Otherwise if a user has default logger configured for |
Note:start |
Nodoes terminates before integrity hash is reported. The command line reports segmentation fault(core dump) but I'm unable to find the core dump on the host.
Running nodeos 5.0.0-rc2 , the config will sync with peers and terminate at end block. Snapshot starts at block num 323784127 and end block is 323956925. sync-config.ini may be found here. Snapshot is v6 from eos nation.
Last lines of the log file
Next steps, going to run this with a much smaller sync span, and try with nodeos v4.0.4.
The text was updated successfully, but these errors were encountered: