From: Dave Young <hidave.darkstar@gmail.com>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: Jiri Slaby <jslaby@suse.cz>, Dave Jones <davej@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>, Greg KH <gregkh@suse.de>
Subject: Re: WARNING: at drivers/tty/tty_ldisc.c:766 tty_ldisc_reinit+0x52/0x90() [3.0]
Date: Tue, 18 Oct 2011 09:25:02 +0800 [thread overview]
Message-ID: <CABqxG0cPHVEG5XU9M+eNrgo7nvnhTxL4wHRFdEtpaUjhwcY2Nw@mail.gmail.com> (raw)
In-Reply-To: <4E9C92C2.6000505@gmail.com>
On Tue, Oct 18, 2011 at 4:40 AM, Jiri Slaby <jirislaby@gmail.com> wrote:
> On 10/09/2011 08:59 AM, Dave Young wrote:
>> On Fri, Sep 2, 2011 at 4:59 AM, Jiri Slaby <jslaby@suse.cz> wrote:
>>> On 08/28/2011 03:15 PM, Dave Jones wrote:
>>>>
>>>> Just saw this on a box that was recieving an rsync while I ssh'd in.
>>>> The ssh session hung.
>>>
>>> Yes, could you apply the attached debug patch and post a dmesg output?
>>
>> I see this problem as well, the debug patch reports the refcount is 2
>>
>> You can produce the WARN as below:
>> in xterm run:
>>
>> exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
>
> Thanks for the info. I suppose your console is something where also some
> getty runs. Then the warning is perfectly OK. And with the hunk below
> constifying timing, I guess your system dies after the 5s timeout of
> tty_ldisc_wait_idle. (You don't need to test the patch, just confirm
> there is a getty running on the console.)
I just startx from tty1
bash-4.1$ ps ax|grep getty
1626 tty2 Ss+ 0:00 /sbin/agetty 38400 tty2 linux
1627 tty3 Ss+ 0:00 /sbin/agetty 38400 tty3 linux
1628 tty4 Ss+ 0:00 /sbin/agetty 38400 tty4 linux
1629 tty5 Ss+ 0:00 /sbin/agetty 38400 tty5 linux
1630 tty6 Ss+ 0:00 /sbin/agetty 38400 tty6 linux
3586 tty1 Ss+ 0:00 /sbin/agetty 38400 tty1 linux
5928 pts/1 S+ 0:00 grep getty
What do you means of "die"? X11 died indeed as I saw.
>
> So actually I'm not sure what we should do there to not die. Perhaps
> wait infinitely? Because the user wants to steal a terminal?
>
>
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -49,6 +49,7 @@
> #include <linux/file.h>
> #include <linux/uaccess.h>
> #include <linux/module.h>
> +#include <linux/delay.h>
>
> #include <asm/system.h>
>
> @@ -1575,6 +1576,7 @@ static int n_tty_open(struct tty_struct *tty)
>
> /* These are ugly. Currently a malloc failure here can panic */
> if (!tty->read_buf) {
> + msleep(100);
> tty->read_buf = kzalloc(N_TTY_BUF_SIZE, GFP_KERNEL);
> if (!tty->read_buf)
> return -ENOMEM;
> @@ -1815,6 +1817,7 @@ do_it_again:
> /* FIXME: does n_tty_set_room need locking ? */
> n_tty_set_room(tty);
> timeout = schedule_timeout(timeout);
> + msleep(20);
> BUG_ON(!tty->read_buf);
> continue;
> }
>
>
> thanks,
> --
> js
>
--
Regards
Dave
prev parent reply other threads:[~2011-10-18 1:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-28 13:15 WARNING: at drivers/tty/tty_ldisc.c:766 tty_ldisc_reinit+0x52/0x90() [3.0] Dave Jones
2011-09-01 20:59 ` Jiri Slaby
2011-10-09 6:59 ` Dave Young
2011-10-17 20:40 ` Jiri Slaby
2011-10-18 1:25 ` Dave Young [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABqxG0cPHVEG5XU9M+eNrgo7nvnhTxL4wHRFdEtpaUjhwcY2Nw@mail.gmail.com \
--to=hidave.darkstar@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davej@redhat.com \
--cc=gregkh@suse.de \
--cc=jirislaby@gmail.com \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.