Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Plasma
DrKonqi
Commits
5f39edca
Commit
5f39edca
authored
Feb 22, 2022
by
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
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
5f39edca
...
...
@@ -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
*
`KCRASH_DUMP_ONLY=1
KDE_COREDUMP_NOTIFY=1
kwrite`
*
killall -SEGV kwrite
*
journalctl sould show the following:
*
`KCRASH_DUMP_ONLY=1 kwrite`
*
`
killall -SEGV kwrite
`
*
journalctl s
h
ould 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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment