Re: ATA issues: ad0: FAILURE - ATA_IDENTIFY no interrupt

From: David Wolfskill <david_at_catwhisker.org>
Date: Sun, 8 Aug 2004 18:15:09 -0700 (PDT)
OK; Pawel Jakub Dawidek noted in
<http://docs.FreeBSD.org/cgi/mid.cgi?20040808233054.GI628>
that src/sys/geom/geom_vol_ffs.c rev. 1.12 had "One too much"
declaration of a struct member .version.

I removed one of them, then re-built & -installed the kernel.  The
symptoms are now different:  as did the laptop, the SMP box now "hangs"
after whining:

module_register: module g_md already exists!
Module g_md failed to register: 17
can't re-use a leaf (mddebug)!

but then, after a few seconds, I see:

rl0: watchdog timeout
Expensive timeout(9) function: 0xc0541530(0) 0.028075977 s

and I'm able to use ^T on the (serial) console to get:

load: 0.06  cmd: mdmfs 315 [spread] 0.00u 0.00s 0% 784k

and if I hit ^C, I see:

^CScript /etc/rc.d/tmp interrupted

And sending a break does bring me to the debugger, but doing this after
interrupting /etc/rc.d/tmp doesn't seem all that useful.  Here's what I
get if I break-to-debugger during /etc/rc.d/tmp execution:

module_register: module g_md already exists!
Module g_md failed to register: 17
can't re-use a leaf (mddebug)!
~KDB: enter: Line break on console
[thread 100013]
Stopped at      kdb_enter+0x2b: nop
db> tr
kdb_enter(c06a3d54) at kdb_enter+0x2b
siointr1(c1a4f800) at siointr1+0xce
siointr(c1a4f800) at siointr+0x5e
intr_execute_handlers(c199b890,d41bcc98,4,d41bcce4,c0650923) at intr_execute_handlers+0x89
lapic_handle_intr(34) at lapic_handle_intr+0x2e
Xapic_isr1() at Xapic_isr1+0x33
--- interrupt, eip = 0xc04a9734, esp = 0xd41bccdc, ebp = 0xd41bcce4 ---
g_new_provider_event(c1bec600,0) at g_new_provider_event+0x28
one_event(d41bcd1c,c04a82cd,3c,28,c196c2c0) at one_event+0x193
g_run_events(3c,28,c196c2c0,c19af8ac,d41bcd34) at g_run_events+0x9
g_event_procbody(0,d41bcd48) at g_event_procbody+0x21
fork_exit(c04a82ac,0,d41bcd48) at fork_exit+0x79
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xd41bcd7c, ebp = 0 ---
db> show pcpu 0
cpuid        = 0
curthread    = 0xc196c2c0: pid 2 "g_event"
curpcb       = 0xd41bcda0
fpcurthread  = none
idlethread   = 0xc19676e0: pid 12 "idle: cpu0"
APIC ID      = 0
currentldt   = 0x28
db> show pcpu 1
cpuid        = 1
curthread    = 0xc1967580: pid 11 "idle: cpu1"
curpcb       = 0xd41a1da0
fpcurthread  = none
idlethread   = 0xc1967580: pid 11 "idle: cpu1"
APIC ID      = 1
currentldt   = 0x28
db> 

Not sure what else might be useful; open to suggestions or hints.

Thanks,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
I do not "unsubscribe" from email "services" to which I have not explicitly
subscribed.  Rather, I block spammers' access to SMTP servers I control,
and encourage others who are in a position to do so to do likewise.
Received on Sun Aug 08 2004 - 23:15:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:05 UTC