From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 465 invoked by alias); 25 Sep 2002 22:06: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 442 invoked by uid 71); 25 Sep 2002 22:06:01 -0000 Resent-Date: 25 Sep 2002 22:06:01 -0000 Resent-Message-ID: <20020925220601.441.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, schroedl@rtna.daimlerchrysler.com, king@rtna.daimlerchrysler.com, wagner@rtna.daimlerchrysler.com Resent-Reply-To: gcc-gnats@gcc.gnu.org, kloeckner@rtna.daimlerchrysler.com Received: (qmail 30446 invoked by uid 61); 25 Sep 2002 22:00:21 -0000 Message-Id: <20020925220021.30445.qmail@sources.redhat.com> Date: Wed, 25 Sep 2002 15:06:00 -0000 From: kloeckner@rtna.daimlerchrysler.com Reply-To: kloeckner@rtna.daimlerchrysler.com To: gcc-gnats@gcc.gnu.org Cc: schroedl@rtna.daimlerchrysler.com, king@rtna.daimlerchrysler.com, wagner@rtna.daimlerchrysler.com X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: schroedl@rtna.daimlerchrysler.com,king@rtna.daimlerchrysler.com,wagner@rtna.daimlerchrysler.com Subject: c++/8047: loop with many exceptions causes segfault X-SW-Source: 2002-09/txt/msg00687.txt.bz2 List-Id: >Number: 8047 >Category: c++ >Synopsis: loop with many exceptions causes segfault >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Wed Sep 25 15:06:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Andreas Kloeckner, Sebastian Wagner, Thomas King >Release: gcc 2.95.{3,4}, gcc 3.0.4, gcc 3.1.1, gcc 2.96 (Redhat) >Organization: >Environment: i386 Linux, Debian, Redhat, SuSE of various versions Intel Pentium III/IV processors, AMD Athlon >Description: This program : ---------------------------------------------- #include int *GetMessage() { throw 5; } int main( int argc, char **argv ) { while ( true ) { try { std::auto_ptr msg( GetMessage() ); } catch (...) { } } } ----------------------------------------------------- when run grows to an immense in-memory size and finally crashes with a segmentation fault. The crash happens after just about a million iterations, or the system crashes after it has filled up the swap file (This typically happens on SuSE systems.) I suppose that cleanup after the exception is never done completely, and so the stack fills up with junk that is supposed to be cleaned up by the "leave" assembler instruction at the end of the function. >How-To-Repeat: Run the program, watch the segment size (e.g., in "top"), wait for segmentation fault to occur. >Fix: don't use exceptions in tight loops? >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="test_parser.ii.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test_parser.ii.bz2" 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