Skip to content
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

cmd/geth: SIGINT shutting down taking 45+ minutes #1379

Closed
jorisbontje opened this issue Jul 2, 2015 · 2 comments
Closed

cmd/geth: SIGINT shutting down taking 45+ minutes #1379

jorisbontje opened this issue Jul 2, 2015 · 2 comments

Comments

@jorisbontje
Copy link

Geth/v0.9.35-130f3b27/linux/go1.4.2 on a Raspberry Pi2:

After sending a single SIGINT (Ctrl-C) to the geth process, it is taking more than 40 minutes (and counting) to actually shut down:

I0701 10:13:04.427852     690 chain_manager.go:726] imported 256 block(s) (0 queued 0 ignored) including 218 txs in 3m8.314444619s. #517635 [4f1076af / 35fe9b02]
I0701 10:16:01.821303     690 chain_manager.go:726] imported 256 block(s) (0 queued 0 ignored) including 176 txs in 2m33.578251628s. #517891 [196f8166 / ee13bd9b]
I0701 10:19:29.731968     690 chain_manager.go:726] imported 256 block(s) (0 queued 0 ignored) including 219 txs in 3m4.163784799s. #518147 [bc50fa96 / 7436496e]
I0701 10:22:46.327634     690 chain_manager.go:726] imported 256 block(s) (0 queued 0 ignored) including 291 txs in 3m9.620588621s. #518403 [b9ccafd3 / b42f192f]
^CI0702 08:41:00.413202     690 cmd.go:60] Shutting down (interrupt) ...

Still going at 09:36 UTC. Expected that a controlled shutdown would be completed within a reasonable time (ideally a few seconds, at max a minute or 2).

Full logs / stacktrace after sending a SIGQUIT (at the risk of database corruption):
https://gist.github.com/jorisbontje/9751824a2902bc61e68d

@karalabe
Copy link
Member

karalabe commented Jul 2, 2015

I am guessing the culprit is the leveldb compaction running in the background. Those compactions need to finish before we can really do anything, as they are probably blocking some operations. This issue should hopefully be less of an issue with reducing the database size.

@jorisbontje
Copy link
Author

Not seeing this anymore with frontier blockchain

tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
Introduces account/bind_v2 module that enhances account/bind.

Main changes:

* When estimating gas, apply a 50% buffer to the estimate
* Introduces the TxObj object that can be used to later send, estimateGas or obtain the transaction for a call
* TxObj.Send() returns a TxPromise that allows caller to wait for tx mining.

How to use it?

account/bind_v2 similarly to the old version is used when generating code through abigen. Now abigen contains a --v2 flag to use that version instead of the old version.

Additionally abigen templates for v2 are simpler than the original ones.
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Apr 10, 2023
* core/state: Remove prefetcher on stop
* core/blockchain: Wait for `triedb.Dereference` in `writeBlockWithState`
* eth/protocols/diff: Fix index mismatch in `TestGetDiffLayers`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants