All of lore.kernel.org
 help / color / mirror / Atom feed
From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
	Mikael Pettersson <mikpe@it.uu.se>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Alan Cox <alan@linux.intel.com>, Greg KH <gregkh@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [Bug #14015] pty regressed again, breaking expect and gcc's testsuite
Date: Thu, 03 Sep 2009 20:29:42 +0900	[thread overview]
Message-ID: <87pra89sgp.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <alpine.LFD.2.00.0909021429360.3590@eeepc.linux-foundation.org> (Linus Torvalds's message of "Wed, 2 Sep 2009 15:23:28 -1000 (HST)")

Linus Torvalds <torvalds@linux-foundation.org> writes:

> On Tue, 1 Sep 2009, Rafael J. Wysocki wrote:
>> On Tuesday 01 September 2009, Mikael Pettersson wrote:
>> > 
>> > Starting with 2.6.31-rc8 and reverting
>> > 
>> > 85dfd81dc57e8183a277ddd7a56aa65c96f3f487 pty: fix data loss when stopped (^S/^Q)
>> > d945cb9cce20ac7143c2de8d88b187f62db99bdc pty: Rework the pty layer to use the normal buffering logic
>> > 
>> > in that order gives me a kernel that works on both x86 and powerpc64.
>> > 
>> > So the bug is definitely limited to the pty buffering logic change.
>> 
>> Thanks a lot for this information, adding somme CCs to the list.
>
> Mikael, is there any way to get the gcc testsuite to show the "expected" 
> vs "result" cases when the failures occur, so that we can see what the 
> pattern is ("it drops one character every 8kB" or something like that).
>
> However, I get the feeling that it's really the same bug that 
> OGAWA-san already fixed - and that his fix just doesn't always do a 100% 
> of the job. 
>
> So what Ogawa did was to make sure that we flush any pending data whenever 
> we;re checking "do we have any data left". He did that by calling out to 
> tty_flush_to_ldisc(), which should flush the data through to the ldisc. 
>
> The keyword here being "should". In flush_to_ldisc(), we have at least one 
> case where we say "we'll delay it a bit more":
>
> 		if (!tty->receive_room) {
> 			schedule_delayed_work(&tty->buf.work, 1);
> 			break;
> 		}
>
> and while I think this _should_ be ok (because if there is no 
> receive-room, then we'll hopefully always return non-zero from 
> "input_available_p()". However, we do have this really odd case that the 
> reader side will do "n_tty_set_room()" onlyl _after_ having checked for 
> input_available_p(), and so maybe we do sometimes trigger the case that
>
>  - input_available_p() tries to flush to the input buffer before checking 
>    how much data is available, by calling 'tty_flush_to_ldisc()'
>
>  - but 'tty_flush_to_ldisc()' won't do anything, because tty->receive_room 
>    is zero.
>
>  - so now input_available_p will say "I don't have any data", even though 
>    there was data in the write buffers.
>
>  - we'll notice that the other end has hung up, and return EOF/EIO.
>
>  - which is very WRONG, because the other end may have hung up, but before 
>    it did that, it wrote data that is still in the write queues, and we 
>    should have returned that data.
>
> Anyway, I'm not at all sure that the "receive_room == 0" case can happen 
> at all, but maybe it can. Ogawa-san?

If I'm not missing, I think it doesn't have big change with old
code. But I would need to check more deeply.

Um.., If "receive_room == 0 && tty->read_cnt == 0" is possible, I wonder
why reverting buffer handling fixes the problem.

Well, anyway, I'd like to reproduce this on my machine. Could you tell
me the version of tools? I guess gcc testsuite using the gcc's source
(svn revision?), expect, dejagnu, tcl. (BTW, I'm using debian
testing. If it can be reproduced on kvm, I can install distro version
which you are using)

Thanks.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

  reply	other threads:[~2009-09-03 11:29 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25 20:00 2.6.31-rc7-git2: Reported regressions from 2.6.30 Rafael J. Wysocki
2009-08-25 20:00 ` Rafael J. Wysocki
2009-08-25 20:00 ` [Bug #13645] NULL pointer dereference at (null) (level2_spare_pgt) Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13733] 2.6.31-rc2: irq 16: nobody cared Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13740] X server crashes with 2.6.31-rc2 when options are changed Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13809] oprofile: possible circular locking dependency detected Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13819] system freeze when switching to console Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13848] iwlwifi (4965) regression since 2.6.30 Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13836] suspend script fails, related to stdout? Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-26 11:10   ` Tomas M.
2009-08-26 11:10     ` Tomas M.
2009-08-26 20:56     ` Rafael J. Wysocki
2009-08-26 20:56       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13935] 2.6.31-rcX breaks Apple MightyMouse (Bluetooth version) Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13906] Huawei E169 GPRS connection causes Ooops Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13869] Radeon framebuffer (w/o KMS) corruption at boot Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13941] x86 Geode issue Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 23:37   ` Martin-Éric Racine
2009-08-26 20:59     ` Rafael J. Wysocki
2009-08-26 20:59       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13943] WARNING: at net/mac80211/mlme.c:2292 with ath5k Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-26  6:39   ` Fabio Comolli
2009-08-26  6:39     ` Fabio Comolli
2009-08-26 21:00     ` Rafael J. Wysocki
2009-08-26 21:00       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13942] Troubles with AoE and uninitialized object Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13940] iwlagn and sky2 stopped working, ACPI-related Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-26  0:00   ` Ricardo Jorge da Fonseca Marques Ferreira
2009-08-26  0:00     ` Ricardo Jorge da Fonseca Marques Ferreira
2009-08-26 20:58     ` Rafael J. Wysocki
2009-08-26 20:58       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13947] Libertas: Association request to the driver failed Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13948] ath5k broken after suspend-to-ram Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13950] Oops when USB Serial disconnected while in use Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13960] rtl8187 not connect to wifi Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #13987] Received NMI interrupt at resume Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14012] latest git fried my x86_64 imac Rafael J. Wysocki
2009-08-26  0:28   ` Justin P. Mattock
2009-08-26 21:06     ` Rafael J. Wysocki
2009-08-26 21:06       ` Rafael J. Wysocki
2009-08-26 21:58       ` Justin P. Mattock
2009-08-26 21:58         ` Justin P. Mattock
2009-08-27 18:01       ` Justin P. Mattock
2009-08-27 18:01         ` Justin P. Mattock
2009-08-27 19:45         ` Rafael J. Wysocki
2009-08-27 19:45           ` Rafael J. Wysocki
2009-08-27 20:47           ` Randy Dunlap
2009-08-27 21:01             ` Justin P. Mattock
2009-08-27 21:01               ` Justin P. Mattock
2009-08-25 20:34 ` [Bug #14011] Kernel paging request failed in kmem_cache_alloc Rafael J. Wysocki
2009-08-26  6:17   ` Pekka Enberg
2009-08-26  6:17     ` Pekka Enberg
2009-08-26 14:01     ` Matthias Dahl
2009-08-26 14:59       ` Pekka Enberg
2009-08-26 14:59         ` Pekka Enberg
2009-08-26 15:08         ` Eric Paris
2009-08-26 15:08           ` Eric Paris
2009-08-26 21:03         ` Rafael J. Wysocki
2009-08-26 21:03           ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14016] mm/ipw2200 regression Rafael J. Wysocki
2009-08-26  6:09   ` Pekka Enberg
2009-08-26  6:09     ` Pekka Enberg
2009-08-26  8:27     ` Johannes Weiner
2009-08-26  8:27       ` Johannes Weiner
2009-08-26  9:37       ` Mel Gorman
2009-08-26  9:37         ` Mel Gorman
2009-08-26  9:37         ` Mel Gorman
2009-08-26 14:44         ` Andrew Morton
2009-08-26 14:44           ` Andrew Morton
2009-08-27  9:11           ` Zhu Yi
2009-08-27  9:11             ` Zhu Yi
2009-08-27  9:11             ` Zhu Yi
2009-08-27  9:11             ` Zhu Yi
2009-08-27  9:45             ` Mel Gorman
2009-08-27  9:45               ` Mel Gorman
2009-08-27  9:45               ` Mel Gorman
2009-08-28  3:42           ` ipw2200: firmware DMA loading rework Zhu Yi
2009-08-28  3:42             ` Zhu Yi
2009-08-28  3:42             ` Zhu Yi
2009-08-28  3:42             ` Zhu Yi
2009-08-30 12:37             ` Bartlomiej Zolnierkiewicz
2009-08-30 12:37               ` Bartlomiej Zolnierkiewicz
2009-08-30 12:37               ` Bartlomiej Zolnierkiewicz
2009-09-02 17:48               ` Bartlomiej Zolnierkiewicz
2009-09-02 17:48                 ` Bartlomiej Zolnierkiewicz
2009-09-02 17:48                 ` Bartlomiej Zolnierkiewicz
2009-09-02 18:02                 ` Luis R. Rodriguez
2009-09-02 18:02                   ` Luis R. Rodriguez
2009-09-02 18:02                   ` Luis R. Rodriguez
2009-09-02 18:26                   ` Bartlomiej Zolnierkiewicz
2009-09-02 18:26                     ` Bartlomiej Zolnierkiewicz
2009-09-02 18:26                     ` Bartlomiej Zolnierkiewicz
2009-09-02 18:26                     ` Bartlomiej Zolnierkiewicz
2009-09-19 13:25                     ` Bartlomiej Zolnierkiewicz
2009-09-19 13:25                       ` Bartlomiej Zolnierkiewicz
2009-09-19 13:25                       ` Bartlomiej Zolnierkiewicz
2009-09-19 13:25                       ` Bartlomiej Zolnierkiewicz
2009-09-21  8:58                       ` Mel Gorman
2009-09-21  8:58                         ` Mel Gorman
2009-09-21  8:58                         ` Mel Gorman
2009-09-21  9:59                         ` Bartlomiej Zolnierkiewicz
2009-09-21  9:59                           ` Bartlomiej Zolnierkiewicz
2009-09-21  9:59                           ` Bartlomiej Zolnierkiewicz
2009-09-21 10:08                           ` Mel Gorman
2009-09-21 10:08                             ` Mel Gorman
2009-09-21 10:08                             ` Mel Gorman
2009-09-21 10:46                             ` Bartlomiej Zolnierkiewicz
2009-09-21 10:46                               ` Bartlomiej Zolnierkiewicz
2009-09-21 10:46                               ` Bartlomiej Zolnierkiewicz
2009-09-21 10:56                               ` Pekka Enberg
2009-09-21 10:56                                 ` Pekka Enberg
2009-09-21 10:56                                 ` Pekka Enberg
2009-09-21 13:12                                 ` Bartlomiej Zolnierkiewicz
2009-09-21 13:12                                   ` Bartlomiej Zolnierkiewicz
2009-09-21 13:12                                   ` Bartlomiej Zolnierkiewicz
2009-09-21 13:37                                   ` Mel Gorman
2009-09-21 13:37                                     ` Mel Gorman
2009-09-21 13:37                                     ` Mel Gorman
2009-09-21 11:02                               ` Mel Gorman
2009-09-21 11:02                                 ` Mel Gorman
2009-09-21 11:02                                 ` Mel Gorman
2009-09-21 11:02                                 ` Mel Gorman
2009-09-03 12:49                   ` Mel Gorman
2009-09-03 12:49                     ` Mel Gorman
2009-09-03 12:49                     ` Mel Gorman
2009-09-03 12:49                     ` Mel Gorman
2009-09-05 14:28                     ` Theodore Tso
2009-09-05 14:28                       ` Theodore Tso
2009-09-05 14:28                       ` Theodore Tso
2009-09-05 14:28                       ` Theodore Tso
     [not found]                       ` <20090905142837.GI16217-3s7WtUTddSA@public.gmane.org>
2009-09-08 11:00                         ` Mel Gorman
2009-09-08 11:00                       ` Mel Gorman
2009-09-08 11:00                       ` Mel Gorman
2009-09-08 11:00                         ` Mel Gorman
2009-09-08 11:00                         ` Mel Gorman
2009-09-08 20:39                         ` Simon Kitching
2009-09-08 20:39                           ` Simon Kitching
2009-09-08 20:39                           ` Simon Kitching
2009-09-08 20:39                           ` Simon Kitching
2009-08-26  9:51       ` [Bug #14016] mm/ipw2200 regression Johannes Weiner
2009-08-26  9:51         ` Johannes Weiner
2009-08-26  9:51         ` Johannes Weiner
2009-08-25 20:34 ` [Bug #14015] pty regressed again, breaking expect and gcc's testsuite Rafael J. Wysocki
2009-08-27 19:54   ` Mikael Pettersson
2009-08-27 19:54     ` Mikael Pettersson
2009-08-28 18:56     ` Rafael J. Wysocki
2009-08-28 18:56       ` Rafael J. Wysocki
2009-08-28 20:23       ` Mikael Pettersson
2009-08-28 20:23         ` Mikael Pettersson
2009-08-29 14:16         ` Mikael Pettersson
2009-08-29 14:16           ` Mikael Pettersson
2009-08-29 19:01           ` Rafael J. Wysocki
2009-08-29 19:01             ` Rafael J. Wysocki
2009-08-31 13:22             ` Mikael Pettersson
2009-09-01  1:34               ` Mikael Pettersson
2009-09-01  1:34                 ` Mikael Pettersson
2009-09-01 18:42                 ` Rafael J. Wysocki
2009-09-01 18:42                   ` Rafael J. Wysocki
2009-09-03  1:23                   ` Linus Torvalds
2009-09-03  1:23                     ` Linus Torvalds
2009-09-03 11:29                     ` OGAWA Hirofumi [this message]
2009-09-03 21:00                       ` Mikael Pettersson
2009-09-03 21:00                         ` Mikael Pettersson
2009-09-04  0:01                       ` Linus Torvalds
2009-09-04  0:01                         ` Linus Torvalds
2009-09-04  1:41                         ` OGAWA Hirofumi
2009-09-04  1:41                           ` OGAWA Hirofumi
2009-09-04  1:52                           ` Linus Torvalds
2009-09-04  1:52                             ` Linus Torvalds
2009-09-04 15:28                         ` Alan Cox
2009-09-04 15:28                           ` Alan Cox
2009-09-04 17:33                           ` Linus Torvalds
2009-09-04 17:33                             ` Linus Torvalds
2009-09-03 20:27                     ` Mikael Pettersson
2009-09-04 13:23                     ` Mikael Pettersson
2009-09-04 13:23                       ` Mikael Pettersson
2009-09-04 17:30                       ` Linus Torvalds
2009-09-04 17:30                         ` Linus Torvalds
2009-09-04 17:53                         ` Linus Torvalds
2009-09-04 17:53                           ` Linus Torvalds
2009-09-04 17:55                           ` Linus Torvalds
2009-09-04 17:55                             ` Linus Torvalds
2009-09-04 18:11                             ` Linus Torvalds
2009-09-04 18:11                               ` Linus Torvalds
2009-09-04 19:11                               ` Linus Torvalds
2009-09-04 19:11                                 ` Linus Torvalds
2009-09-04 19:19                                 ` Linus Torvalds
2009-09-04 19:19                                   ` Linus Torvalds
2009-09-05 10:46                                   ` Mikael Pettersson
2009-09-05 10:46                                     ` Mikael Pettersson
2009-09-05 20:29                                     ` Linus Torvalds
2009-09-05 20:29                                       ` Linus Torvalds
2009-09-05 22:42                                       ` Mikael Pettersson
2009-09-05 22:42                                         ` Mikael Pettersson
2009-09-05 17:00                                 ` OGAWA Hirofumi
2009-09-05 17:00                                   ` OGAWA Hirofumi
2009-09-05 18:06                                   ` Linus Torvalds
2009-09-05 18:06                                     ` Linus Torvalds
2009-09-05 18:56                                     ` OGAWA Hirofumi
2009-09-05 18:56                                       ` OGAWA Hirofumi
2009-09-05 21:56                                   ` Alan Cox
2009-09-05 21:56                                     ` Alan Cox
2009-09-05 22:46                                     ` OGAWA Hirofumi
2009-09-05 22:46                                       ` OGAWA Hirofumi
2009-09-04 21:12                               ` Alan Cox
2009-09-04 21:12                                 ` Alan Cox
2009-08-25 20:34 ` [Bug #14013] hd don't show up Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14018] kernel freezes, inotify problem Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14017] _end symbol missing from Symbol.map Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14030] Kernel NULL pointer dereference at 0000000000000008, pty-related Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-26  0:16   ` Linus Torvalds
2009-08-26 21:11     ` Rafael J. Wysocki
2009-08-26 21:11       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14031] dvb_usb_af9015: Oops on hotplugging Rafael J. Wysocki
2009-08-25 23:57   ` Stefan Lippers-Hollmann
2009-08-25 23:57     ` Stefan Lippers-Hollmann
2009-08-26  0:03     ` Rafael J. Wysocki
2009-08-26  0:03       ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14057] Strange network timeouts w/ e100 Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14060] oops: sysfs_remove_link and i915 Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14058] Oops in fsnotify Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14061] Crash due to buggy flat_phys_pkg_id Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-08-25 20:34 ` [Bug #14062] Failure to boot as xen guest Rafael J. Wysocki
2009-08-25 20:34   ` Rafael J. Wysocki
2009-09-01 19:47   ` Jeremy Fitzhardinge
2009-09-01 19:47     ` Jeremy Fitzhardinge
  -- strict thread matches above, loose matches on Subject: below --
2009-08-19 20:20 2.6.31-rc6-git5: Reported regressions from 2.6.30 Rafael J. Wysocki
2009-08-19 20:27 ` [Bug #14015] pty regressed again, breaking expect and gcc's testsuite Rafael J. Wysocki
2009-08-19 20:27   ` Rafael J. Wysocki
2009-08-24 10:08   ` Mikael Pettersson
2009-08-24 18:32     ` Rafael J. Wysocki
2009-08-24 18:32       ` Rafael J. Wysocki

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=87pra89sgp.fsf@devron.myhome.or.jp \
    --to=hirofumi@mail.parknet.co.jp \
    --cc=akpm@linux-foundation.org \
    --cc=alan@linux.intel.com \
    --cc=gregkh@suse.de \
    --cc=kernel-testers@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.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.