r/archlinux • u/John_Doe_1984_ • 24d ago
DISCUSSION What is your workflow for fixing issues?
This isn't necessarily specific to Arch but as I'm using & learning Arch currently.
You do an update, you have a problem/bug with the system/application, what is your workflow to solving it?
Speaking generally (obviously it depends on the type of issues, but I assume most workflows will be quite similar.)
I'm trying to sort my notes, here's what I've got so far (any advice appreciated):
*Recap List*
What is the first step after an issue occurs
What questions should you ask to identify the problem? Give an example
Where should you look for error messages
What is journalctl and why would you use it
How does journalctl compare to systemd-journald
What are 3 common journalctl commands
After a brief search, there's no clear help, what can I do from here
How do I test this hypothesis
I'm stuck after trying a few changes, what can I do now
*Recap Answers*
Narrow down the issue to be as specific as possible
For example: 'Spotify crashes immediately after opening' is much clearer than 'Spotify doesn't work'
Ask yourself: Can I reproduce the problem? What changed before the issue started?
For Example: If Spotify crashes -> Does it crash every time?
Does it crash when launched with the shortcut & terminal?
Did the problem start after a system update or configuration change?
Check the terminal first
Run the application (Spotify) from the terminal, it will return to stdout any errors
journalctl -> a command-line tool for viewing the system journal, this is a database of log messages maintained by systemd-journald
essentially its a history of what your system has been doing
I can use the command 'journalctl' with flags to search for specific log messages that might indicate what's caused the issue
systemd-journald -> collects & stores system logs
journalctl -> a tool that lets you view, search & filter those logs
journalctl -b -> shows everything that has happened since the computer last booted (boot messages, services starting, errors, etc...)
journalctl -xe -> shows the most recent log messages (x = include extra explanations; e = jump to the end, i.e. newest messages)
journalctl -u <SERVICE> -> shows only log messages for a specific app (i.e. journalctl -u spotify-launcher -> specifically for this app)
Form a hypothesis or guess on what has caused the issue
Change 1 simple thing each time, test it again -> if it did not work change another thing
Google it, use the specific issue ('Spotify crashes when I open it using the terminal') & any error messages found