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 Wed, Jun 11, 2014 at 04:19:20AM +1000, matthew green wrote:
> i haven't looked closely, but i'm pretty sure there is a bug in
> the sparc64 crash handling where it sets doing_shutdown and that
> triggers the "Skipping crash dump on recursive panic" message,
> when infact it hasn't gotten that far yet.
We should avoid leaking it, but I haven't looked closely either.
Martin
Index: db_interface.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sparc64/sparc64/db_interface.c,v
retrieving revision 1.132
diff -u -p -r1.132 db_interface.c
--- db_interface.c 12 Sep 2013 19:38:59 -0000 1.132
+++ db_interface.c 10 Jun 2014 18:31:44 -0000
@@ -295,8 +295,11 @@ kdb_trap(int type, struct trapframe64 *t
printf("kdb tf=%p\n", tf);
break;
default:
- if (!db_onpanic && db_recover==0)
+ if (!db_onpanic && db_recover==0) {
+ trap_trace_dis--;
+ doing_shutdown--;
return (0);
+ }
printf("kernel trap %x: %s\n", type, trap_type[type & 0x1ff]);
if (db_recover != 0) {
@@ -314,6 +317,8 @@ kdb_trap(int type, struct trapframe64 *t
#if defined(MULTIPROCESSOR)
if (!db_suspend_others()) {
ddb_suspend(tf);
+ trap_trace_dis--;
+ doing_shutdown--;
return 1;
}
#endif
Home |
Main Index |
Thread Index |
Old Index