Skip to content

SIGSEGV on v1.10.4 with abigen'd contract #23180

@shoenseiwaso

Description

@shoenseiwaso

System information

Geth version: 1.10.4-stable
OS & Version: macOS 10.15.7
Commit hash: v1.10.4 with #23102 cherry-picked

Expected behaviour

No segfault

Actual behaviour

Segfault due to a nil context, as-returned by bind.NewKeyedTransactorWithChainID(), when the websockets code attempts to read from the Done() channel.

Steps to reproduce the behaviour

Reproduction repo with instructions:
https://github.com/curvegrid/abigen-transfer-issue

Backtrace

$ go run .
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x436a575]

goroutine 1 [running]:
github.com/ethereum/go-ethereum/rpc.(*Client).send(0xc000590080, 0x0, 0x0, 0xc000418140, 0x469d6e0, 0xc00042c0e0, 0xc00042c0e0, 0x0)
	/Users/jeff/golang/pkg/mod/github.com/curvegrid/[email protected]/rpc/client.go:487 +0x55
github.com/ethereum/go-ethereum/rpc.(*Client).CallContext(0xc000590080, 0x0, 0x0, 0x45ddda0, 0xc000416030, 0x46ee509, 0x14, 0xc000412020, 0x2, 0x2, ...)
	/Users/jeff/golang/pkg/mod/github.com/curvegrid/[email protected]/rpc/client.go:304 +0x3c7
github.com/ethereum/go-ethereum/ethclient.(*Client).HeaderByNumber(0xc000598008, 0x0, 0x0, 0x0, 0x20f1485946613fac, 0xd699ffb, 0x0)
	/Users/jeff/golang/pkg/mod/github.com/curvegrid/[email protected]/ethclient/ethclient.go:182 +0x165
github.com/ethereum/go-ethereum/accounts/abi/bind.(*BoundContract).transact(0xc0005ea280, 0xc0005cc070, 0xc0005ea280, 0xc0005d40f0, 0x44, 0x50, 0xa, 0x0, 0x4c2af10)
	/Users/jeff/golang/pkg/mod/github.com/curvegrid/[email protected]/accounts/abi/bind/base.go:232 +0x123
github.com/ethereum/go-ethereum/accounts/abi/bind.(*BoundContract).Transact(0xc0005ea280, 0xc0005cc070, 0x46e1ea6, 0x4, 0xc0003d9f58, 0x2, 0x2, 0x0, 0xc00004e710, 0x40400f6)
	/Users/jeff/golang/pkg/mod/github.com/curvegrid/[email protected]/accounts/abi/bind/base.go:190 +0x185
main.(*TransferTransactor).Send(...)
	/Users/jeff/projects/curvegrid/abigen-transfer-issue/transfer.go:226
main.main()
	/Users/jeff/projects/curvegrid/abigen-transfer-issue/main.go:52 +0x474
exit status 2

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions