while rebooting a quartz64 with a usb attached disk that just
had a about 3.5GB of data written to it, i the umass gave some
errorse and then i got a panic shortly later:
[ 5869.8702963] unmounting 0x0001f9fdb000 /mnt (/dev/sd1a)...
[ 5879.8716525] umass1: Invalid CSW: tag 0 should be 428938
-- note the long time between here and the next message
[ 6178.3212124] umass1: BBB reset failed, IOERROR
[ 6178.3354377] sd1(umass1:0:0:0): generic HBA error
[ 6178.3354377] sd1a: error writing fsbn 128 of 128-135 (sd1 bn 196736; cn 195
tn 2 sn 50)
[ 6178.3438154] sd1(umass1:0:0:0): generic HBA error
[ 6178.3438154] sd1: cache synchronization failed
[ 6178.3538144] sd1(umass1:0:0:0): generic HBA error
[ 6178.3538144] sd1a: error writing fsbn 23744 of 23744-23767 (sd1 bn 220352;
cn 218 tn 9 sn 41)
[ 6178.3655689] sd1(umass1:0:0:0): generic HBA error
[ 6178.3738157] sd1: cache synchronization failed
[ 6178.3738157] unmounting 0x0001fbc0c000 /tmp (tmpfs)...
[ 6178.3838163] unmounting 0x0001fbc88000 /var/shm (tmpfs)...
[ 6178.3938196] unmounting 0x0001fbe8f000 /proc (procfs)...
[ 6178.3938196] unmounting 0x0001fbe59000 /dev/pts (ptyfs)...
[ 6178.4038176] unmounting 0x0001fccff000 /boot (/dev/dk3)...
[ 6178.4138186] unmounting 0x0001fd4f7000 / (/dev/dk4)...
[ 6179.5938954] unmounting done
[ 6179.6038961] Skipping crash dump on recursive panic
[ 6179.6038961] panic: kernel diagnostic assertion "error == EOPNOTSUPP"
failed: file "/usr/src/sys/kern/vfs_vnode.c", line 1120
[ 6179.6138953] cpu2: Begin traceback...
[ 6179.6238959] trace fp c000ec1637f0
[ 6179.6238959] fp c000ec163820 vpanic() at c05948ac
netbsd:vpanic+0x14c
[ 6179.6338975] fp c000ec163880 kern_assert() at c06f55f8
netbsd:kern_assert+0x58
[ 6179.6438970] fp c000ec163910 vrevoke_suspend_next.part.0() at
c05fa83c netbsd:vrevoke_suspend_next.part.0+0x6c
[ 6179.6538979] fp c000ec163930 vrevoke() at c05fc9e0
netbsd:vrevoke+0x40
[ 6179.6638983] fp c000ec163970 genfs_revoke() at c0612d88
netbsd:genfs_revoke+0x14
[ 6179.6738989] fp c000ec163980 VOP_REVOKE() at c0608e38
netbsd:VOP_REVOKE+0x38
[ 6179.6838996] fp c000ec1639c0 vdevgone() at c05eeb88
netbsd:vdevgone+0x48
[ 6179.6838996] fp c000ec163a10 sddetach() at c0163af0
netbsd:sddetach+0xc0
[ 6179.6939003] fp c000ec163a70 config_detach() at c0574e9c
netbsd:config_detach+0x18c
[ 6179.7039009] fp c000ec163af0 scsipi_target_detach() at c015bb8c
netbsd:scsipi_target_detach+0xfc
[ 6179.7139016] fp c000ec163b60 scsibusdetach() at c015e29c
netbsd:scsibusdetach+0x68
[ 6179.7239022] fp c000ec163ba0 config_detach() at c0574e9c
netbsd:config_detach+0x18c
[ 6179.7339041] fp c000ec163c20 umass_detach() at c0198a48
netbsd:umass_detach+0xb8
[ 6179.7439038] fp c000ec163c70 config_detach() at c0574e9c
netbsd:config_detach+0x18c
[ 6179.7539042] fp c000ec163cf0 usb_disconnect_port() at c017d610
netbsd:usb_disconnect_port+0xc0
[ 6179.7639052] fp c000ec163d60 uhub_explore() at c01822a8
netbsd:uhub_explore+0x218
[ 6179.7739055] fp c000ec163e20 usb_discover() at c016cde4
netbsd:usb_discover+0xa4
[ 6179.7839065] fp c000ec163e70 usb_event_thread() at c016d06c
netbsd:usb_event_thread+0xc8
address 0x100 is invalid
address 0xf0 is invalid
address 0xe8 is invalid
[ 6179.8039078] cpu2: End traceback...
[ 6180.7139674] Kernel lock error: _kernel_lock,239: spinout
[ 6180.7239684] lock address : 0xc0f57400 type : spin
[ 6180.7339690] initialized : 0xc06f56c0
[ 6180.7339690] shared holds : 0 exclusive: 1
[ 6180.7439697] shares wanted: 0 exclusive: 1
[ 6180.7539701] relevant cpu : 3 last held: 2
[ 6180.7539701] relevant lwp : 0x0001fd530080 last held: 0x0001fd667100
[ 6180.7639710] last locked* : 0xc055d000 unlocked : 0xc051da28
[ 6180.7739714] curcpu holds : 0 wanted by: 0x0001fd530080
at this point it has hung and needs a reset.
the addresses 0xc055d000 and 0xc051da28 (locked,
last locked) are:
0xc055d000 is in sleepq_block (/usr/src/sys/kern/kern_sleepq.c:404).
401 if (__predict_false(biglocks != 0)) {
402 KERNEL_LOCK(biglocks, NULL);
403 }
404 return error;
0xc051da28 is in cv_enter (/usr/src/sys/kern/kern_condvar.c:133).
132 sleepq_enter(sq, l, mp);
133 sleepq_enqueue(sq, cv, CV_WMESG(cv), _syncobj, catch_p);
134 mutex_exit(mtx);
.mrg.