Solve a Problem

Bug Fixes

If you find and fix a bug on a stable release, great! To get this into the release, please:

  • Make a reproducible test case if you possibly can.
  • Fix the bug on the libzmq master, and put "Fixes #nnn" into the commit message.
  • Send us a pull request with that commit.
  • Ask us and we'll backport this fix to the last stable release, or
  • Make the same patch to the stable release, referring to the original PR.

Please do not send patches directly to the stable release, we will refuse them. All changes must be done, and tested on master first. (Unless the stable release is so old that it has its own unique bugs.)

Read the Guide

Chances are high that most of questions you'll have, for the first weeks you use ZeroMQ, are answered in detail in the Guide, so please read this essential handbook before asking for help. ZeroMQ is superficially simple but deeply profound, and takes time to properly know.

Check the FAQ and Tuning Guides

Many questions come up quite frequently, so we've collected the most common ones in our FAQ. Similarly, each Operating System has its own share of quirks so the Tuning Guide offers a few suggestions.

Talk to the ZeroMQ Community

If your app is losing messages, use the Problem Solver. When you stumble with things that aren't clear or don't work as you expect, ask for help. The ZeroMQ community is large, active, smart and quick to offer advice.

You will find them hanging out on the #zeromq channel on the freenode IRC network. To connect to the network, configure your IRC client to use the chat.freenode.net server. If you don't have an IRC client, we suggest you try X-Chat (Linux, Windows and others) or Colloquy (Mac OS X).

You'll also find ZeroMQ developers and users on the zeromq-dev mailing list. You might want to search the archives to see if your question was already asked.

When you have trouble or find a problem, please:

  • Don't post code fragments greater than a few lines, but use a pastebin.
  • Note the operating system, ZeroMQ version, and other relevant aspects.
  • Make a minimal reproducible test case, removing every line of code that's not necessary.

Report an Issue

If you think you have found a reproducible bug in ZeroMQ, report and track the issue until you're satisfied it's resolved one way or another.

Submit a Patch

We submit patches to the zeromq-dev mailing list. Contributing to ZeroMQ explains how it works. If your patch is accepted you will get credit in the contributors file. You are responsible for tracking your patch and convincing the ZeroMQ maintainers to accept it.

Get Involved

There are many areas where you can join in ZeroMQ. One way to write example applications in your favourite languages and use these to enlighten others. If you are a C++ programmer with a taste for kernel code, read the ZeroMQ code and learn how it works. You can also contribute in many other ways. ZeroMQ is LGPL code.