On Feb 16, 2011, at 9:08 AM, Pieter Hintjens wrote:

> On Wed, Feb 16, 2011 at 3:47 PM, Chuck Remes <cremes.devl...@mac.com> wrote:
> 
>> 1. The publisher pushed too much data to its socket...
>> I fixed it by finally detecting and repairing the "weekend clock skip" bug.
>> So it's not really "fixed" in the 0mq library; I just avoid the condition
> 
> Indeed... the problem is still there and will come back to hit
> someone. Nothing you've said suggests it's an OS X issue. If your
> hypothesis #1 is correct it should be easy to reproduce with a minimal
> publisher and subscribers, not even needing a reactor.
> 
> Could you explain in pure 0MQ terms a scenario you think would provoke
> this, and I'll whip up a test case and see if I can make it die on
> Linux.

Pieter, take a look at the subject heading. This *was* on linux. :)

I ran into the condition very quickly on OSX even before hitting that "weekend 
time skip" bug which is why I moved to linux for testing. On linux it chugged 
through a lot more data before it failed the same way.

So, it isn't really specific to one OS. Linux fails the same way as OSX.

Here's a step-by-step explanation in pure 0mq terms to replicate.

1. On a single thread, have two 0mq sockets. SocketA is a PUB socket and 
SocketB is a SUB socket. SocketB should subscribe to everything.

2. Have SocketA do a non-blocking send for a few million messages in a tight 
loop. Do *not* allow SocketB any chance to recv until SocketA's loop is 
complete.

3. When SocketA's publishing is complete, let SocketB do a non-blocking recv 
until EAGAIN.

4. See if #2 or #3 fails.

cr

_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to