Crash on shutdown

Matthew Dillon dillon at apollo.backplane.com
Wed Jan 24 11:28:59 PST 2007


:No, that does not fix the issue. :-(
:
:> 
:>     If it still fails I will need a crash dump.
:
:Picture of crash and tar'd dump available at:
:
:http://rnrdoctor.sytes.net/~szg/dfcrash/20070124/
:
:(Please, please, implement minidumps from freebsd :-P j/k)
:
:-- 
:Gergo Szakal <bastyaelvtars at gmail.com>
:University Of Szeged, HU
:Faculty Of General Medicine

    The problem is that the init process is still runnable when the
    shutdown code gets to the point where it removes all remaining filesystem
    references.  The init process then seg-faults and tries to core dump,
    but there is no longer any current directory for it.

    Please try this hack and tell me if it works.  The real solution is
    a bit more complex.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>

Index: kern_shutdown.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_shutdown.c,v
retrieving revision 1.47
diff -u -r1.47 kern_shutdown.c
--- kern_shutdown.c	5 Jan 2007 22:16:28 -0000	1.47
+++ kern_shutdown.c	24 Jan 2007 19:14:16 -0000
@@ -282,8 +282,13 @@
 	if (panicstr == NULL) {
 		shutdown_cleanup_proc(curproc);
 		shutdown_cleanup_proc(&proc0);
-		if (initproc)
+		if (initproc) {
+			if (initproc != curproc) {
+				ksignal(initproc, SIGSTOP);
+				tsleep(boot, 0, "shutdn", hz / 20);
+			}
 			shutdown_cleanup_proc(initproc);
+		}
 		vfs_cache_setroot(NULL, NULL);
 	}
 





More information about the Bugs mailing list