[stgt] tgtd segfault during heavy I/O

Kiefer Chang zapchang at gmail.com
Mon Jul 25 11:24:31 CEST 2011


Hi Fujita-san,

I am not sure which branch to apply, so I tried both HEAD and the
patch you give me last time (Tue, 19 Jul 2011 14:57:45 +0800).
Please kindly view from these URLs.

== HEAD ==
log: http://dl.dropbox.com/u/8354750/tgtd/20110725/head/messages
some gdb prints: http://dl.dropbox.com/u/8354750/tgtd/20110725/head/gdb.txt
coredump: http://dl.dropbox.com/u/8354750/tgtd/20110725/head/core-tgtd-11-0-0-12296-1311574557.gz
patch: http://dl.dropbox.com/u/8354750/tgtd/20110725/head/patch.master

result: terminate with segfault

== patched ==

log: http://dl.dropbox.com/u/8354750/tgtd/20110725/patched/messages
coredump: http://dl.dropbox.com/u/8354750/tgtd/20110725/patched/core-tgtd-11-0-0-26809-1311578501.gz
patch: http://dl.dropbox.com/u/8354750/tgtd/20110725/patched/patch.base_on_fujita0720

result: terminate with general protection

==
The workload is 64KB write at the beginning. (Format 10 x 9.5G files
from 14 hosts).
Often the I/O fails during the format procedure of vdbench.
We are doing I/Os in VMs, from Hypervisor's log we saw conn error. ping error.
Do you think adjusting NOOP_OUT/other timeout parameters at initiator side help?

Right now the most stable workaround we use is to adjust backing-store
thread per lun to 1.
(Although we find a symptom that tgtd can't exit a loop once)

Thanks for the support.

2011/7/25 FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>:
> On Wed, 20 Jul 2011 19:08:59 +0800
> Kiefer Chang <zapchang at gmail.com> wrote:
>
>> Here is the result, unfortunately neither the core dump or directly
>> attaching gdb to tgtd can't show right code trace.
>> system log:
>> http://dl.dropbox.com/u/8354750/tgtd/20110720/messages.gz
>
> Thanks, I'm rewriting tmf code. Please wait for a while.
>
> Can you try the following patch? I want to see if tgtd can survive
> with tmf disabled.
>
> Thanks!
>
> =
> From: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
> Subject: [PATCH] iscsi: disable tmf
>
> Signed-off-by: FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
> ---
>  usr/iscsi/iscsid.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/usr/iscsi/iscsid.c b/usr/iscsi/iscsid.c
> index 3fbd9f6..d575e18 100644
> --- a/usr/iscsi/iscsid.c
> +++ b/usr/iscsi/iscsid.c
> @@ -1405,6 +1405,9 @@ static int iscsi_tm_execute(struct iscsi_task *task)
>        struct iscsi_tm *req = (struct iscsi_tm *) &task->req;
>        int fn = 0, err = 0;
>
> +       err = ISCSI_TMF_RSP_NOT_SUPPORTED;
> +       goto out;
> +
>        switch (req->flags & ISCSI_FLAG_TM_FUNC_MASK) {
>        case ISCSI_TM_FUNC_ABORT_TASK:
>                fn = ABORT_TASK;
> @@ -1432,7 +1435,7 @@ static int iscsi_tm_execute(struct iscsi_task *task)
>                eprintf("unknown task management function %d\n",
>                        req->flags & ISCSI_FLAG_TM_FUNC_MASK);
>        }
> -
> +out:
>        if (err)
>                task->result = err;
>        else {
> --
> 1.7.2.5
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list