-
Notifications
You must be signed in to change notification settings - Fork 162
Server hanging at FUTEX_WAIT_PRIVATE #88
Comments
I'm having similar problems but not the whole server hangs, just the subscribing to redis, especially the publishing from redis to tornado is not working anymore |
My situation is the same, only part of the processes would hang. I still not found the solution for this even I had try to tune the linux network core params and redis params. So I changed the transfer protocol from pure Websocket to SockJS which is like Socket.IO, trying to use Websocket in default and replacing by comet technology when Websocket not working in some network environment. Not like the example in Websocket, tornado-redis uses only one socket to subscribe messages of all channels, and the issue never happening. I guess that ... maybe there are strange things that would cause this problem while too many redis subscribe clients exist. |
i use swampdragon which has tornado-redis as a part but with SockJS as protocol. |
So we're getting this as well. It seems the tornado-redis client destructor is to blame. I've managed to attach to a blocked process with Pyrasite and get the following stack trace:
So, the client is trying to close its connection in the destructor, which gets executed while another callback is being added (and a non-reentrant lock has been taken already in the io loop), hence the deadlock. |
Hi, I use tornado-redis to async subscribe some chatting message, but when the server running minutes later, maybe hours or days later , the server hanging without any error reason. I used the strace tool with $ strace -p "The Process PID", then I found the process stuck in this status futex(0x7ffff64b3e00, FUTEX_WAIT_PRIVATE, 2, NULL) = 0.
Can Anyone tell me what causing this issue, and how to solve it ?
Some others solved similar situations by setting the connection timeout...
Would setting the stay_after be useful?
Thanks your help.
The text was updated successfully, but these errors were encountered: