Commit 5f39edca authored by Harald Sitter's avatar Harald Sitter 🏳️‍🌈
Browse files

refine readme yet more

outline how notifytruck is used and how the workflow works as a whole
parent 54622d4d
Pipeline #141063 passed with stage
in 5 minutes and 55 seconds
......@@ -19,11 +19,37 @@ We need to make sure that the `drkonqi-coredump-processor@.service` is enabled s
* You can enable it with `systemctl enable drkonqi-coredump-processor@.service`
To make sure the coredumpd setup is working correctly:
* `cat /proc/sys/kernel/core_pattern` should show systemd-coredump as handler
* killall -SEGV kwrite
* journalctl sould show the following:
* `KCRASH_DUMP_ONLY=1 kwrite`
* `killall -SEGV kwrite`
* journalctl should show the following:
* systemd-coredump@.service run an instance (e.g. systemd-coredump@12-66048-0.service)
* drkonqi-coredump-processor@.service should run an instance with same suffix as systemd-coredump@
* drkonqi-coredump-launcher@.service should run an instance with yet the same suffix
* at this point a notification should show up that notifies you about the crash
* A notification to start drkonqi should appear
To use the notifytruck (catch crashes in all software) add `KDE_COREDUMP_NOTIFY=1` to your /etc/environment. This
enables the NotifyTruck for drkonqi-coredump-launcher@.service and offers access to gdb for all crashes. This is a
feature targeted at developers:
* `gedit`
* `killall -SEGV gedit`
* journalctl should look like above
* A notification to start konsole+gdb should appear (if no notification appears something has gone horribly wrong)
### Workflow, Service, and Enablement overview
* KCrash writes metadata files with context information when an application crashes
* systemd-coredump@.service; from upstream; must be enabled; catches the actual core
* drkonqi-coredump-processor@.service; WantedBy systemd-coredump@.service;
must be enabled (`systemd-coredump@.service.wants/drkonqi-coredump-processor@.service` symlink must exist in one of
the `systemd-analyze unit-paths`!); passes along the crash into the relevant user session
* drkonqi-coredump-launcher.socket; user socket; must be enabled per user or in one of the global
`systemd-analyze unit-paths`; the processor talks to this socket
* drkonqi-coredump-launcher@.service; user service; doesn't need to be enabled; invoked by the socket as needed and
processes the metadata, created by KCrash in the very beginning, to figure out if and how to invoke drkonqi
* drkonqi-coredump-cleanup.{service,timer}; cleanup tech for long running sessions to avoid cluttering $HOME with
dangling metadata files
* launcher's main.cpp runs through a set of DumpTruck instances, the first that wants to handle the crash may. By default
that would be the DrkonqiTruck for crashes in KDE software
Supports Markdown
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