lkml.org 
[lkml]   [2010]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: wait_even_interruptible_timeout(), signal, spin_lock() = system hang
    From
    On Fri, Jun 4, 2010 at 6:51 AM, Jeff Layton <jlayton@redhat.com> wrote:
    > On Fri, 28 May 2010 11:44:46 -0500
    > Shirish Pargaonkar <shirishpargaonkar@gmail.com> wrote:
    >
    >> After this sequence of calls, system hangs (smp, x86 box based with
    >> .34 kernel), can ping only.
    >> I have not been able to break in with Alt Sysrq t, working on that
    >>
    >>         rc = wait_event_interruptible_timeout(ses->server->response_q,
    >>                         (midQ->midState != MID_REQUEST_SUBMITTED), timeout);
    >>         if (rc < 0) {
    >>                 cFYI(1, ("command 0x%x interrupted", midQ->command));
    >>                 return -1;
    >>         }
    >>
    >> and when function that invoking function after coming out with ERESTARTSYS
    >> (I kill the command with Ctrl C) calls
    >>  spin_lock(&GlobalMid_Lock);
    >>
    >> system hangs.  If I sleep before return -1 (e.g. msleep(1), no hang)
    >>
    >
    > Sounds like a race of some sort, but could also be that msleep() is
    > doing something (perhaps relating to the pending signal) that prevents
    > the hang. Without some sort of clue as to what the box is hung on at
    > the time there is no way to know.
    >
    >> I do not have to use wait_event_interruptible_timeout and no such problems with
    >> wait_event_timeout, it is only when signal/interrupt is involved, I
    >> run into this problem
    >>
    >> Any pointers/ideas what could be happening, would be really really appreciated.
    >>
    >
    > No idea right offhand. I'd suggest getting a core or sysrq data and see
    > what it's doing.
    >
    > --
    > Jeff Layton <jlayton@redhat.com>
    >

    Jeff, Thanks. The system hangs really hard. It does not respond to
    Alt ScrLk Ctrl ScrLk
    key sequence at the text mode console i.e. nothing gets logged in
    /var/log/messages.

    Regards,

    Shirish
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-06-04 14:23    [W:0.045 / U:0.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site