[storage-discuss] Re: Re: Re: iscsitgtd dumping core on SXCR b54
Nigel Smith
nwsmith at wilusa.freeserve.co.uk
Sun Feb 4 01:00:22 PST 2007
Rick, that great news! Another bug squashed!
I look forward to being able to download your 'fixed' package for the iscsi target
and do some more testing. I guess maybe these bug fixes will now be too late for the build 57 release?
I'm only just getting familiar with Solaris, and having now read some more of the man page for truss, I realise my truss output would have been much more useful if I had specified the '-u a.out' option. With that option I can see the calls in your target code! (Is this because you included the debug symbols in the package?)
For the benefit of readers who want to follow along, here is the trace I should have provided. You can clearly see the call to "spc_mselect_data()", which was the only occurrence of that call in the trace file. You can then follow the calls in the trace output, in comparison to the lines in the source code:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/iscsi/iscsitgtd/t10_spc.c
So this is what is happening:
#547 spc_mselect_data(~,~,~,~);
#572 spc_sense_create(~,~,~);
#573 spc_sense_ascq(~,~,~);
#574 trans_send_complete(~,0x2 ); // STATUS_CHECK = 0x02
// and then accidentally dropping through line #575...
#577 trans_send_complete(~,0x0 ); // STATUS_GOOD = 0x00
// and followed shortly after by core dump!
Here is the corresponding truss output, from the core dumping iscsitgt process:
# ps -A | grep iscsi
2744 ? 0:00 iscsid
4880 ? 0:03 iscsitgt
# truss -u a.out -o /tmp/iscsit-truss3.txt -p 4880
# tail -150l /tmp/iscsit-truss3.txt | grep '/14'
/14 at 14: -> sbc_cmd(0x80d3798, 0x80a1d48, 0x10)
/14 at 14: -> spc_mselect(0x80d3798, 0x80a1d48, 0x10)
/14 at 14: -> trans_rqst_dataout(0x80d3798, 0x80b2a88, 0x20, 0x0)
/14 at 14: -> dataout_callback(0x80d3798, 0x80b2a88, 0xd1cfdf38)
/14 at 14: <- dataout_callback() = 0
/14 at 14: -> sbc_data(0x80d3798, 0x80b2a88, 0x0, 0x80b2a88)
/14 at 14: -> spc_mselect_data(0x80d3798, 0x80b2a88, 0x0, 0x80b2a88)
/14 at 14: -> spc_sense_create(0x80d3798, 0x5, 0x0)
/14 at 14: <- spc_sense_create() = 22
/14 at 14: -> spc_sense_ascq(0x80d3798, 0x24, 0x0)
/14 at 14: <- spc_sense_ascq() = 0x809ee2a
/14 at 14: -> trans_send_complete(0x80d3798, 0x2)
/14 at 14: -> t10_cmd_shoot_event(0x80d3798, 0x2)
/14 at 14: -> t10_cmd_state_machine(0x80d3798, 0x2)
/14 at 14: -> queue_message_set(0x80bdaf0, 0x0, 0x4, 0x80d3798)
/14: lwp_unpark(11) = 0
/14 at 14: <- queue_message_set() = 0
/14 at 14: <- t10_cmd_state_machine() = 3
/14: lwp_unpark(6) = 0
/14 at 14: <- t10_cmd_shoot_event() = 0
/14 at 14: <- trans_send_complete() = 0
/14 at 14: -> trans_send_complete(0x80d3798, 0x0)
/14 at 14: -> t10_cmd_shoot_event(0x80d3798, 0x2)
/14 at 14: -> t10_cmd_state_machine(0x80d3798, 0x2)
/14 at 14: -> event_to_str(0x2)
/14 at 14: <- event_to_str() = 0x808e214
/14 at 14: -> queue_prt(0x80bdf70, 0x100, 0x808e7ac, 0x808e214)
/14 at 14: -> queue_str(0x80bdf70, 0x100, 0x1b, 0xd1cfddd0)
/14 at 14: -> queue_message_set(0x80bdf70, 0x100, 0x1b, 0x80a2a30)
/14: lwp_unpark(1) = 0
/14 at 14: <- queue_message_set() = 0
/14 at 14: <- queue_str() = 0
/14 at 14: <- queue_prt() = 0
/14: write(2, " A s s e r t i o n f a".., 49) = 49
/14: sigaction(SIGABRT, 0x00000000, 0xD1CFDBF0) = 0
/14: sigaction(SIGABRT, 0xD1CFDB30, 0xD1CFDBB0) = 0
/14: lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
/14: lwp_kill(14, SIGABRT) = 0
/14: Received signal #6, SIGABRT [default]
/14: siginfo: SIGABRT pid=4880 uid=0 code=-1
Rick, is there any way we can look at your latest code?
I've been using this link:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/iscsi/iscsitgtd/
but this does not have your latest changes. Last week, I thought I saw some files updated with Jan-2007 dates, but those now seem to have reverted to the Dec-2006 version.
Thanks
Nigel Smith
This message posted from opensolaris.org
More information about the storage-discuss
mailing list