From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26712 invoked by alias); 20 Apr 2002 12:56:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26662 invoked by uid 71); 20 Apr 2002 12:56:01 -0000 Date: Sat, 20 Apr 2002 05:56:00 -0000 Message-ID: <20020420125601.26658.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Craig Rodrigues Subject: Re: libstdc++/5396: ifstream read()'s data multiple times on Solaris Reply-To: Craig Rodrigues X-SW-Source: 2002-04/txt/msg01027.txt.bz2 List-Id: The following reply was made to PR libstdc++/5396; it has been noted by GNATS. From: Craig Rodrigues To: jakub@unthought.net, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, anderson@ligo.caltech.edu, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: libstdc++/5396: ifstream read()'s data multiple times on Solaris Date: Sat, 20 Apr 2002 08:48:52 -0400 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5396 Submitted by jakub@unthought.net: Hello all, I am seeing an error possibly related to PR 5936: Following configurations are affected: GCC-3.0.2 with vendor linker and assembler, with sjlj-exceptions. GCC-3.0.4 with vendor linker and assembler, with and without sjlj-excepti= ons GCC-3.0.4 with GNU binutils 2.12, without sjlj-exceptions. I have not yet found a working configuration (one that does not expose th= e bug=20 that I see - any configuration not listed above, is simply not yet tested= ) My problem: A non-virtual method in a base class throws an exception, ca= using=20 either a segfault or a bus error, depending on configurations either in=20 vec.cc or eh_throw.cc. The method throwing the exception can be either in a shared library, or i= n the=20 main executable (linked statically, but first incrementally linked into a= =20 library prior to linking into the executable). This makes no difference. With GCC-3.0.4 and GNU binutils 2.12, I get: #0 0xff24fca0 in __cxa_throw (obj=3D0xfeb19fec, tinfo=3D0x15a038, dest=3D0xb194c <_ZN6errors16connectionclosedD1Ev>) at eh_throw.cc:63 63 header->unwindHeader.exception_class =3D __gxx_exception_class; Compiler configuration: $ g++ -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.4/spec= s Configured with: ./configure --enable-languages=3Dc,c++ --disable-threads= =20 --with-as=3D/usr/local/bin/as --with-gnu-as --with-ld=3D/usr/local/bin/ld= =20 --with-gnu-ld Thread model: single gcc version 3.0.4 I tried writing a small test program, but weren't successful in that. I h= ave=20 some hundreds of thousands of lines of C++, two handfulls of processes al= l=20 using this code, and *one* process exhibiting the problem. The exact sam= e=20 code compiles and works with GCC-3.0.1, GCC-3.0.3 (and others) on various= =20 Intel based systems (RedHat Linux, Debian GNU/Linux, FreeBSD). Oh, and my system is: $ uname -a SunOS sol 5.8 Generic_108528-05 sun4u sparc SUNW,Ultra-1 Any ideas ? Need more info ? Anything I can try/test ? I will try the = head=20 of the 3.1 branch today. Cheers, / jakob