summaryrefslogtreecommitdiffstats
path: root/doc/troubleshooting.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/troubleshooting.rst')
-rw-r--r--doc/troubleshooting.rst17
1 files changed, 15 insertions, 2 deletions
diff --git a/doc/troubleshooting.rst b/doc/troubleshooting.rst
index 3d7c359..5bd1d90 100644
--- a/doc/troubleshooting.rst
+++ b/doc/troubleshooting.rst
@@ -9,7 +9,7 @@ First of all, check the logs. Enabling at least the ``warning`` message
severity may help you to identify some problems. See the :ref:`log section`
for details.
-.. _Submitting a bugreport:
+.. _Submitting a bugreport:
Reporting bugs
==============
@@ -46,7 +46,7 @@ addition at least the following information:
If possible, please provide a minimal configuration file and zone files which
can be used to reproduce the bug.
-.. _Generating backtrace:
+.. _Generating backtrace:
Generating backtrace
====================
@@ -108,3 +108,16 @@ If you fail to get a backtrace of a running process using the previous method,
you may try the single-purpose ``pstack`` utility::
$ pstack $(pidof knotd) > backtrace.txt
+
+.. _Bus error:
+
+Crash caused by a Bus error
+===========================
+
+Zone files and a configuration file are usually accessed as
+`mmaped <https://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html>`_
+files. If such files are changed or truncated at the same time when those files
+are being loaded/reloaded by the program, it may result in `Bus error
+(SIGBUS) <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html>`_
+and a program crash. If you encounter a Bus error, first check that there isn't
+a concurrent write access from an external program to the respective files.