atapicam hangs system

Daniel Lang dl at leo.org
Thu Jul 17 08:08:13 PDT 2003


Hi,

I managed to do some more investigations.

Daniel Lang wrote on Tue, Jul 15, 2003 at 04:25:56PM +0200:
[..]
> After two successful writes, the system hung again, as before.
> _No_ messages on the console.

I found out, that the hangs do not appear (or way less likely),
if the writing speed used is <= 12. But they seem to occur
very likely if the (attempted) writing speed is like 48.

Maybe this is an important hint. Although the drive and the
media claim to support speed 48, it seems that the 
overall throughput is in fact slower. 20-30 as it seems
to me. Still I manage to write now and then a CD using this
setting, but maybe after a while something gets confused, if
the application tries to keep up a high writing speed, but
the drive (or rest of the system, bus, etc) cannot keep up
with that. Does this sound reasonable or am I poking in the utter
darkness here?

> I entered the debugger with Ctrl-Alt-Esc and did a trace.
> I did not copy everything, because I thought I could use gdb -k
> later on (I was wrong). However, what I've saved from the trace was:
> 
> Apparently the system hung in
> 
> camisr(c02f3250,c02b7078,c253aa3,0,10) at camisr+0x8f
> 
> eip: 0xc01279d7, esp: 0xc0297008, ebp: 0xc0297020
> 
> Please advice what to examine how.
[..]
> Remote-GDB debugging is not an option, unfortunately. I don't have
[..]

I withdraw that statement! I did set up a remote gdb session
successfully!

But it was sort of useless.

After the system hung again, I used Ctrl-Alt-Esc to enter DDB.
I fired up the remote gdb and told it to remote connect.
Then I issued the 'gdb' command to DDB.
The remote gdb took over and I was in control.

But it seems useless, because the stack did only contain
the DDB routines? I include the (as it seems useless)
backtrace here:

Program received signal SIGTRAP, Trace/breakpoint trap.
Debugger (msg=0xc02a7c49 "manual escape to debugger")
    at /usr/src/sys/i386/i386/db_interface.c:319
319              * XXX
(kgdb) bt
#0  Debugger (msg=0xc02a7c49 "manual escape to debugger")
    at /usr/src/sys/i386/i386/db_interface.c:319
#1  0xc024ce92 in scgetc (sc=0xc030cb20, flags=2)
    at /usr/src/sys/dev/syscons/syscons.c:3164
#2  0xc0249645 in sckbdevent (thiskbd=0xc0305540, event=0, arg=0xc030cb20)
    at /usr/src/sys/dev/syscons/syscons.c:617
#3  0xc0240ea6 in atkbd_intr (kbd=0xc0305540, arg=0x0)
    at /usr/src/sys/dev/kbd/atkbd.c:462
#4  0xc026c48c in atkbd_isa_intr (arg=0xc0305540)
    at /usr/src/sys/isa/atkbd_isa.c:140
#5  0xc02531ef in Xresume1 ()

How do I get to the hanging routine from here?

I'm willing to trace the problem from here, but I need advice
how to proceed. 

Thanks a lot.

Daniel
-- 
IRCnet: Mr-Spock         - "I hear that, if you play the WindowsXP CD
                                backwards, you get a Satanic message!"
    - "That's nothing. If you play it forward, it installs WindowsXP!"
 Daniel Lang * dl at leo.org * +49 89 289 18532 * http://www.leo.org/~dl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6020 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20030717/2fa0d423/smime.bin


More information about the freebsd-hackers mailing list