tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Analyzing a 4.0/amd64 panic
I'm trying to analyze a panic on our 4.0/amd64 file server.
Unfortunately, I don't have the panic string. The colleague who rebooted the
machine from ddb forgot to take a screen picture.
Fortunately, I do have a dump. Unfortunately, the message buffer in the dump
is completely filled by the dump block countdown, so I don't have the panic
string from the message buffer either.
Unfortunately, gdb doesn't give me a backtrace. The rip is 0x100. My knowledge
of 8086 assembler is, ehm, limited.
So I dumped memory at rsp and looked for addresses that could be saved ip's.
What I get is approximately the following:
dumpsys+682
sddump
cpu_reboot+290
db_reboot_cmd+72
db_command+139
wsemul_vt100_output+813
wsdisplay_cnputc+81
cnputc+29
db_putchar+382
db_putchar+382
db_readline+654
db_command_loop+66
db_trap+220
kdb_trap+215
logwakeup+50
printf+246
lockmgr+2189
trap+563
vfs_busy+226
copystr_return
dqget+238
lockmgr+1663
secmodel_bsd44_suser_generic_cb+31
...
I don't understand why I have ddb's internal procedures in that backtrace but
apart from that it looks like the compiler optimized a call from knote (called
by logwakeup) and there was a trap inside that function.
Any hints how I can analyze this further?
Would it be possible to have the dump block countdown not fill the message
buffer?
Home |
Main Index |
Thread Index |
Old Index