Re: New tty ldisc lockup on 3.5-rc3

From: Alan Cox
Date: Fri Jun 22 2012 - 10:38:44 EST


> [ 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/