From owner-freebsd-bugs Mon Feb 5 05:45:44 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id FAA26897 for bugs-outgoing; Mon, 5 Feb 1996 05:45:44 -0800 (PST) Received: from netmail.austin.ibm.com (netmail.austin.ibm.com [129.35.208.98]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id FAA26892 for ; Mon, 5 Feb 1996 05:45:42 -0800 (PST) Received: from vikings.austin.ibm.com (vikings.austin.ibm.com [129.35.130.98]) by netmail.austin.ibm.com (8.6.12/8.6.11) with SMTP id HAA160736; Mon, 5 Feb 1996 07:45:37 -0600 Received: by vikings.austin.ibm.com (AIX 3.2/UCB 5.64/4.03-client-2.6) for swise@austin.ibm.com at austin.ibm.com; id AA28188; Mon, 5 Feb 1996 07:45:31 -0600 From: swise@austin.ibm.com (Jean-Steveau Wise) Message-Id: <9602051345.AA28188@vikings.austin.ibm.com> To: freebsd-bugs@freebsd.org Cc: swise@austin.ibm.com (Jean-Steveau Wise) Subject: Re: ATAPI 4x cdrom hang In-Reply-To: (Your message of Sun, 04 Feb 96 18:39:31 PST.) <22309.823487971@time.cdrom.com> Date: Mon, 05 Feb 96 07:45:31 -0600 Sender: owner-bugs@freebsd.org Precedence: bulk jkh@time.cdrom.com says: | > I've enabled the debugger. I can enter it via ctrl-alt-esc. However, | > when I reproduce the problem, I cannot enter the debugger. Also pings | > into the machine via an ethernet IF stops after it's hung. Soooo, my | > guess is that somewhere we're looping with all interrupts disabled. | > I'll now try and put some breakpoints in the ATAPI driver to understand | > where it's hanging... | | Yeah, that's about your only recourse, sorry! :-( Good luck! I've learned very little about what's happening by breaking in the various atapi routines... I also enabled DIAGNOSTIC and no change in behavior. I compiled the ATAPI driver with DEBUG and I get a lot of printf's when the thing takes an interrupt. The last thing I see is the driver taking an interrupt, then the system hangs. THere's nothing strange about the interrupt as far as I can tell. Question: Is it possible that the driver's leaving interrupts disabled? On AIX we have debug code in the system call routines to jump into the debugger if we're exiting a system call with either ints disabled or a kernel lock held. I cannot tell from the source how to program such an assertion in FreeBSD. I guess I could add such assertions to the sys call exit and SW interrupt exit? | > ok and begin booting, but would fail during boot process. I think the | > kernel is assuming the root volume is on controller one/disk one or two? | | No, don't think so.. Is the kernel below cylinder 1024? Yes. I've since moved my 2 drives to the first controller, and put the CDROM on the second, and everything works fine. I need this system up and running, so I won't continue debugging this one as it requires re-installing. During the boot process, the system displays this message after probing the busses: changing root device to wd1a Now, even if I install onto wd2a, this message still says wd1a. At this point the system complains that there's no root fs and bails. However, I think it's just not looking at wd2a even though it just booted the kernel from there...does this make sense? Thanx, Stevo.