Post a Comment
While running Windows, remove your system SATA disk/ssd and check how it works fine.
Now imagine that instead of human removal the cause is disk controler going crazy sometimes, not definitively. Or it's manufacturer driver is immature and don't have this quicky hardware workaround (disclaimer: all kernel crashes appearing in this comment are fictitious. Any resemblance to real ones, pending or past, is purely coincidental...)
How do you get enough data to discover the root cause?
Plus, please notice that Haiku don't have the resources Microsoft had to wrote its Windows kernel, and still it took a lot of time to reach a mature kernel crash features set. And calling the bluescreen a mature kernel debugger is kinda funny, BTW...
Edited 2012-07-03 09:39 UTC
Lets use a smart phone to decode the error message ... Why not I dunno write some data to disk? Surely that would have been simpler.
Right, because that's going to work reliably when the kernel panics. "
Well, to be fair, most people don't even know what a kernel panic is - or what it means...
Most OSes just do something fancy, like 'bluescreen', or reboot.
RE[2]: WTF IS THIS SHIT
Your KDL is caused by an issue relating *to* storage. How do you propose writing anything to the disk?
Your KDL is caused before any relevant busses are enabled. How do you propose writing anything to disk?
Why do you feel the need to make this volume of posts on one single topic without introducing anything new?
RE[4]: WTF IS THIS SHIT
Just Saying.
That's chicken and egg: how do you fix the root cause of most kernel panic in an OS without having solid crash reports in the first place?!
Promise, when Haiku kernel will be rock solid, we'll remove the qrcode feature and use instead a disk log writer. Happy?
BTW, why keeping a kernel disk log writer if your kernel don't panic anymore at all? Why instead of making Windows BSDO multi-langugage aware Microsoft don't fix the root cause of these BSODs in the first place?
Simple answer: because kernel developers needs it.
Period.
Now please, let's move on.
Please don't remove it (looks like you're involved?), I think it's great / brilliant / cute, an awesome idea... maybe even all informational popups etc. should have qrcode?
Though, I can see one downside - unpleasant shudder when seeing some random large QR code somewhere.
(kinda like my buddy used Windows error sound for SMS arrival, which made some people in public transport visibly disturbed, a bit)
Now I also wonder if QR code (~animation?...) could be extended to quickly transfer smallish amounts of data; I imagine it could possibly often be more immediately intuitive than bluetooth or wifi.
Edited 2012-07-06 02:19 UTC
I LOL'd. ^_^
It's just an extra feature to aid in the process of reporting bugs when the kernel crashes. The old method of taking a screenshot using a camera still works fine.
As for me, I don't have a smart phone
but I also haven't seen Haiku crash in a long long time on my computer.
One of the possible causes of the kernel panic is not being able to access said device, so where do you suggest to write the log?
But let's say you actually dump the file. What if the system doesn't boot anymore? Do your move the partition / drive to a different Haiku machine?
Do you realize this is an, WIP OS with no stable release right?
Edited 2012-07-03 00:14 UTC
Writing data to a storage device requires a lot of hardware control to *still* work. What happened when the boot device is an USB one and the panic is due to USB bus controler or its driver code? How do you write anything to a data storage device in such case?
Same goes for ATA bus, which is not *that* trivial to access.
Meanwhile, displaying data is simple: just write bytes at a well-known address within framebuffer addresses range. Simple and highly reliable.
What was not simple and reliable was copying the data displayed that way.
Edited 2012-07-03 09:35 UTC
Relax, would you? It's simply an alternative way to get the information out of the kernel debugger in order to be able to copy it into bug reports. Since most modern systems don't have serial ports any more, it can't be captured that way, and photographs of a computer monitor are large, unwieldy and can be a pain to get focused properly without cutting off important bits of information.
It is the 21st century my friend, people have worked out how to write text file to a hardrive.
And how do you get the text file to the kernel developer???
Remember, the machine doesn't actually work reliably - otherwise it wouldn't be generating kernel panics.
This is so fricken obvious - I can't believe you are still arguing about this...
Lets use a smart phone to decode the error message ... Why not I dunno write some data to disk? Surely that would have been simpler.
You are completely missing the point. The information being displayed is of no use at all to an end user. On Windows you get stop codes - are you saying a stop code conveys useful information to the user? It is a completely meaningless number...
Haiku is not Windows or Linux. The userbase is very small and is under rapid development. Googling stop codes or other such nonsense to try and figure out why something is going wrong (as an end user) is likely to be very hit or miss, mostly miss. The real purpose of the information is to allow a kernel developer to determine what went wrong. That is, btw, the real purpose of the information for Windows too - the fact they you can often look up stop codes on the web and gleam out what is going on from them is due to its popularity - nothing more.
More importantly though, for it to be of any use to anyone it has to be communicated to the developer... How exactly do you get the debug log off the hard-drive of the machine that doesn't work reliably???
The whole point is to make it simple to communicate the information to a developer. It is much cleaner to get an easy to decipher QRCode than it is to try and squint it out of a bad photo of a monitor.
Sure, the stop code approach (which serves roughly the same purpose) works too, but stop codes are just keys to a lookup - the stop code itself means nothing unless you already know where in the code they get hit. Using QR codes you can actually put a fair amount of meaningful information INTO the "stop code".
I suspect Haiku is not far enough along yet to get religious about how they handle kernel panics internally, different subsystems likely dump/panic in different ways (with differing levels of detail). This is a catchall mechanism to deal with the issue of inconsistent error handling.
I would like to see something as consistent as stop codes used for Haiku as well one day, but I think this QR code thing is a lovely idea for the time being. And it will remain useful even if they get to that point (as a way to convey additional information).
A good candidate for http://wtfqrcodes.com/
Not really... this is less of a WTF, and more of a "why hasn't someone thought of that before".
It's exactly the same old behaviour - dumping debug info to the screen on a crash - but it does so in a way that a reliable digital copy can be made (instead of a hand-written transcript, or a blurry photo of the screen). Brilliant.
Michael also wrote a blogpost about this feature:
http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_out...
Yeah, that was my reaction too. It's not much more complicated than the traditional approach of dumping "techie gibberish" to the screen, but it does so in a way that allows that info to be copied off the machine in an error-free manner. It's a brilliant idea.
'Write to disk' is actually supported, in some cases, that is if you're able to reboot the machine (working keyboard in kdl or a reset button that most laptop don't have). The bootloader has an option to write the previous syslog found in RAM to a FAT32 formated usb drive.
It's all there :
http://dev.haiku-os.org/wiki/ReportingBugs#Syslog
edit: keyboard reboot method
Edited 2012-07-04 10:22 UTC



