[stgt] tgtd stuck in infinite loop

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Fri Feb 19 04:33:43 CET 2010


On Thu, 18 Feb 2010 15:28:53 -0500
Elliot Peele <elliot at rpath.com> wrote:

> I am running tgt 1.0.1, serving four iSCSI targets to an ESX 4i cluster.
> 
> I have seen the daemon get into an infinite loop a couple of times and stop responding to any requests. From the looks of it in iscsi_data_out_rx_start the cmd_list ends up looping back on itself.
> 
> (gdb) l -
> 1478    static int iscsi_data_out_rx_start(struct iscsi_connection *conn)
> 1479    {
> 1480            struct iscsi_task *task;
> 1481            struct iscsi_data *req = (struct iscsi_data *) &conn->req.bhs;
> 1482
> 1483            list_for_each_entry(task, &conn->session->cmd_list, c_hlist) {
> 1484                    if (task->tag == req->itt)
> 1485                            goto found;
> 1486            }
> 1487            return -EINVAL;
> (gdb) p conn->session->cmd_list->next
> $9 = (struct list_head *) 0x785330
> (gdb) p &conn->session->cmd_list->next
> $10 = (struct list_head **) 0x690fb8
> (gdb) p &conn->session->cmd_list->next->next
> $11 = (struct list_head **) 0x785330

Hmm, I have no idea how the list is corrupted. I need to dig into the
code.


> Has anyone seen this behavior before? Is there anymore information that I can provide?

I've not seen any reports that might be related with this.

Is there an easy way to reproduce this? Are there any notable events
such as aborting tasks, disconnection, etc before hitting this?

--
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