Main Download News Tutorial Doc & FAQ & pool Consulting Ringdove [ringdove logo]

Ringdove EDA - reporting bugs

Ringdove EDA, like any other biggish piece of software, is not a free of bugs. When you find a bug, please report it and we will try to fix it. For reporting bugs you can use any medium you can reach us on: mostly IRC and email, whichever is easier for you.

Using the below table you can increase the efficiency of your bugreport by sending enough data in the initial report that we won't need to ask for clarification.

what went wrong optional extra info to help debugging
0. For any report Please include what version of Ringdove componets are you using: release tarball version number or the output of "svn info" in trunk/. The about box in the GUI application also prints these. Include verion of librnd.

Make sure your bugreport is self-contained: it should have all necessary custom files and all steps to reproduce included. Never depend or refer to on another bugreport for files or steps, rather repeat yourself. Never assume the developer will remember you had another bugreport.

Never batch bugreports: send one bug per report. Don't batch bugreports even if they look similar, or they use the same input files.

1. Configuration problems:
  • ./configure failed
  • ./configure didn't find a optional package XY
  • ./configure didn't do what I wanted it to do
always include your scconfig/config.log
2. Build problems: make fails
  • always include your scconfig/config.log
  • run make clean; make >make.log 2>&1 ; send the resulting make.log
3. Installation problems: make install fails
  • always include your scconfig/config.log
  • run make install >makei.log 2>&1 ; send the resulting makei.log
  • if the error is not an obvious failure of an operation with a clear error message, please explain, in details, what you expected to happen (what files should have copied/linked where) and what happened instead.
4. runtime error: some file not found Please make sure you have the application installed before running it, or if you are running it from source, make sure to cd to trunk/src and running it locally (e.g. ./pcb-rnd, ./sch-rnd, ./camv-rnd). Only these two ways are supported. If it still fails running by one of those two, please jump to point 5.
5. runtime error: non-gui-related
  • run the program from the command line; append >run.log 2>&1 to the command line, reproduce the error and include run.log
  • if the error is not an obvious failure of an operation with a clear error message, please explain, in details, what you expected to happen and what happened instead.
  • always report the full command line you used
  • always include the specific files you used; wording "any file" in a report is not accepted
6. runtime error: "the application is not doing what I think it should be doing"
  • even for the most obvious-looking problem, please always explain, in details, what you expected to happen and what happened instead (there's no such thing as "obvious" expected behavior here)
  • always include the specific files you used; wording "any file" in a report is not accepted
  • always minimize your file (see point 10 for tips); if the bug is reproducible with a single object on an empty board, do that and save/send that board instead of your 10 layer 200*200mm board with 6k subcircuits on it
  • always include the exact steps, on user input level, click by click; don't write "then delete the object", write what specify key presses, menus, mouse clicks you used to delete the objects when the problem occured. (This is extremely important because there are many differet ways to achieve the same results and bugs often affect only one specific way.)
  • always be specific; don't write "select any via", write one specific via (by coords) that needs to be selected to trigger the bug
  • for rendering problems: if you are using the gtk-gl hid, please also try the gdk hid with the command line argument --gui gtk2_gdk . Please include a sentence about whether the bug affects both HIDs or is gl-only.
7. application crashes (segfault, assertion, abortion) First try point 5. or 6. If developers fail to reproduce the problem, you'd need to do local debug dumps:
  • If you compiled from source: re-run ./configure with --debug and recompile (and reinstall); first in librnd than in the application that's causing the problem
  • Run the application from gdb; for example if it's pcb-rnd:
    • if you are running the installed version: gdb pcb-rnd
    • if you are running from source: cd trunk/src; gdb ./pcb-rnd
  • Type this in the gdb prompt: run (optionally append a space and the command line arguments you would have used for starting the application)
  • reproduce the problem
  • type bt, copy&paste the result and include it in the bugreport
  • if the problem is reproducible, please include a description how to trigger it, preferrably on an empty board on a fresh start, alternatively with an example file included
Altnerative method with core dumps (using pcb-rnd as example):
  • ./configure --debug
  • ulimit -c unlimited
  • on Linux, check your core pattern (man 5 core , search for pattern; changing the core pattern requires root)
  • in src/ run ./pcb-rnd, trigger the bug
  • in src gdb ./pcb-rnd core (core is the default core file name, you may have a different name depending on the core pattern, see above)
If you are on MacOSX, you may need to use lldb instead of gdb: lldb --core /cores/core.52381 and the backtrace command is bt all instead od just bt.
8. sch-rnd/pcb-rnd/camv-rnd can't load my file Please include the file in your bugreport
9. sch-rnd/pcb-rnd/camv-rnd loads my file but it doesn't look good Please include the file in your bugreport; please include a screenshot of the file (even open in another software) to demonstrate how it should look and a screenshot how it looked in sch-rnd/pcb-rnd/camv-rnd; please mark the difference visually.
10. the application produces broken export
  • Please include the minimized input file in your bugreport
  • Explain the steps of exporting (expecially export settings); best if you can reproduce it with command line argument -x
  • Describe how exactly it is broken (which detail is off, how should it look like instead)
  • Submitting minimized example is key to quicker resolution. Here is a process you can follow to minimize your file:
    • 0. cheat: create a tiny board/sheet, draw a single object in the middle export and verify; if it produces the problem, you are done, you have a minimal test case
    • 1. if that fails, go back to your original file; export your file, verify it's still broken
    • 2. save a backup
    • 3. remove half of the objects randomly
    • 4. export again, check if it is broken
    • 5.a. if it is broken, GOTO 3
    • 5.b. if it is not broken, restore backup you made in step 2 and GOTO 3 (make sure you delete different objects this time)
    • 6. ideally end up with a file with 1..4 drawing objects - please do repeat the above steps until you can really remove anything that doesn't actually contribute to the problem