Reporting Bugs#

There are three types of bugs:

  • wrong or unexpected behavior that don't cause errors

  • soft errors

  • hard errors (crashes)

Incorrect Behavior#

In this case, please report the issue on our issue tracker with enough details to help us reproduce the problem.

You should include the following details:

  • a screenshot/screencast showing the problem

  • a description of the problem

  • steps to reproduce the problem

  • OS and Zrythm version information

  • last 100 lines of the log file

The following subsections explain how to provide this information.

Obtaining a Screenshot/Screencast#

You can press the PrintScreen on your keyboard to obtain a screenshot.

To obtain a screencast you can use a screen recording software such as OBS, or Control-Shift-Alt-R on GNOME.

Problem Description#

You should include as many details as possible to help us understand and reproduce the problem, otherwise we can't do anything about it. Here is an example of a good bug description:

Pixelated and misaligned timebase master and transport client icons

As can be seen in the following screenshot, the two icons are seemingly misaligned, moved into each other and also very pixelated.

Steps to Reproduce#

Please give the exact steps to reproduce the issue, starting from a blank project (if possible). We will follow these exact steps to reproduce the error so that we can fix it. If we can't reproduce the issue, it is very difficult to find or fix the issue.

Here is an example of helpful steps to reproduce:

  1. Create an empty project

  2. Add a MIDI track

  3. Create a region starting at bar 1 and ending at bar 5

  4. Add a note inside the region starting at bar 2 and ending at bar 4

  5. Split the note at bar 3

  6. Delete the 2nd note

  7. Zrythm freezes

OS and Zrythm Version Information#

You can copy the Zrythm version from the About dialog or (preferred) use the --version option when launching Zrythm in a terminal.

../_images/terminal-version-info.png

You can obtain OS information from the About dialog (click Troubleshooting then Debugging Information)

../_images/debugging-info.png

Log#

The log file can be found in the location specified here. Please provide at least the last 100 lines. You may be asked to provide the full log file (please compress it first).

Soft Errors#

In this case Zrythm will display a bug report dialog. Please follow the instructions in this dialog to report the issue.

Crashes#

If Zrythm crashed, then a bug report dialog may not be shown or the log file may not contain enough information to help us fix the issue. In this case, please follow the steps below to generate a core dump or a backtrace.

Generating Core Dumps on GNU/Linux#

You will need to type some commands into a terminal. Also, please make sure you have systemd-coredump or the equivalent package installed on your distro.

Note

The following steps apply to systemd users (the vast majority of GNU/Linux users). For non-systemd users, you can usually obtain the core file in the current directory after running the first 2 commands below and running Zrythm until it crashes.

First, enable core dumps:

ulimit -c unlimited

Tell Linux to add the PID (Process ID) to the core dump:

sudo sysctl -w kernel.core_uses_pid=1

Run Zrythm and make it crash. An intermediate core dump file should now be generated in /var/lib/systemd/coredump. Use coredumpctl to verify:

coredumpctl list -1

You should see something like the following:

TIME                          PID  UID  GID SIG    COREFILE EXE
Thu 2023-08-24 05:48:14 CDT 23179 1000 1000 SIGILL present  /opt/zrythm-1.0.0.beta.4.12.1/bin/zrythm

Note that under COREFILE it says present, so a core file exists.

Now we can finally export the core dump file to a location of our choice (in this case in my Downloads directory) by passing the PID to coredumpctl:

coredumpctl dump 23179 --output=/home/alex/Downloads/core.23179

Important

Change the file path given to --output to your desired location.

Please send us the core dump file (in the example above it can be found at /home/alex/Downloads/core.23179).

Getting a Backtrace on Windows#

Open the Command Prompt app as an administrator by searching for cmd in the start menu, then right clicking on the app and selecting Run as Administrator. Then, type the following and press enter/return:

"C:\Program Files\Zrythm\bin\drmingw.exe" -i"
../_images/drmingw-install.png

This will install DrMingw as the default debugger (you can uninstall it afterwards).

../_images/drmingw-install-confirmation.png

Then, run Zrythm and make it crash. When Zrythm crashes, you will see a Dr. Mingw window appear on the screen with error details.

../_images/drmingw-trace.png

Click File -> Save As... and save the error file somewhere. Please send us this error file.

../_images/drmingw-saveas.png

When you are done, you may uninstall Dr. Mingw with the following command:

"C:\Program Files\Zrythm\bin\drmingw.exe" -u"
../_images/drmingw-uninstall.png

A confirmation dialog will appear:

../_images/drmingw-uninstall-confirmation.png