On Tue, 2005-Nov-15 02:08:12 -0800, Rob wrote: > makeoptions DEBUG=-g > options INVARIANTS > options WITNESS > options WITNESS_KDB > options KDB > options DDB > options DDB_NUMSYM > options GDB > >Is that enough?
If your system is headless, you probably want 'options BREAK_TO_DEBUGGER' as well. First question is: Does the system still deadlock? INVARIANTS and WITNESS will have added sanity checks which might have picked up the problem. >1) Can I debug a kernel that does not crash, but > just hangs in a deadlock? Everything seems to > be frozen, except pinging the PC.... Have a look at http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-online-ddb.html and ddb(4). Unless you have another system handy, you might like to print out ddb(4) - it's difficult to read man pages when you're in the kernel debugger :-). >2) Is such debugging possible on a headless PC > without a keyboard attached? > I do have serial console access. Yes. See above URL. The advantage is that you can (hopefully) capture a log of your debug session. Send a serial BREAK and you should get a DDB> prompt. Basically, wait until your system deadlocks. BREAK into DDB. As a start, run 'show lockedvnods', 'ps'. My guess is that you'll see a lock that has a number of waiters - which is probably the culprit. Use 'panic' to get a crashdump and then you can use kgdb to rummage around once you reboot - see http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-gdb.html If in doubt, post the output from the above commands here and someone will hopefully provide further input. -- Peter Jeremy _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"