[zeromq-dev] A non-ZeroMQ packet seems to cause 100% CPU

Clément Battin clement at batt.in
Tue Sep 25 13:54:17 CEST 2012


Hi everyone,

I might have found a bug in ZeroMQ 2.2, it causes a 100% CPU. It is triggered
by a simple raw "write" (without the ZeroMQ protocol) on a client socket with
a ZeroMQ server.

To reproduce:

- Compile and run the first example of the ZeroMQ guide at:
  http://zguide.zeromq.org/page:all#Ask-and-Ye-Shall-Receive
- Send "foo" at 0.0.0.0:5555

That's all, the server process CPU usage should be 100%.

Note:
If a "read" is performed on the socket before the "write", the bug is not
triggered. That's why you cannot use "nc" to reproduce. Here is a Perl
one-liner that does the job: http://pastie.org/pastes/4796927/text

Reproduced on two machines:

Gentoo Linux 3.2.1 x86_64
ZeroMQ 2.2
czmq 1.1.0

Debian Linux 2.6.32 x86_64
ZeroMQ 2.2
czmq git 08b05f1947bcb1939826350066c53cd5283b0656

Can anyone confirm this?

Regards,

Clément





More information about the zeromq-dev mailing list