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

crash when exiting from console during blockchain sync #672

Closed
tgerring opened this issue Apr 8, 2015 · 2 comments
Closed

crash when exiting from console during blockchain sync #672

tgerring opened this issue Apr 8, 2015 · 2 comments
Assignees

Comments

@tgerring
Copy link
Contributor

tgerring commented Apr 8, 2015

When the client is sync'ing with another peer and the user types exit on the console, geth will crash while stopping.

$ geth --datadir "/Users/tgerring/gethdata/1" --bootnodes "" --port "30301" console
Welcome to the FRONTIER
> eth.blockNumber
1273
> eth.blockNumber
1964
> exit
2015/04/08 08:57:13 [TXP] Stopped
2015/04/08 08:57:13 [Blockpool] Stopping...
2015/04/08 08:57:13 [Blockpool] Stopped
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x43dec0e]

goroutine 2429 [running]:
github.com/ethereum/go-ethereum/blockpool.(*peers).peerError(0x0, 0xc209a70990, 0x10, 0x0, 0x47afb30, 0x2, 0xc20d737b20, 0x1, 0x1)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/blockpool/peers.go:101 +0x20e
github.com/ethereum/go-ethereum/blockpool.func·009()
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/blockpool/section.go:139 +0x844
created by github.com/ethereum/go-ethereum/blockpool.(*section).addSectionToBlockChain
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/blockpool/section.go:194 +0x106

goroutine 1 [chan receive]:
github.com/ethereum/go-ethereum/ethdb.(*LDBDatabase).Close(0xc2080f83c0)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/ethdb/database.go:119 +0x77
github.com/ethereum/go-ethereum/eth.(*Ethereum).Stop(0xc2080a4300)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/eth/backend.go:425 +0x2c7
main.console(0xc2080f00e0)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:284 +0x1df
github.com/codegangsta/cli.Command.Run(0x47c0cd0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48adaf0, 0x30, 0x4a2e4f0, ...)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/Godeps/_workspace/src/github.com/codegangsta/cli/command.go:118 +0x104b
github.com/codegangsta/cli.(*App).Run(0xc208100000, 0xc20800a000, 0x8, 0x8, 0x0, 0x0)
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/Godeps/_workspace/src/github.com/codegangsta/cli/app.go:177 +0xdf6
main.main()
    /Users/tgerring/go/src/github.com/ethereum/go-ethereum/cmd/geth/main.go:254 +0xb6
@zelig zelig self-assigned this Apr 8, 2015
@zelig
Copy link
Contributor

zelig commented Apr 8, 2015

added to #563

@zelig
Copy link
Contributor

zelig commented Apr 19, 2015

new downloader makes this obsolete

@zelig zelig closed this as completed Apr 19, 2015
@zelig zelig removed the type:bug label Apr 19, 2015
ngtuna pushed a commit to ngtuna/tomochain that referenced this issue Sep 26, 2019
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
Backlog Changes:

 - Decouple Backlog from Core. Make it it's own type
 - Make MsgBacklog a interface + a default implementation
 - Backlog: extract common logic into `extractMessageView()` fn
 - Backlog: separate between `cleanBacklogForSeq` and
 `processBacklogForSeq`
 - `processBacklogForSeq` will stop iteration when process() returns
 false (optimization)
 - Rename `processBacklog()` to `updateState()`. Processing the backlog
 is a sideeffect of changing the currentView + State
 - Clean up backlog  changes. Add inner tests.

 Other changes:

  - cleanup checkMessage with a "first check the view, then the msgCode"
  strategy
  - checkMessage no longer err with errTooFarIntoTheFuture, instead
  backloag will check that, and don't store those messages
  - errTooFarIntoTheFuture is no longer an error
  - checkMessage doesn't have a case for Old commit messages. Instead
  handleCommit will check if checkMEssage failed with oldMessage and do
  the check there.
  - FIX: error when processing RoundChangeMessages
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