# Nginx/push module problem - ideas please

**URL:** <https://www.ruby-forum.com/t/nginx-push-module-problem-ideas-please/212632>\
**Category:** NGINX\
**Created:** [October 8, 2011, 5:52pm UTC](https://www.ruby-forum.com/t/nginx-push-module-problem-ideas-please/212632 "2011-10-08T17:52:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [October 8, 2011, 5:52pm UTC](https://www.ruby-forum.com/t/nginx-push-module-problem-ideas-please/212632/1 "2011-10-08T17:52:15Z")

</div>

Hi All,

This problem has been bugging me for weeks, and driving me up the wall.  
I cannot seen to get to the bottom of it.

The application is a chat room, for chat between a coach and a client.  
Both have similar code. The coach has a few extra bits to help him ask  
the right sort of questions, and update summary data, that the client  
does not have. The javascript used for the communication is common to  
both. In both client and coach there are two HTTP message pairs going on  
all the time.

Sending - POSTs the new messages to a PHP script, which replies with  
200 and a zero length message (so the screen is not updated).

Receiving - uses GET from the subscribe address (push module), to  
receive each message and them immediately requests the next message.

The PHP script logs each message and uses CURL to write to the publish  
address, before it returns the empty result.

Thus you only get to see your own messages once they return to you via  
the long polling module. The start-up code sends an “I have entered the  
room” message, which is broadcast to both. The on-unload event sends an  
“I’ve left” message, that is broadcast to any remaining people.

The problem is that sometimes we get a strange lop-sides set of  
connections.  
Coach logs in using Firefox (on one machine)  
Client logs in using Chrome on the same machine. (We wish to demo  
the software using screen sharing software).  
Coach sends a message, which arrives on both windows.  
wait 3 minutes (during which time the “Client has left” message  
is not seen)  
Client sends a message - which is logged and returns to him, but is  
not seen by the coach.  
Coach sends a message, which is logged and seen by both.  
Client sends another message which is logged, and seen by the  
client but not by the coach.  
Refresh the client page, this will show the logged messages which  
show the logging was correct.  
It will also cause the client to “Enter the room” a second time,  
without leaving it.  
All will now work properly.

We have seen this lop-sides behaviour in reverse - the client is missing  
messages sent by the coach, but receives his own back.

So far, we have only had reports of problems on the one machine. It is  
behind a NAT firewall, which appears to be working properly.  
We have checked for viruses.

Other information. Cannot create these problems on the test system, its  
a “live-only” feature. Nginx was upgraded from nginx 0.7.67 to 1.0.6  
recently, and problem appeared shortly afterwards. The push module is  
0.69 in both builds. Cannot reproduce except on the one machine, which  
is nearly new, and running Windows 7 Home edition. Server is running  
Ubuntu 11.04 LTS (under XEN on live and VBox on test).

All ideas gratefully received.  
Regards  
Ian
