Re: Hangups in n_tty_read()

From: Johannes Weiner
Date: Thu Jul 16 2009 - 15:05:27 EST


On Thu, Jul 16, 2009 at 08:48:46PM +0200, Johannes Weiner wrote:
> Hello Alan,

Sorry, misspelt your email address (no copy-paste without pty's ;-)

> I regularly get hung terminals when ^Cing a foreground process. The
> terminal won't show any sign of input or output anymore then.
>
> Here is an excerpt from sysrq+w:
>
> Jul 16 17:33:10 chigurh kernel: [20907.892444] conf S 0000000000000000 0 10946 10888 0x00000000
> Jul 16 17:33:10 chigurh kernel: [20907.892444] ffff88000e1efd58 0000000000000082 ffff88000e1efcc8 ffffffff8103423b
> Jul 16 17:33:10 chigurh kernel: [20907.892444] 0000000000004000 0000000000012240 000000000000dc78 ffff880001639240
> Jul 16 17:33:10 chigurh kernel: [20907.892444] ffff88000e1efce8 ffff880024688000 ffff88002f8651c0 ffff880024688378
> Jul 16 17:33:10 chigurh kernel: [20907.892444] Call Trace:
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8103423b>] ? try_to_wake_up+0x29e/0x2b0
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8103423b>] ? try_to_wake_up+0x29e/0x2b0
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8134f675>] schedule_timeout+0x26/0x190
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff811ea909>] n_tty_read+0x496/0x74d
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8103424d>] ? default_wake_function+0x0/0xf
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff811e65a5>] tty_read+0x7d/0xba
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8109a33b>] vfs_read+0xab/0x122
> Jul 16 17:33:10 chigurh kernel: [20907.892444] [<ffffffff8109a476>] sys_read+0x47/0x6f
>
> Killing the hung foreground process from another terminal works. But
> it won't recover the screwed terminal and the terminal does not show
> any reaction to it (like a prompt) even when the process is gone.
>
> I remember one hang without X where the cursor-blinking was still
> affected by keyboard input.

Please note that this was in screen, too, so pseudo-terminals here as
well.

> Unfortunately, I hadn't had the chance to test if input comes through
> by blindly executing something disk heavy and watch the LEDs or
> similar, so I can't say for sure if it's just output or if input is
> affected as well.
>
> First kernel I noticed this with was something past .30. And it
> certainly happens with Linus' latest.
>
> Any idea?
>
> Hannes
--
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/