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