Due to some ongoing issues with 0mq on OSX, I switched over to using my linux 
box as the main dev and test server. 

I am running a very recent master from the last day or two, so it's all 2.1.0.

My systems do a lot of high-volume communication amongst 4 distributed 
components. They connect strictly via the tcp transport (no inproc or ipc). 
After switching to linux (archlinux running the 2.6.35 kernel) I started 
getting the mailbox assertion after it ran for a few hours.

  Assertion failed:  new_sndbuf > old_sndbuf (mailbox.cpp:182)

Searching the list gave me a few hints. It looks like this code is running out 
of buffer space for a socketpair that 0mq uses internally for signaling. The 
suggestions were to increase net.core.wmem_max, wmem_default, rmem_max and 
rmem_default.

I boosted the "max" values to 5MB and the default values to 512k. Now one of my 
components fails with the above assertion almost immediately (seconds). <sigh>

Do any linux experts have any suggestions? (Yes, I'll be returning those values 
to their original defaults in the short term).

I'm also interested in hearing about what parameters you tune on linux for 
better 0mq behavior as well as what specific values you are using.

Thank you!

cr

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to