[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120622154219.779965bb@pyramind.ukuu.org.uk>
Date: Fri, 22 Jun 2012 15:42:19 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Sasha Levin <levinsasha928@...il.com>
Cc: gregkh <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Dave Jones <davej@...hat.com>
Subject: Re: New tty ldisc lockup on 3.5-rc3
> [ 242.702289] [<ffffffff83696d15>] schedule+0x55/0x60
> [ 242.702921] [<ffffffff81b2a026>] tty_ldisc_ref_wait+0x76/0xa0
> [ 242.703685] [<ffffffff81b22624>] ? redirected_tty_write+0x84/0xc0
These are all what I'd expect - the tty write is waiting to get access to
the ldisc
> [ 242.735143] [<ffffffff81107d52>] ? prepare_to_wait+0x72/0x80
> [ 242.737060] [<ffffffff81b29c50>] tty_ldisc_wait_idle+0x80/0xd0
And the hangup is waiting for the line discipline to idle so it can
complete a hangup triggered by vhangup in its syscall path. All seems
sane so far. The ldisc code is behaving as I'd expect, you may also have
a printk indicating who was waiting too long as we will log that, loop
and retry if it fails in wait fo idle for too long
The real question is "who has the reference" and none of your threads
show anyone who does. That would suggest you are looking for something
like a faulty error handling path in a driver or a buggy ldisc.
What ldisc is attached to the line when it fails ?
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists