-
Notifications
You must be signed in to change notification settings - Fork 261
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 Nimbus is paired with a web3 provider over HTTP #3521
Comments
A similar crash with a slightly different call stack:
|
I believe I'm seeing the same:
|
The socket selector holds a `seq` of per-descriptor data. When a reader is registered, a pointer to a seq item is stored - when the `seq` grows, this pointer becomes dangling and causes crashes like status-im/nimbus-eth2#3521. It turns out that there already exist two mechanisms for passing user data around - this PR simply removes one of them, saving on memory usage and removing the need to store pointers to the `seq` data that become dangling on resize.
The socket selector holds a `seq` of per-descriptor data. When a reader is registered, a pointer to a seq item is stored - when the `seq` grows, this pointer becomes dangling and causes crashes like status-im/nimbus-eth2#3521. It turns out that there already exist two mechanisms for passing user data around - this PR simply removes one of them, saving on memory usage and removing the need to store pointers to the `seq` data that become dangling on resize.
Got the same problem on mainnet with besu as execution client. Changing to websocket solved the crashes. |
@BenedettiLucca: Did you still have the problems on mainnet with Nimbus v22.9, or was this using an older version of Nimbus? |
I'm using nimbus 22.9 and besu 22.7.2 |
The user supplied a HTTP
--web3-url
end-point provided by a fully synced non-archive Erigon instance. The following crash was observed:Using a WebSocket URL with the same Erigon instance worked fine.
The text was updated successfully, but these errors were encountered: