NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/46683: netbsd-6/amd64 cd0 hanging after burning



>Number:         46683
>Category:       kern
>Synopsis:       netbsd-6/amd64 cd0 hanging after burning
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 10 11:55:00 +0000 2012
>Originator:     Matthew Mondor
>Release:        NetBSD 6.0_BETA2
>Organization:
>Environment:
System: NetBSD ninja.xisop 6.0_BETA2 NetBSD 6.0_BETA2 (GENERIC_MM) #16: Fri Jun 
15 10:51:25 EDT 2012 
root@ninja.xisop:/usr/obj/sys/arch/amd64/compile/GENERIC_MM amd64
Architecture: x86_64
Machine: amd64
>Description:

This problem is unfortunately intermittent.  When closing the session
after successfully burning a DVD, it can occur that the device freezes
with blinking lights on.  When this occurs, the growisofs process will
eventually timeout, and proceed to the "reloading tray" part, which
fails, then growisofs quits.

However, the device remains stuck with the blinking light on, and it
cannot be ejected.  A system reboot is necessary to use it again.

[...]
 99.87% done, estimate finish Tue Jul 10 06:36:56 2012
Total translation table size: 0
Total rockridge attributes bytes: 707
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
2142858 extents written (4185 MB)
builtin_dd: 2142864*2KB out @ average 10.3x1352KBps
/dev/rcd0d: flushing cache
/dev/rcd0d: updating RMA
/dev/rcd0d: closing session
^C/dev/rcd0d: reloading tray
:-( unable to reload tray: Input/output error
      922.78 real         1.40 user         9.11 sys
ninja# 

Possibly relevant dmesg parts:

ahcisata0 at pci0 dev 31 function 2: vendor 0x8086 product 0x1c02 (rev. 0x05)
ahcisata0: interrupting at ioapic0 pin 20
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 1.30, 6 ports, 32 slots, CAP 
0xe730ff45<EMS,PSC,SSC,PMD,ISS=0x3=Gen3,SCLO,SAL,SALP,SSNTF,SNCQ,S64A>
atabus2 at ahcisata0 channel 0
atabus3 at ahcisata0 channel 1
atabus4 at ahcisata0 channel 4
[...]
atabus4 at ahcisata0 channel 4
[...]
atapibus0 at atabus4: 1 targets
cd0 at atapibus0 drive 0: <HL-DT-ST DVDRAM GH22NS90, K5BB9112905, HN00S30> 
cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
cd0(ahcisata0:4:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) 
(using DMA)
[...]
cd0(ahcisata0:4:0):  DEFERRED ERROR, key = 0x2
cd0: dos partition I/O error

I forgot since the last time it occurred the WCHAN of the locked
growisofs process when it's stuck until the I/O error occurs.  I'll
post a followup with it the next time it occurs.

If attempting to use the device when it's locked after growisofs exits,
many processes begin to be locked temporarily, depending on the
syscalls they are making and/or possibly the devices they access.
These, and more and more processes may remain locked a while, until an
I/O error occurs on the CD related command (i.e. mount), when all
processes unlock too.  Unfortunately I could not yet get the WCHAN in
which those were locking up (even ps as a first command locks then),
and there are no new messages in dmesg after these general locks.
Possibly that I could get eventually get into the debugger and know.

>How-To-Repeat:

growisofs -Z /dev/rcd0d -r -J -joliet-long cd/

>Fix:



Home | Main Index | Thread Index | Old Index