Dell PowerEdge 1750 and mpt

Moore, Eric Dean emoore at lsil.com
Wed Oct 15 10:57:22 PDT 2003


David: This is failing in context of XPT_GET_TRAN_SETTINGS,
requesting config port page 0; containing negotiated parameters info.

Eric Moore
LSI Logic


> 
> At 11:30 PM 14/10/2003 -0700, Nate Lawson wrote this to All:
> >On Tue, 14 Oct 2003, David Sze wrote:
> > > #7  0x80174507 in mpt_action (sim=0x923867c0, ccb=0x961a0000) at
> > > ../../dev/mpt/mpt_freebsd.c:1311
> > > #8  0x801215ce in xpt_action (start_ccb=0x961a0000) at 
> > ../../cam/cam_xpt.c:2949
> > > #9  0x80125e35 in cam_periph_runccb (ccb=0x961a0000, 
> error_routine=0,
> > > camflags=CAM_FLAG_NONE, sense_flags=17, ds=0x92a92a80)
> > >      at ../../cam/cam_periph.c:822
> > > #10 0x80129cd0 in passsendccb (periph=0x92a90f00, ccb=0x961a0000,
> > > inccb=0x93bb7400) at ../../cam/scsi/scsi_pass.c:797
> > > #11 0x80129bfc in passioctl (dev=0x92a90980, cmd=3261076482,
> > > addr=0x93bb7400 "\001", flag=3, p=0xd244a400)
> > >      at ../../cam/scsi/scsi_pass.c:714
> > > #12 0x801c5b62 in spec_ioctl (ap=0xdb3ebde0) at
> > > ../../miscfs/specfs/spec_vnops.c:306
> > > #13 0x801c588d in spec_vnoperate (ap=0xdb3ebde0) at
> > > ../../miscfs/specfs/spec_vnops.c:119
> > > #14 0x80209349 in ufs_vnoperatespec (ap=0xdb3ebde0) at
> > > ../../ufs/ufs/ufs_vnops.c:2394
> > > #15 0x801c2107 in vn_ioctl (fp=0x9633eb40, 
> com=3261076482, data=0x93bb7400
> > > "\001", p=0xd244a400) at vnode_if.h:429
> > > #16 0x8019ba1e in ioctl (p=0xd244a400, uap=0xdb3ebf80) at 
> > ../../sys/file.h:178
> > > #17 0x8024a96d in syscall2 (frame={tf_fs = 135725103, 
> tf_es = 47, tf_ds =
> > > 2143223855, tf_edi = 136306688, tf_esi = 2143283856,
> > >        tf_ebp = 2143284464, tf_isp = -616644652, tf_ebx = 
> 2143283952,
> > > tf_edx = 0, tf_ecx = 0, tf_eax = 54, tf_trapno = 12,
> > >        tf_err = 2, tf_eip = 135190204, tf_cs = 31, 
> tf_eflags = 531, tf_esp
> > > = 2143283780, tf_ss = 47}) at ../../i386/i386/trap.c:1175
> > > #18 0x8023805b in Xint0x80_syscall ()
> > > cannot read proc at 0
> > > (kgdb)
> >
> >This shows that an invalid CCB is being passed through the 
> pass(4) driver.
> 
> The application talks to pass(4) to periodically retrieve the serial 
> numbers of all devices on the bus (the code is basically copied from 
> "camcontrol inquiry -S", plus some code to enumerate the 
> bus).  So that is 
> consistent with how often we are seeing the crashes.  I'll go 
> over the code 
> to make sure there are no blatant errors on my part.  The 
> only puzzling 
> thing is that the same code runs flawlessly on a variety of similar 
> hardware, some machines also with mpt(4), but mostly ahc(4) 
> and ahd(4) 
> controllers.
> 
> 
> > > pass3 at mpt0 bus 0 target 6 lun 0
> > > pass3: <PE/PV 1x3 SCSI BP 1.1> Fixed Processor SCSI-2 device
> > > pass3: 3.300MB/s transfers
> >
> >This is the device you're trying to talk to.  I'm really 
> suspicious your
> >program is sending a garbage pointer in the CCB to the 
> pass(4) driver.  On
> >the above core, please send the output of "fr 7" and then 
> "print *ccb".
> 
> (kgdb) fr 7
> #7  0x80174507 in mpt_action (sim=0x923867c0, ccb=0x961a0000) at 
> ../../dev/mpt/mpt_freebsd.c:1311
> 1311                                    if 
> (mpt_read_cfg_page(mpt, tgt, 
> &tmp.Header)) {
> (kgdb) print *ccb
> $1 = {ccb_h = {pinfo = {priority = 1, generation = 99533, 
> index = -1}, 
> xpt_links = {le = {le_next = 0x0, le_prev = 0x0}, sle = {
>          sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 
> 0x0}, stqe = 
> {stqe_next = 0x0}}, sim_links = {le = {le_next = 0x0,
>          le_prev = 0x0}, sle = {sle_next = 0x0}, tqe = 
> {tqe_next = 0x0, 
> tqe_prev = 0x0}, stqe = {stqe_next = 0x0}}, periph_links = {
>        le = {le_next = 0x0, le_prev = 0x0}, sle = {sle_next = 
> 0x0}, tqe = 
> {tqe_next = 0x0, tqe_prev = 0x0}, stqe = {
>          stqe_next = 0x0}}, retry_count = 4, cbfcnp = 0x80129a94 
> <passdone>, func_code = XPT_GET_TRAN_SETTINGS, status = 0,
>      path = 0x92494620, path_id = 0, target_id = 0, 
> target_lun = 0, flags = 
> 0, periph_priv = {entries = {{ptr = 0x1, field = 1,
>            bytes = "\001\000\000"}, {ptr = 0x9f270e28, field 
> = 2670136872, 
> bytes = "(\016'\237"}},
>        bytes = "\001\000\000\000(\016'\237"}, sim_priv = 
> {entries = {{ptr = 
> 0x92382c00, field = 2453154816, bytes = "\000,8\222"}, {
>            ptr = 0x0, field = 0, bytes = "\000\000\000"}}, bytes = 
> "\000,8\222\000\000\000"}, timeout = 60000, timeout_ch = {
>        callout = 0x0}}, csio = {ccb_h = {pinfo = {priority = 
> 1, generation 
> = 99533, index = -1}, xpt_links = {le = {le_next = 0x0,
>            le_prev = 0x0}, sle = {sle_next = 0x0}, tqe = 
> {tqe_next = 0x0, 
> tqe_prev = 0x0}, stqe = {stqe_next = 0x0}}, sim_links = {
>          le = {le_next = 0x0, le_prev = 0x0}, sle = {sle_next 
> = 0x0}, tqe = 
> {tqe_next = 0x0, tqe_prev = 0x0}, stqe = {
>            stqe_next = 0x0}}, periph_links = {le = {le_next = 
> 0x0, le_prev 
> = 0x0}, sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0,
>            tqe_prev = 0x0}, stqe = {stqe_next = 0x0}}, 
> retry_count = 4, 
> cbfcnp = 0x80129a94 <passdone>,
>        func_code = XPT_GET_TRAN_SETTINGS, status = 0, path = 
> 0x92494620, 
> path_id = 0, target_id = 0, target_lun = 0, flags = 0,
>        periph_priv = {entries = {{ptr = 0x1, field = 1, bytes = 
> "\001\000\000"}, {ptr = 0x9f270e28, field = 2670136872,
>              bytes = "(\016'\237"}}, bytes = 
> "\001\000\000\000(\016'\237"}, 
> sim_priv = {entries = {{ptr = 0x92382c00,
>              field = 2453154816, bytes = "\000,8\222"}, {ptr 
> = 0x0, field = 
> 0, bytes = "\000\000\000"}},
>          bytes = "\000,8\222\000\000\000"}, timeout = 60000, 
> timeout_ch = 
> {callout = 0x0}}, next_ccb = 0x0, req_map = 0x1cannot read proc at 0
> (kgdb)
> 
> 
> 
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to 
> "freebsd-scsi-unsubscribe at freebsd.org"
> 


More information about the freebsd-scsi mailing list