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

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

Closed
shoenseiwaso opened this issue Jul 8, 2021 · 2 comments
Closed

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

shoenseiwaso opened this issue Jul 8, 2021 · 2 comments
Assignees
Labels

Comments

@shoenseiwaso
Copy link
Contributor

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/go-ethereum@v1.10.4-curvegrid-1/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/go-ethereum@v1.10.4-curvegrid-1/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/go-ethereum@v1.10.4-curvegrid-1/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/go-ethereum@v1.10.4-curvegrid-1/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/go-ethereum@v1.10.4-curvegrid-1/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
@shoenseiwaso shoenseiwaso changed the title SIGSEV on v1.10.4 with abigen'd contract SIGSEGV on v1.10.4 with abigen'd contract Jul 8, 2021
@MariusVanDerWijden MariusVanDerWijden self-assigned this Jul 8, 2021
@xavierzho
Copy link

same as above,I confirmed that the code has no null pointer references

@MariusVanDerWijden
Copy link
Member

Ahh this was fixed already by c63c2d8

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