Subject: Re: panic: dequeued wrong buf in -current
To: None <current-users@netbsd.org>
From: Martin J. Laubach <mjl@netbsd.org>
List: current-users
Date: 09/07/2004 10:30:15
| > panic: sdstart(): dequeued wrong buf
| > Begin traceback...
| > sdstart(c1aa9f00,c1a73080,0,4,0) at netbsd:sdstart+0x2ea
| > sdstrategy(c1a73080,0,80,0,0) at netbsd:sdstrategy+0x1db
| > spec_strategy(cc927874,cc8771f8,100000,404,c05229a0) at  
| > netbsd:spec_strategy+0x155
| > VOP_STRATEGY(cc8771f8,c1a73080,cc92791c,293,72) at  
| > netbsd:VOP_STRATEGY+0x28
| > rf_DispatchKernelIO(c1a20000,c1ae5074,1,0,3ddcbf) at  
| > netbsd:rf_DispatchKernelIO+0x28b
| 
|  Juergen Hannken-Illjes has reported in private mail a similar problem,
|  on sparc64 without raidframe or ccd involved.

  The traceback looks somewhat familiar, I get -- without using RF
but with an icp raid controller:

_bus_dmamap_load(c075a100,0,c4d0a000,2000,0) at netbsd:_bus_dmamap_load+0xf
icp_ccb_map(c0d1000,c0db8000,c4d0a000,2000,2) at netbsd:icp_ccb_map+0x35
ld_icp_dobio
ld_icp_start
ldstart
ldstrategy
spec_strategy
VOP_STRATEGY
ufs_strategy
VOP_STRATEGY

  I opened a PR for it, #26819

|  Both you and Juergen use the esiop driver, and this driver can call
|  scsipi_done() from esiop_scsipi_request(). This can likely cause sdstart() to
|  call itself. Other HBA drivers may do this as well.

  See above, I'm using an icp controller. Seems like a well-spread
behaviour.

	mjl