Go-ethereum: Geth crashes when submitting transaction. panic: runtime error: invalid memory address or nil pointer dereference

Created on 9 Apr 2019  路  12Comments  路  Source: ethereum/go-ethereum

Hi.

We're running geth on light mode with the following configuration:
geth --rpc --rpcapi db,eth,net,web3,personal,txpool --cache=12192 --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain * --rpcvhosts=* --syncmode light

The process was running fine previously but all of a sudden we're now seeing this exception when a new transaction gets submitted to geth:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb35640]

goroutine 42 [running]:
github.com/ethereum/go-ethereum/les.(peer).GetRequestCost(0xc000033ef0, 0xc, 0x1, 0x0)
/home/travis/gopath/src/github.com/ethereum/go-ethereum/les/peer.go:166 +0xa0
github.com/ethereum/go-ethereum/les.(
LesTxRelay).send.func1(0x11f1920, 0xc000033ef0, 0xc015470d01)
/home/travis/gopath/src/github.com/ethereum/go-ethereum/les/txrelay.go:121 +0x4e
github.com/ethereum/go-ethereum/les.(requestDistributor).nextRequest(0xc0000b2000, 0x0, 0x0, 0x0, 0x0)
/home/travis/gopath/src/github.com/ethereum/go-ethereum/les/distributor.go:195 +0x2b1
github.com/ethereum/go-ethereum/les.(
requestDistributor).loop(0xc0000b2000)
/home/travis/gopath/src/github.com/ethereum/go-ethereum/les/distributor.go:129 +0x7f
created by github.com/ethereum/go-ethereum/les.newRequestDistributor
/home/travis/gopath/src/github.com/ethereum/go-ethereum/les/distributor.go:80 +0xf9

Then the process dies.

When we bring geth back up, a transaction sometimes goes through but we're seeing the process crash on nearly all transactions.

Any ideas?

System information

Geth
Version: 1.8.23-stable
Git Commit: c942700427557e3ff6de3aaf6b916e2f056c1ec2
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.10.4
Operating System: linux
GOPATH=
GOROOT=/usr/lib/go-1.10

Most helpful comment

Master should be fixed now wrt the context canceled. Stable needs a PR to patch the original bug, should hopefully be done in a couple of hours.

All 12 comments

This is a duplicate of https://github.com/ethereum/go-ethereum/issues/19427. Is it possible for you to run light clients from the master branch? That should work ok.

Thanks, that worked.

@karalabe related to this, I can't submit a transaction on the master branch using our geth library due to this issue: https://github.com/ethereum/go-ethereum/issues/19429 .

@karalabe I too faced the issue of Geth Crashing with a segmentation fault while submitting the transaction. I raised this issue in #19424 , wherein I was prompted to use the latest master for my client. But I ended up facing the same problem which is faced by @dannieb , i.e.
Served eth_call [....metadata...] err="context canceled"

We'll release a hotfix for 1.8 to fix this issue.

Thank you @karalabe

Master should be fixed now wrt the context canceled. Stable needs a PR to patch the original bug, should hopefully be done in a couple of hours.

@karalabe I download PPA on https://launchpad.net/~ethereum/+archive/ubuntu/ethereum, but the issue context canceled is still occur

@karalabe same issue faced from my end

@karalabe when can we expect hotfix for 1.8

This issue has been fixed in https://github.com/ethereum/go-ethereum/pull/19437, and just shipped in Geth v1.8.26. Please allow half an hour or so for the binaries to be built and pushed out. Sorry for any inconvenience.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ysqi picture ysqi  路  3Comments

vogelito picture vogelito  路  3Comments

JMaxU picture JMaxU  路  3Comments

aakilfernandes picture aakilfernandes  路  3Comments

freshonline picture freshonline  路  3Comments