From eugen@kost.svzserv.kemerovo.su  Wed Feb 15 10:30:04 2006
Return-Path: <eugen@kost.svzserv.kemerovo.su>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 68B5116A420
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 15 Feb 2006 10:30:04 +0000 (GMT)
	(envelope-from eugen@kost.svzserv.kemerovo.su)
Received: from kost.svzserv.kemerovo.su (kost.svzserv.kemerovo.su [213.184.65.82])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 97FFE43D48
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 15 Feb 2006 10:30:03 +0000 (GMT)
	(envelope-from eugen@kost.svzserv.kemerovo.su)
Received: from kost.svzserv.kemerovo.su (localhost [127.0.0.1])
	by kost.svzserv.kemerovo.su (8.13.4/8.13.4) with ESMTP id k1FATWCH065245
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 15 Feb 2006 17:29:32 +0700 (KRAT)
	(envelope-from eugen@kost.svzserv.kemerovo.su)
Received: (from eugen@localhost)
	by kost.svzserv.kemerovo.su (8.13.4/8.13.3/Submit) id k1FATW95065244;
	Wed, 15 Feb 2006 17:29:32 +0700 (KRAT)
	(envelope-from eugen)
Message-Id: <200602151029.k1FATW95065244@kost.svzserv.kemerovo.su>
Date: Wed, 15 Feb 2006 17:29:32 +0700 (KRAT)
From: Eugene Grosbein <eugen@grosbein.pp.ru>
Reply-To: Eugene Grosbein <eugen@kost.svzserv.kemerovo.su>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: reboot(8) works but 'reboot -n' hangs
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         93381
>Category:       kern
>Synopsis:       reboot(8) works but 'reboot -n' hangs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 15 10:40:02 GMT 2006
>Closed-Date:    
>Last-Modified:  Wed Mar 29 10:00:28 GMT 2006
>Originator:     Eugene Grosbein
>Release:        FreeBSD 6.1-PRERELEASE i386
>Organization:
Svyaz-Service JSC
>Environment:
System: FreeBSD kost.svzserv.kemerovo.su 6.1-PRERELEASE FreeBSD 6.1-PRERELEASE #8: Wed Feb 15 06:40:36 KRAT 2006 eugen@kost.svzserv.kemerovo.su:/usr/obj/usr/src/sys/TEST i386

>Description:
	While testing NanoBSD running from USB flash (umass/da0)
	I discovered that 'reboot -n' hangs the box just after 'Uptime ...'
	is printed to console. Meantime, 'shutdown -r'
	and plain 'reboot' works.

	I've added lots of printf's into my kernel and traced the a bit.

1. boot() from src/sys/kern/kern_shutdown.c calls
   EVENTHANDLER_INVOKE(shutdown_post_sync, howto);
2. dashutdown() from src/sys/cam/scsi/scsi_da.c is called
   from shutdown_post_sync;
3. dashutdown() calls xpt_polled_action() from src/sys/cam/cam_xpt.c
4. xpt_polled_action() has the following code:

        if (timeout != 0) {
                xpt_action(start_ccb);
                while(--timeout > 0) {
                        (*(sim->sim_poll))(sim);
                        camisr(&cam_bioq);
                        if ((start_ccb->ccb_h.status  & CAM_STATUS_MASK)
                            != CAM_REQ_INPROG)
                                break;
                        DELAY(1000);
                }

This 'while' loop is effectively endless for that case.
timeout appears to be 3600000 (yes, five zeroes) here.

>How-To-Repeat:

	Run FreeBSD with root partition being /dev/da0s1a and USB flash.
	Try to reboot it using 'reboot -n'.
>Fix:

	Unknown
>Release-Note:
>Audit-Trail:

From: Eugene Grosbein <eugen@kuzbass.ru>
To: bug-followup@freebsd.org
Cc: stable@freebsd.org
Subject: Re: kern/93381: kern/93381 : reboot(8) works but 'reboot -n' hangs
Date: Wed, 29 Mar 2006 17:56:16 +0800

 Hi!
 
 The same problem occures if 6.1-PRERELEASE kernel panic occures
 while configuration partition of NanoBSD is being updated
 (so, mounted read-write). This problem has occured now,
 I've got kernel panic while find(1) walked file system
 and the system become frozen after panic, it did not reboot.
 
 Please take a look at http://www.FreeBSD.org/cgi/query-pr.cgi?pr=kern/93381
 
 Eugene Grosbein
>Unformatted:
