Page MenuHomeFreeBSD

Don't enter DDB for fatal traps before panic by default.
ClosedPublic

Authored by jhb on Oct 30 2018, 11:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jul 1, 1:08 AM
Unknown Object (File)
Sun, Jun 29, 7:13 PM
Unknown Object (File)
Fri, Jun 27, 10:24 AM
Unknown Object (File)
Thu, Jun 26, 8:10 PM
Unknown Object (File)
Fri, Jun 20, 3:32 AM
Unknown Object (File)
Wed, Jun 11, 12:02 AM
Unknown Object (File)
May 26 2025, 3:20 AM
Unknown Object (File)
May 11 2025, 4:46 PM

Details

Summary

Add a new 'debugger_on_trap' knob separate from 'debugger_on_panic'
and make the calls to kdb_trap() in MD fatal trap handlers prior to
calling panic() conditional on this new knob instead of
'debugger_on_panic'. Disable the new knob by default. Developers who
wish to recover from a fatal fault by adjusting saved register state
and retrying the faulting instruction can still do so by enabling the
new knob. However, for the more common case this makes the user
experience for panics due to a fatal fault match the user experience
for other panics, e.g. 'c' in DDB will generate a crash dump and reboot
the system rather than being stuck in an infinite loop of fatal fault
messages and DDB prompts.

Test Plan
  • get a panic due to a fatal page fault and try to use 'c'

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable