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)
Feb 13 2024, 9:37 PM
Unknown Object (File)
Jan 2 2024, 2:30 PM
Unknown Object (File)
Dec 20 2023, 5:15 AM
Unknown Object (File)
Dec 4 2023, 2:34 PM
Unknown Object (File)
Nov 7 2023, 1:14 AM
Unknown Object (File)
Nov 1 2023, 5:13 PM
Unknown Object (File)
Oct 6 2023, 12:12 AM
Unknown Object (File)
Sep 30 2023, 5:15 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