backtrace() not printing to kernel log
Nate Lawson
nate at root.org
Sat May 17 23:04:52 PDT 2003
I've found an annoyance when tracking down a new LoR. Since
db_print_backtrace() uses db_printf() instead of printf(), the backtrace
doesn't make it to the kernel buffer but is printed directly to the
console.
dmesg:
lock order reversal
1st 0xc35d5098 vm object (vm object) @ /usr/src/sys/vm/vm_object.c:512
2nd 0xc082f110 system map (system map) @ /usr/src/sys/vm/vm_kern.c:325
Stack backtrace:
I looked into how to fix this but couldn't come up with a good idea. The
most obvious thing to do is use a function pointer and check if the
debugger is active. If so, use db_printf(), otherwise use printf(). But
there doesn't seem to be an architecturally clean way to do this. Ideas?
-Nate
More information about the freebsd-arch
mailing list