when your boot doesn't get far enough to use termbin this is the next next best thing . remember, nobody wants a smartphone picture of a monitor with logs on it
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
The QR code contains the panic stack trace text, directly encoded into a URL and a parameter. When you scan it, it goes to the website, which takes the parameter, decodes it and displays it as plain text.
Personally, I think it's a terrible idea compared to just showing the logs, because now you need internet and a phone with a camera to read a kernel panic log.
Edit: yes, it was Systemd who implemented it.
Edit: yes, it was Systemd who implemented it.
Nah, systemd-bsod is different and designed to show info about boot failures:

It's rather quite useless.
drm_panic on the other hand has nothing to do with systemd, and is what's shown in OPs post. The link can be quite useful for users to post their issues on bug reports or whatever. But if you know what you're doing, then it's pretty easy to configure it to print text instead.
Also remember, the reason drm_panic exists is because graphical outputs would otherwise freeze during a kernel panic, and not show anything useful.
Thanks for the info, but this is not that.
The picture above is generated by Drm panic which is part of the kernel itself, or maybe a separate module. The data in the QR code is the kmsg log.
Not systemd, which makes sense considering systemd was not running when that happened.
It's a kernel thing, not systemd
That QR code could be helpful, but why can’t we have both? Show me the backtrace and logs, and stick a code in the corner in case I need the Internet’s help.
The QR stacktrace allows a method of copying the information off the machine, which may now be unable to function any longer.
If this error meant you can no longer boot to retrieve the error it’s goin to take you a lot longer to fix it because you have to now find the problem with no clues.
I get it. It’s more descriptive than an error message, and the few kilobytes you can cram into a QR code is great for that.
It sounded like other people were worried about data exfiltration, or disclosure to a third party. I haven’t had a chance to test this. Where does the QR code go?
I disagree. The logs typically do not fit on the screen in text form, especially on low resolutions (like if the system has to fall back on an alternative graphics mode, which tends to happen more frequently in the event of a crash). Granted, a website is not the best possible solution and has the risk of leaking data but at least it is "a" solution. The data is encoded sure, but not in an obfuscated way. If you wanted, you could decode it with other means (for example a dedicated app that scans it).
So it's leaking information about your system to an external site?
That's just what we need.
The theory is that the site just hosts a small JS snippet that locally decodes and shows you your logs.
But yeah, now that you mention it, it would be trivial for the site to get and store the logs, and you wouldn't even notice.
Oh I see. If the URL puts the sensitive information after the anchor, like https://example.com/bsod#sensitive-info-goes-here then the browser would never send that part to the server. Everything after the anchor is just used locally by the browser to scroll the page to a specific place (or in this case for the javascript to read and process).
You'd need to check every time you scan a QR code though that the # is in the URL and it's not malformed. Trivially replacing the # with a ? would turn the private URL into one that sends all the data in the GET request. It's training users to do something risky.
Oh and it also assumes that the javascript hasn't been tampered with to upload the data somewhere.
I don't like it.
It's possible to use QR code reader apps that do not automatically go to the WWW.
But who's going to go to that effort on their slab of glass?
I agree that the whole concept of QR code scanning is problematic.
But who's going to go to that effort on their slab of glass?
Those who would like to make extra sure their data stays private. On an unrelated note, what kinds of data could be considered confidential in said log?
Those who would like to make extra sure their data stays private.
Yes, well, exactly. You know not every question is a literal question, right?
what kinds of data could be considered confidential in said log?
I was wondering that myself. It's "the kmsg log", something to do with kernel mode switching or "graphics". My guess: the log itself is not problematic, but there might be some metadata added. Or then one creates that metadata by submitting the QR code.
I use URLChecker on Android as my default browser so I can inspect any kind of link before opening it. It's the most useful tool I've found on mobile.
it’s leaking information
No.
Scanning the QR code (on a different device presumably) might do that though.
It's kinda what QR codes do.
But I agree, it's not a good idea. Because people will scan that code and let their slabs of glass do their thing.
Okay, great. I don’t have a smartphone. So I cannot see the error log anymore.
The most important info is at the bottom of the screen. I also believe you can turn this feature off if you prefer plain text
let's submit a patch to display error log as text too on the bluescreen
Hey, I happened to have a handful of smartphones that still have an ok battery and just collect dust in the shelf.
If you want me to ship one to you, pm your address.
Gonna help my linux buddies so that they can scan QR codes if their OS crashes.
(not sarcasm)
I should've tried to switch ttys, might have helped.
Switching ttys wouldn't have done anything. The kernel logs are usually saved to efi_pstore (or sometimes erst) by default though.
Edit: you can also set drm.panic_screen=kmsg as a kernel parameter to print the logs instead of the QR.
👍
Drm panic provides different panic screens. The default is "user" which will display a simple friendly message telling the user to reboot the computer. But for kernel developers, you can also set it to "kmsg", to see the last kmsg lines (so this is equivalent to the current fbcon). You can select the panic screen in Kconfig, or as a module parameter (drm.panic_screen=user) or at runtime with "echo -n kmsg > /sys/module/drm/parameters/panic_screen"
(source)
In other words, cat /sys/module/drm/parameters/panic_screen will show you what the current status is.
Nice dual display setup :)
My picture looks like that (on one monitor of course) and it wasn't created by systemd, which wasn't even running when that happened, but by the drm_panic kernel module. I've edited the OP.
can that dense code be scanned with a phone? pretty sure mine can't
That's what happened to me too, although i tried to scan it later off the image I took.
Did you maybe try to press Esc?
When it shows the pretty boot logo, you can do that to see the logs, so maybe it works here as well...
Nah, when a kernel panic hits then everything's screwed.
Pressing ESC does work for systemd-bsod (which is different) and as you mentioned Plymouth; but not drm_panic.
I never scan, just check the journal for errors from previous boot after restart. Most recent was my pcie low power shenanigans with my onboard WiFi. Simple fix and now its working /no bsod since.