This chapter discusses how to debug problems with Obnam. It covers things such as log files, various levels of logging and tracing, and common problems with Obnam use. It also explains what things go where in an Obnam backup repository.
Turning on full logging
Obnam can write a log file. There are several options controlling that. Knowing these can help get out the most information when there's a problem that needs to be investigated.
--log=obnam.logtells Obnam where to log. The log is a simple text file.
--log-level=debugtells Obnam to log at the most detailed level. The default level is
info, which excludes most debug information.
--trace=obnamlib --trace=larchtells Obnam to log additional debug information. The two arguments match all filenames in Obnam and the Larch library Obnam uses. This additional information is mostly useful to someone who can read and understand the program source code.
Note that these settings can make log files be quite large, in the order of tens of megabytes. The size depends on how many files and how much data your live data has.
Reporting problems ("bugs")
If you have a problem with Obnam, and you want to report it (please do!), including the following information is helpful and makes it easier to figure out what the problem is.
- You should report problems to the
email@example.com list. This is a publicly archived mailing list where various people help others use Obnam.
If you respond to messages on
obnam-support, always keep the list in the cc list. This means others will see the response, and there's a chance that they can help you better than the particular person you're responding to. Also, the archived discussion may be helpful to later readers, perhaps years afterwards.
What is the problem? What did you try to achieve? What actually happened?
The version of Obnam and Larch you're using, and how you installed it.
- On Debian, run
dpkg -l obnam python-larchon the command line and include the output.
- On Debian, run
The exact command line you used. Copy-paste it instead of typing it again into the mail. Sometimes the problem can be hidden if you don't copy the command line exactly. Also, copying by typing is boring, and we should avoid boring things in life.
If there's an error message, copy-paste that into the mail.
The output of
obnam --dump-config, which includes the full configuration. Include it as an attachment to your mail to
obnam-support. If you have some secret information, such as filenames or hostnames, you can replace those with XXXX.
If you can reproduce the problem while running with
--trace=obnamlib --trace=larchoptions, include a suitable amount from the end of the log file. The suitable amount may depend on the situation, but if you give the last two hundred lines, and it's not enough, we'll ask for more. Again, feel free to replace any sensitive filenames, etc, with XXXX.
The output of the
envcommand, in the same terminal window in which you ran Obnam. (Again, as an attachment.)
If your bug is about performance, please run Obnam under profiling, and attach the profiling file. To run Obnam under profiling, install the Python profile (
python-profilerpackage in Debian/Ubuntu), and set the
OBNAM_PROFILEenvironment variable to the name of the file with the profiling output (that's the file you should send by mail). For example:
OBNAM_PROFILE=obnam.prof obnam backupwould run the backup under the profiler, and write the result to
Thank you for your help in making Obnam better.