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