January 28, 2006 PANIC 9

### NAME

panic - Bring down system on fatal error

### SYNOPSIS

```void` panic(```const char *fmt``, ...`)

### DESCRIPTION

The panic(``) function terminates the NetBSD system. The message ```fmt` is a printf(3) style format string which is printed to the console and saved in the variable panicstr for later retrieval via core dump inspection. A newline character is added at the end automatically, and is thus not needed in the format string.

If a kernel debugger is installed, control is passed to it after the message is printed. If the kernel debugger is ddb(4), control may be passed to it, depending on the value of ddb.onpanic. See options(4) for more details on setting ddb.onpanic. If control is not passed through to ddb(4), a ddb(4)-specific function is used to print the kernel stack trace, and then control returns to panic(``).

If control remains in panic(``), an attempt is made to save an image of system memory on the configured dump device.

If during the process of handling the panic, panic(``) is called again (from the filesystem synchronization routines, for example), the system is rebooted immediately without synchronizing any filesystems.

### RETURN VALUES

The panic(``) function does not return.

### SEE ALSO

sysctl(3), ddb(4), ipkdb(4), options(4), savecore(8), swapctl(8), sysctl(8)