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

mining stalls after invalid block #873

Closed
zelig opened this issue May 7, 2015 · 3 comments
Closed

mining stalls after invalid block #873

zelig opened this issue May 7, 2015 · 3 comments
Labels

Comments

@zelig
Copy link
Contributor

zelig commented May 7, 2015

on current develo
running geth mining private chain w/o network, after an invalid block, mining stalls completely.
trace after a few hours: https://gist.github.com/zelig/74ad2237e31ade2734bd

relevant last logs:

I0507 02:14:40.243965   34004 chain_manager.go:558] INVALID block #220 (6c74a12e0841542a0ee21f6e56a2a2e3cdadb561246fec8b529fa36d287c4dfe)
I0507 02:14:40.244022   34004 chain_manager.go:559] block time stamp equal to previous
I0507 02:14:40.244034   34004 chain_manager.go:560] Block(#220): Size: 512.00 B TD: 0 {
MinerHash: bbe8d79743904529ff8f9b643df9fa93105d3fa30e93b0f93f6ff843ac49e646
Header(6c74a12e0841542a0ee21f6e56a2a2e3cdadb561246fec8b529fa36d287c4dfe):
[
        ParentHash:         b002bc820077c708cb4df601a4bc8575d6ea2b6feb1264eb0921a544108c7586
        UncleHash:          1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347
        Coinbase:           bf167eb0b4c50f4f2e5f43d1f1beddc5e23709d4
        Root:               92c240db641ec25ff66118ca7713fb6050a9ba2856b34083348a751ba473b72b
        TxSha               56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
        ReceiptSha:         56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421
        Bloom:              00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
        Difficulty:         144974
        Number:             220
        GasLimit:           3141592
        GasUsed:            0
        Time:               1430957678
        Extra:
        MixDigest:          b5700daea4185c261d1e990ebb12073da2956a9f790ff59b1bc4be30af4aea5c
        Nonce:              1f329f57b52a257f
]
Transactions:
[]
Uncles:
[]
}

I0507 02:14:40.244654   34004 state_object.go:241] bf167eb0b4c50f4f2e5f43d1f1beddc5e23709d4: gas (+ 3141592)
I0507 02:14:40.244680   34004 worker.go:324] commit new work on block 220 with 0 txs & 0 uncles
I0507 02:14:40.244700   34004 state_object.go:197] bf167eb0b4c50f4f2e5f43d1f1beddc5e23709d4: #0 347953125000000000000 (+ 1500000000000000000)
I0507 02:14:40.244822   34004 agent.go:80] (re)started agent[0]. mining...
I0507 02:14:40.248181   34004 agent.go:80] (re)started agent[1]. mining...
I0507 02:14:40.320865   34004 agent.go:80] (re)started agent[2]. mining...
I0507 02:15:03.052081   34004 database.go:111] Flush database:  /tmp/frontier/00/extra
I0507 02:15:03.053001   34004 database.go:111] Flush database:  /tmp/frontier/00/state
@zelig zelig added the type:bug label May 7, 2015
@carver
Copy link
Contributor

carver commented May 12, 2015

Perhaps #921 (now resolved) is a duplicate of this?

@karalabe
Copy link
Member

@zelig Are you still seeing this? If not, I think we can close this. A lot of fixes went into both the downloader as well as the chain manager so I'm guessing this should be patched up already.

@zelig
Copy link
Contributor Author

zelig commented Jul 9, 2015

i think this has been fixed

@zelig zelig closed this as completed Jul 9, 2015
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
* Wip

* wip

* Rough working version

* Wip, move to istanbul message

* Proxy seems to be working, needs lots of clean up and more testing

* Some cleanup

* cleanup

* Misc fixes

* Cleanup, separate logic for deciding to generate proof

* Add version check when reading proof message

* Move max inbound peer check into les/eth

* Run gofmt

* Clean up

* Fix istanbul/backend unit test

* Check for correct node in validator proof message

* Save direct announce messages for all types of nodes

* Update errors

* Rename direct announce to versioned enode

* Add comment

* Log for a non registered or active validator

* Update consensus/istanbul/backend/announce.go

Co-Authored-By: Victor "Nate" Graf <victor@celo.org>

* Gofmt and address comments about clarity

* Only initiating peer sends a validator proof message

* Only send the message if you're the initiating peer

* Add Inbound to peer interface

* Add setSelfVersionedEnodeMsg

* Refactor to pass the message to sb.sendVersionedEnodeMsg

* Remove unnecessary fallbackVersion

* fix comment

* PR comments

* Remove self from selfVersionedEnodeMsg

* Add function to retrieve a maybe stale set of registered and elected validators, small refactor

* Move back to 5 second timeout

* PR comments

* make channels unbuffered

* Fix inbound count check

* PR comments

* Fix issue where any node will accept a validator proof, and where proxied validator isn't aware of new entries the proxy has from handshakes

* Only do the work of updating a cached validator conn set in one goroutine at a time

* Add error sharing to updateCachedValidatorConnSet

* Add CheckPeerCounts

* Address some PR comments

* Only allow validator handshakes from validators in the valset

* Fix tests

* Rename versionedEnode to enodeCertificate

* Rename istanbulValidatorProofMsg to istanbulValidatorHandshakeMsg

* Gofmt

* PR comments, rename some instances of validator proof msg => validator handshake msg

* Fix lint

* Add comments, clean up val enode share send func

* Let proxied validator decide if proxy should upsert entry from handshake

* Move announce version update into announceThread

* Clean up

* Add basic handshake tests

* made updateAnnounceVersion synchronous; fixed lint errors

* fixed unit tests

* Fix issue where generating an announce would create a new version without a corresponding updateAnnounceVersionFunc call, and nit

* Add version check when proxy receives an enodeCertificate from its validator, fix tests

* Fix tests

Co-authored-by: Victor "Nate" Graf <victor@celo.org>
Co-authored-by: Kevin Jue <kevin@celo.org>
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Jun 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants