Skip to content
Snippets Groups Projects
Verified Commit 17c19474 authored by Tomas Krizek's avatar Tomas Krizek
Browse files

doc: document debugging options

parent 3f57fb0a
Branches
Tags
1 merge request!1146lib/utils: define kr_require(), kr_assume() macros
.. SPDX-License-Identifier: GPL-3.0-or-later
Debugging options
=================
In case the resolver crashes, it is often helpful to collect a coredump from
the crashed process. Configuring the system to collect coredump from crashed
process is out of the scope of this documentation, but some tips can be found
`here <https://lists.nic.cz/pipermail/knot-resolver-users/2019/000239.html>`_.
Kresd uses *assumptions*, which are checks that should always pass and indicate
some weird or unexpected state if they don't. In such cases, they show up in
the log as errors. By default, the process recovers from those states, but the
behaviour can be changed with the following options to aid further debugging.
.. envvar:: debugging.assumption_abort = false|true
:return: boolean (default: false)
Allow the process to be aborted in case it encounters a failed assumption.
.. envvar:: debugging.assumption_fork = true|false
:return: boolean (default: true)
If a proccess should be aborted, it can be done in two ways. When this is
set to true (default), a child is forked and aborted to obtain a coredump,
while the parent process recovers and keeps running. This can be useful to
debug a rare issue that occurs in production, since it doesn't affect the
main process.
......@@ -47,3 +47,4 @@ Additional monitoring and debugging methods are described below. If none of thes
modules-ta_signal_query
modules-detect_time_skew
modules-detect_time_jump
config-debugging
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment