Subject: cdparanoia on a SCSI DVD can hang my netbsd/i386
To: None <current-users@netbsd.org>
From: Lars Nordlund <lars.nordlund@hem.utfors.se>
List: current-users
Date: 06/29/2004 23:38:31
Hello

When ripping a certain audio cd with cdparanoia, using the SCSI DVD 
connected to an Adaptec 19160 controller, my system will just freeze. 
Not thawable in any way. Breaking to the kernel debugger and typing 
'bt' gives me this (typed from screen by hand..):

Xspllower(6,5,0,0,ce437b40)
printf(...)
ahc_abort_scbs(c183fc00, 1, 41, ffffffff) at netbsd:ahc_abort_scbs+0x3f1
ahc_handle_devreset(c183fc00, ce437c2c, 8, c076926d, 0)
ahc_handle_scsiint(c183fc00, 64, 0, d400, 100)
ahc_intr(c183fc00, 0, 10, 30030, 10)
Xintr_legacy11(...)

I have a feeling that this part of the audio cd is a bit harder to read, 
so the controller sends a reset signal, which somehow gets stuck? The 
hang always comes when cdparanoia is trying to read a specific sector.

I have not tried turning off tagged queueing.

I have seen the problem for some time now, in both -current and 2.0, but 
never gotten around to trying to debug it. I am quite sure this 
particular CD was rippable in NetBSD about a year ago, or something 
like that.


When trying to single step through this area I came up with nothing. The 
single stepping did not work at all. I was later informed that it might 
be related to code executed in interrupt context? Also printf() did not 
help. Perhaps the printout is not flushed until interrupt context is 
exited?


Best regards,
	Lars Nordlund