Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: How to get a crash dump with recursive panic?



On Sat, 14 Jun 2014, Darren Reed wrote:

> However forcing a panic does not lead to a happy place..
> 
> login: root
> <hang, BREAK>
> Stopped in pid 476.1 (getty) at netbsd:cpu_Debugger+0x4:        nop
> db{1}> call panic
> panic: Reader / writer lock error: rw_vector_enter: assertion failed:
> !cpu_intr_p()
> 
> lock address : 0x00000000018c2fb8 type     :     sleep/adaptive
> initialized  : 0x0000000001348aa0
> shared holds :                  0 exclusive:                  0
> shares wanted:                  0 exclusive:                  0
> current cpu  :                  1 last held:              65535
> current lwp  : 0x00000001092a0d00 last held: 000000000000000000
> last locked  : 0x000000000133f6f8 unlocked*: 0x000000000133c754
> owner/count  : 000000000000000000 flags    : 000000000000000000
> 
> Turnstile chain at 0x185daf0.
> => No active turnstile for this lock.
> 
> Skipping crash dump on recursive panic
> panic: LOCKDEBUG: Reader / writer lock error: rw_vector_enter: assertion
> failed: !cpu_intr_p()
> 
> <power-off required>

Don't `call panic'.  That will actually call panic with a NULL 
panic string and probably result in a recursive panic anyway.

If the machine is already busy trying to panic, just continue.

Otherwise, you can use the `reboot' command with 0x100 to generate a core 
dump.

My favorite technique on SPARC is to go from ddb to OBP and type `sync'.

Eduardo


Home | Main Index | Thread Index | Old Index