Date: Wed, 15 Feb 2006 17:29:32 +0700 (KRAT) From: Eugene Grosbein <eugen@grosbein.pp.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/93381: reboot(8) works but 'reboot -n' hangs Message-ID: <200602151029.k1FATW95065244@kost.svzserv.kemerovo.su> Resent-Message-ID: <200602151040.k1FAe35h018524@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
>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:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602151029.k1FATW95065244>
