-
Notifications
You must be signed in to change notification settings - Fork 3.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
fatal error: concurrent map read and map write #11716
Comments
@marbar3778 I can't recall, didn't we address the |
Not sure if this was back ported to 0.44, but 0.45 has this solved |
I wasn't sure from the bug search I did on concurrent map read/write if mine was the same type of concurrent map read/write. Assuming that it is, would my only option at this time to wait for a chain upgrade to have this resolved? Or is there a patch for 0.44 that I could apply? |
I'm not sure how much effort we're going to be putting into maintaining 0.44.x anyway. Is there a reason you can't bump to 0.45? |
I am fine with bumping to 0.45, but I do not maintain the Vidulum chain. AFAIK, wouldn't the chain have to update as a whole for me to be able to update to cosmos sdk 0.45? I can also wait for our upgrade, speaking with the chains lead dev, I think we will be looking at doing so here soon. (months time frame probably). Mostly wanted to make sure that the concurrent fatal error I was having was just like the ones prior and had already been solved upstream. |
Yes :) but in that case, you might as well upgrade to 0.46 |
Great. I'm going to recommend this to the lead dev and just inform everyone that it will be an issue until we update. |
My pleasure! |
I have, in essence, resolved the concurrent map read/write errors via nginx. At the top of your site specific nginx conf, define the following:
My grpc configuration is as follows:
Two area's of importance here:
And this part of the upstream directive: I have not experimented with increasing the connections yet to see where it fails but I figure this will help most get a headstart if like us, they're still on 0.44.x Lastly, here is my current trpc section of Nginx too. I notice a lot of people struggle with a proper websocket proxy.
|
Summary of Bug
I am running a full archival RPC node. https://rpc.erialos.me, https://trpc.rpc.erialos.me, https://grpc.rpc.erialos.me, https://rest.rpc.erialos.me.
I am also running Ping.Pub explorer(on another server) that calls my RPC to populate the explorer data.
https://explorer.erialos.me
I can refresh the explorer, and given enough times, I will wide up with a fatal error.
fatal error: concurrent map read and map write
I've been having this issue since I started my RPC node. I have started to wonder if it has something to do with my LVM configuration for the drive mounted to store the blockchain data on. It's not because of a performance issue but I have a 6 drive striped LVM. I wonder if there is some performance hangup within LVM that might be causing this. I do not suspect that this is actually the issue but it has been going on long enough that I am attempting to consider all possibilities.
I have also thought that maybe it was the version of Cosmos SDK our chain is using. There are a few bug reports that noted this error that also seem to have been resolved: https://github.com/cosmos/cosmos-sdk/issues?q=is%3Aissue+is%3Aclosed+concurrent+map+read+and+map+write
Version
Cosmos SDK v0.44.0
Consensus Dump:
https://trpc.rpc.erialos.me/dump_consensus_state?
Steps to Reproduce
Refresh explorer enough times until RPC crashes.
Complete Crash Log
https://pastebin.com/ZdDtHwM4
For Admin Use
The text was updated successfully, but these errors were encountered: