There are severe io related problems on the branch. I believe those problems are related to the recent check-ins. For example, consider the following code tc.C. When run interactively, typing ^D on the keyboars has no effect, the program does not finish. When the input and output file descriptors are redirected to files, the programm does not terminate either. There are other io related problems I have not yet investigated. For example, when running the boost regression suite, the output of the html status file, cs-linux.html, is truncated. "libs/config/test/config_info.cpp run" is the last line (the first test of the regression suite), though all tests pass. Release: 3.1.1 20020519 (prerelease) Environment: System: Linux kiste 2.4.18 #8 Sat Mar 9 15:33:15 CET 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-languages=c,c++,f77,objc How-To-Repeat: source code tc.C #include <iostream> int main () { std::cout << std::cin.rdbuf(); } g++ -v -o tc tc.C -W -Wall Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/specs Configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-languages=c,c++,f77,objc Thread model: posix gcc version 3.1.1 20020519 (prerelease) /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=1 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ tc.C -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -dumpbase tc.C -W -Wall -version -o /tmp/ccPq221W.s GNU CPP version 3.1.1 20020519 (prerelease) (cpplib) (i386 Linux/ELF) GNU C++ version 3.1.1 20020519 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 3.1.1 20020519 (prerelease). ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include/g++-v3 /usr/local/include/g++-v3/i686-pc-linux-gnu /usr/local/include/g++-v3/backward /usr/local/include /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/include /usr/include End of search list. /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o /tmp/ccd2RdDf.o /tmp/ccPq221W.s GNU assembler version 020428 (i686-pc-linux-gnu) using BFD version 020428 20020428 ./tc < tc.C > aus // does not finish ./tc hallo ^D^D^D^D^D^D^D //does not return to shell either!
State-Changed-From-To: open->analyzed State-Changed-Why: Confirmed.
Responsible-Changed-From-To: unassigned->bkoz Responsible-Changed-Why: Mine.
State-Changed-From-To: analyzed->closed State-Changed-Why: Verified as no longer present either in 3.2 branch or trunk as of 23-oct-2002.
State-Changed-From-To: closed->analyzed State-Changed-Why: After private mail with Benjamin we believe that this PR unfortunately must be kept open. In fact, the behaviour of v2 is restored but something is still NOT ok in this area. Consider the following run time session for the testcase: paolo~>a.out dddd<NEWLINE> sssss<NEWLINE> <CTRL-D> dddd // echoed sssss // echoed <CTRL-D> paolo~> That is, after a <NEWLINE> no chars are echoed at all. They are all output together upon a first <CTRL-D>, then another is needed to end program execution. Compare to 3.0.4/STLPort/Icc: paolo~>a.out dddd<NEWLINE> dddd // echoed sssss<NEWLINE> sssss // echoed <CTRL-D> paolo~> Ciao, Paolo.
From: Joe Buck <jbuck@synopsys.com> To: bkoz@gcc.gnu.org, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, peter@snake.iap.physik.tu-darmstadt.de Cc: Subject: Re: libstdc++/6745: Sever io problems on branch rdbuf Date: Mon, 28 Oct 2002 11:06:39 -0800 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6745 I'm going to downgrade the priority of this PR to "medium". The reason is based on Paolo's comment: > After private mail with Benjamin we believe that this PR > unfortunately must be kept open. In fact, the behaviour of > v2 is restored but something is still NOT ok in this area. So, we still have a bug, but we no longer have a regression: this stuff works as well as it ever did. So this one should not hold up 3.2.1. Unfortunately, there are about 15 other high-priority PRs.
From: "B. Kosnik" <bkoz@nabi.net> To: Joe Buck <jbuck@synopsys.com> Cc: bkoz@gcc.gnu.org, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, peter@snake.iap.physik.tu-darmstadt.de Subject: Re: libstdc++/6745: Sever io problems on branch rdbuf Date: Tue, 29 Oct 2002 05:47:29 -0800 Again, I intend to look at this, but at the moment I am on the road. I should be able to work on this at the end of this week. >So, we still have a bug, but we no longer have a regression: this stuff >works as well as it ever did.
From: Joe Buck <jbuck@synopsys.com> To: bkoz@nabi.net (B. Kosnik) Cc: Joe.Buck@synopsys.COM (Joe Buck), bkoz@gcc.gnu.org, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, peter@snake.iap.physik.tu-darmstadt.de Subject: Re: libstdc++/6745: Sever io problems on branch rdbuf Date: Tue, 29 Oct 2002 08:47:56 -0800 (PST) I wrote: > >So, we still have a bug, but we no longer have a regression: this stuff > >works as well as it ever did. Benjamin Kosnik writes: > Again, I intend to look at this, but at the moment I am on the road. I > should be able to work on this at the end of this week. Since 6745 is no longer a regression, it seems that Mark would have to make an exception to the rules to even accept a patch for the branch. 6746, also assigned to you, has higher priority. It is a regression.
From: paolo@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/6745 Date: 18 Nov 2002 20:03:53 -0000 CVSROOT: /cvs/gcc Module name: gcc Changes by: paolo@gcc.gnu.org 2002-11-18 12:03:53 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: streambuf.tcc Log message: 2002-11-18 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/6745 (continued) * include/bits/streambuf.tcc (__copy_streambufs): Deal with interactive input by using isatty as in the fix for libstdc++/8399. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.1433&r2=1.1434 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/streambuf.tcc.diff?cvsroot=gcc&r1=1.17&r2=1.18
State-Changed-From-To: analyzed->closed State-Changed-Why: Finally fixed with: http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01264.html
From: paolo@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: libstdc++/6745 Date: 2 Dec 2002 22:05:21 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_2-branch Changes by: paolo@gcc.gnu.org 2002-12-02 14:05:21 Modified files: libstdc++-v3 : ChangeLog acinclude.m4 configure.in aclocal.m4 config.h.in configure libstdc++-v3/src: ios.cc libstdc++-v3/include/bits: streambuf.tcc libstdc++-v3/testsuite/27_io: ostream_inserter_other.cc Log message: 2002-12-02 Benjamin Kosnik <bkoz@redhat.com> Jonathan Lennox <lennox@cs.columbia.edu> * include/bits/streambuf.tcc (__copy_streambufs): Revert previous fix for the interactive half of libstdc++/6745, use _M_buf_size_opt to set dynamically the correct buffer size. 2002-12-02 Jonathan Lennox <lennox@cs.columbia.edu> * include/bits/streambuf.tcc (__copy_streambufs): verify __sbin->gptr() + __bufsize < __sbin->egptr() before using. * testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add. (test05): Use test_buffer_4. Delete unused ostringstream variables. 2002-12-02 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/6745 (continued) * include/bits/streambuf.tcc (__copy_streambufs): Deal with interactive input by using isatty as in the fix for libstdc++/8399. 2002-12-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h. 2002-12-02 Paolo Carlini <pcarlini@unitus.it> Loren J. Rittle <ljrittle@acm.org> PR libstdc++/8399 * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to check for unistd.h functions. (GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty in unistd.h. * configure.in: Call here. * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive input __in_size = 1 even when sync_with_stdio is false; otherwise fall back to __in_size = 1. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.1057.2.159.2.60&r2=1.1057.2.159.2.61 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/acinclude.m4.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.194.2.15.2.6&r2=1.194.2.15.2.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.in.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.83.2.14.2.4&r2=1.83.2.14.2.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/aclocal.m4.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.202.2.16.2.6&r2=1.202.2.16.2.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config.h.in.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.50.2.4.2.2&r2=1.50.2.4.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.235.2.24.2.10&r2=1.235.2.24.2.11 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/src/ios.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.24.2.6.4.1&r2=1.24.2.6.4.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/streambuf.tcc.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.12.2.2.4.3&r2=1.12.2.2.4.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_2-branch&r1=1.10.2.1.2.1&r2=1.10.2.1.2.2