ØMQ - The Game

So, this morning zeromq-dev had another report of ØMQ asserting when passed an invalid message. One thing we can all agree on, ØMQ should not crash when passed invalid data on the wire. But how to hammer the code heavily enough to let us state, "it's robust"?

Early next year we're going to organize our first international meetup, a conference, for the ØMQ community. It'll be in some nice European city, probably Prague Budapest. I'll have details later.

But this gives me an idea for making ØMQ totally robust, having some fun in the meantime. Here are the rules:

  • The goal is to crash a ØMQ/2.1 node by sending it invalid data of some kind via TCP.
  • Any TCP data is valid (e.g. TELNET), not just ØMQ messages.
  • First person to provide a test case that provokes a specific crash wins 1 point.
  • First person to provide an accepted patch for a reported crash wins 3 points.
  • The referees may allocate bonus points for particularly impressive contributions.
  • Crash reports must be logged in the ØMQ issue tracker.
  • Patches must be correctly submitted to the zeromq-dev mailing list and be for ØMQ/2.1 master.
  • The competition is open to everyone, without exception, except Pieter Hintjens and Martin Sustrik, who are the referees.
  • Collect and report your own points, as you go along. No-one else will count for you.
  • The referees are the sole arbiter and ultimate authorities of what constitutes a valid point.
  • Person with the most points wins.

Winner gets a speaker slot at the ØMQ conference, and travel to the conference and hotel paid by iMatix. Doesn't matter if you're in Aukland or Atlanta, we'll take care of it.