“Denis Vlasenko posted an interesting howto document to the
lkml. He begins, ‘okay, so you’ve got an oops and want to find out
what happened?’ He then walks step by step through the process of
reading an oops, tracking it down to the proper source file,
dissasembling the c code, locating the oops in the generated
assembly, and finally matching the assembly back up with the
precise line in the c code where the oops happened.“Several others commented on the document, providing a few of
their own tips as well. Among them, 2.4 stable Linux kernel
maintainer Marcelo Tosatti offered a simpler alternative method of
matching assembly with the precise line in c code, then went on to
comment, ‘the document looks great, but could go deeper into things
like like hardware-flaky bitflips, stack junk (explain why the
stack can be ‘unreliable’), etc. to be even more useful.’ Further
information on debugging an oops can be found distributed with the
Linux kernel in Documentation/oops-tracing.txt…”