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

Martin Husemann <[email protected]>
Newsgroups gmane.os.netbsd.ports.sparc64
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.