-
Notifications
You must be signed in to change notification settings - Fork 20.5k
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
Segmentation Fault(SIGSEGV) when starting Geth #16606
Comments
Are you starting geth with RPC enabled? We get this error if we start geth like this: ./geth --rpc --rpcaddr [redacted1] But if we start it with a different IP address then it works fine! ./geth --rpc --rpcaddr [redacted2] Fixed! (See below) This is happening on both 1.8.3 and 1.8.7, running on CentOS. |
@joeysino I'm using WebSockets, not RPC. Are you using AWS by any chance? |
@AyushG3112 Yes we are also using AWS. It seems to happen with either |
Oh I see my mistake. So that's why it exploded when I changed IP address. |
@joeysino So what I've been able to diagnose, the private IP of your AWS instance is assigned to your instance, so you can bind to it. The Public and Elastic IP are allocated to the AWS NATs which forward your requests, so if you try binding to it, it crashes. Same thing happened with our other nodes, they were not able to start servers at the Public or Elastic IP |
Yes that's right. AWS instances have multiple IPs, internal and external, and for this binding we need to use the internal one. (Which can be found from So I think we solved our problem at least. But perhaps geth could provide a better error message when the IP cannot be bound to. Possible message: |
I'm not sure I follow... The original report is about a segfault -- under what circumstances does the segfault occur? |
@holiman Yes. On binding to a non-available IP, Geth is throwing SIGSEGV, removing the IP or changing it to an available one works perfectly. Can reproduce multiple times. |
Geth version: 1.8.6-stable
OS & Version: Ubuntu 16.04.2
Expected behaviour
Geth should start syncing the blockchain.
Actual behaviour
Geth crashes with segmentation violation
Steps to reproduce the behaviour
No specific steps. Simply starting Geth.
Backtrace
The text was updated successfully, but these errors were encountered: