Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 6745
Product:  
Component:  
Status: RESOLVED
Resolution: FIXED
Assigned To: Benjamin Kosnik <bkoz@gcc.gnu.org>
Host:
Reported against  
Priority:  
Severity:  
Target Milestone:  
 
 
Target:
Reporter: peter@snake.iap.physik.tu-darmstadt.de
Add CC:
CC:
Remove selected CCs
Build:
URL:
Summary:
Keywords:
Known to work:
Known to fail:

Attachment Description Type Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 6745 depends on: Show dependency tree
Show dependency graph
Bug 6745 blocks:

Additional Comments:






View Bug Activity   |   Format For Printing   |   Clone This Bug


Description:   Last confirmed: Opened: 2002-05-20 09:56
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!

------- Comment #1 From Paolo Carlini 2002-05-20 14:09 -------
State-Changed-From-To: open->analyzed
State-Changed-Why: Confirmed.

------- Comment #2 From Benjamin Kosnik 2002-05-29 05:04 -------
Responsible-Changed-From-To: unassigned->bkoz
Responsible-Changed-Why: Mine.

------- Comment #3 From Joe Buck 2002-10-23 15:03 -------
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.

------- Comment #4 From Paolo Carlini 2002-10-24 00:56 -------
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.

------- Comment #5 From Joe Buck 2002-10-28 11:06 -------
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.
 


------- Comment #6 From Benjamin Kosnik 2002-10-29 05:47 -------
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.


------- Comment #7 From Joe Buck 2002-10-29 08:47 -------
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.
 


------- Comment #8 From Paolo Carlini 2002-11-18 20:03 -------
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
 

------- Comment #9 From Paolo Carlini 2002-11-20 13:27 -------
State-Changed-From-To: analyzed->closed
State-Changed-Why: Finally fixed with:
    http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01264.html

------- Comment #10 From Paolo Carlini 2002-12-02 22:05 -------
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

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug