Search
The Open Source SLEE and SIP Server

Mobicents issue reporting

Please follow the following steps when reporting a bug against the Mobicents Platform, in order to ensure efficient communication with the developers, and to expedite the issue reporting/resolution process..

1. Isolate the bug from application code and other 3rd party software.

Accurate and detailed information is vital for a quick resolution to a bug. When we are analyzing a bug report, we need to have a complete understanding of the environment: what all the moving parts are, what each one is responsible for, and how they interact with each other. If a bug report references your application code, or 3rd party software, we will need to take the time to understand what they do and that can become a lengthy dialog of diagnostic questions and answers. The more isolated the bug is, the less time we need to analyze and fix the issue.

2. Ensure the bug hasn't already been reported.

To save time for yourself and the developers, ensure the bug you want to file hasn't already been reported.

  • Search through the Issue List for previously reported bugs.
  • If the bug has not been reported, continue from step 3.
  • If the bug has been reported, but you have encountered different behavior which you think is wrong (and is not yet described in the bug report), please attach the information collected in step 3 to the existing issue, and comment on the different behavior you have seen.

The more information that we have about a particular problem, and the more votes for resolution it receives, increases the chances that it will be addressed with a higher priority that less detailed issues.

3. Collect all possible information about the bug.

We need to be able to reproduce the bug, and so need as much information as you can provide us with.

  • Platform logs and/or network protocol traces are a must.
  • A step by step description of how a developer can replicate the case should be included to make reproducing the bug easier.
  • Ideally, a unit test case will be provided (e.g. using JUnit) that exposes the particular problem in the Mobicents code.
  • In the rare situation where it is not possible to write a unit test, an alternative approach would be to provide a simple application (the easier to build the better) and some scripts to generate network traffic. It is very important to minimize 3rd party dependencies and tools in this process.

Special Categories: Some categories of problems require special diagnostics. For example:

  • Memory leaks - memory dumps and potentially thread dumps will usually help (e.g. java.lang.OutOfMemoryError,java.lang.StackOverflowError).
  • Deadlocks - thread dumps before and while running your test case.

Debugging options: Please add following JVM settings for your test case, if possible

  • -XX:+HeapDumpOnOutOfMemoryError
  • -XX:+PrintConcurrentLocks
  • -XX:+PerfSaveDataToFile

4. Create an issue.

  • Create an issue in the Issue Tracker.
  • Use the most appropriate template. Ensure you choose the template BEFORE entering information, as information is not carried over between templates.
  • Set as many relevant labels/tags as applicable.
  • Attach all collected evidence to the issue.

5. Get involved in fixing the issue.

  • Create or join a topic in the User Forum to discuss an issue at hand.
  • Cross link the discussion with the issue in the issue tracker.

You can even try fixing the issue yourself. Finding a new bug is a significant achievement, but nothing is more satisfying for a developer than contributing a patch that is reviewed and committed by the elite club of core contributors. The community is always available to provide guidance where needed, and you will become one of the co-authors of the Mobicents Platform, writing your name on the Open Source Wall of Fame!

Top Articles:

ImageInnovation in Europe
The European Union has been working hard to establish a collaborative research environment across member countries. In the area of telecommunications the Commission for Science and Research sponsored several big scale projects under its Framework 6 Programme. One such project named OPUCE started in September. Its purpose is to create an open infrastructure enabling easy service creation and deployment in heterogeneous environments and ambiances. more....

Image IT vendors challange NEPs
Until not long ago the market of telco infrastructure used to be exclusive privilege of a handful vendors collectively known as Network Equipment Providers. Convergence of voice, video and data over the Internet Protocol however opened the door to IT vendors who are quickly recognizing the unique oportunity before them. IMS Insider posted an article showing that soon, IT vendors may be a formidable player in this field and that is no good news for NEPs. more...