Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 26256 invoked from network); 6 Jun 2006 19:31:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Jun 2006 19:31:22 -0000 Received: (qmail 17635 invoked by uid 500); 6 Jun 2006 19:31:22 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 17620 invoked by uid 500); 6 Jun 2006 19:31:21 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 17609 invoked by uid 99); 6 Jun 2006 19:31:21 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Jun 2006 12:31:21 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [208.30.140.160] (HELO moroha.quovadx.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Jun 2006 12:31:20 -0700 Received: from qxvcexch01.ad.quovadx.com ([192.168.170.59]) by moroha.quovadx.com (8.13.4/8.13.4) with ESMTP id k56JUgDJ025193 for ; Tue, 6 Jun 2006 19:30:42 GMT Received: from [10.70.3.113] ([10.70.3.113]) by qxvcexch01.ad.quovadx.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 6 Jun 2006 13:31:12 -0600 Message-ID: <4485D7F2.8070708@roguewave.com> Date: Tue, 06 Jun 2006 13:30:58 -0600 From: Martin Sebor Organization: Rogue Wave Software User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050920 X-Accept-Language: en-us, en MIME-Version: 1.0 To: stdcxx-dev@incubator.apache.org Subject: Re: IBM VAC++ 8.0 linux placement issues References: <4485CE32.40607@roguewave.com> In-Reply-To: <4485CE32.40607@roguewave.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 06 Jun 2006 19:31:12.0413 (UTC) FILETIME=[C4F984D0:01C6899F] X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I reproduced the crash in a small compiler-only test case (specific to XLC++) and filed a PMR with IBM. Here are the details: http://issues.apache.org/jira/browse/STDCXX-199. It looks to me like exceptions are essentially unusable in this configuration. Martin Martin Sebor wrote: > Scott Zhong wrote: > >> There are several stdlib test that uses mynew.h and the placement new is >> causing it to seg fault. >> >> >> >> Affected tests: >> >> >> >> tests/stdlib/containers/deque_modifiers >> tests/stdlib/diagnostics/exceptions >> >> tests/stdlib/test/new > > > This test exercises the correctness of the replaced operators > themselves (i.e., those defined by the test suite to exercise > the rest of the library). The other tests most likely all crash > because there's something wrong with the operator. The test runs > with the expected results when compiled with gcc so it seems that > this might be specific to XLC++. > > The stack trace from the core dump (below) shows that it occurs > in the replacement operator new which is just a forwarding > function with hardly any body: > > 166 void* operator new (_RWSTD_SIZE_T n) _THROWS ((_RWSTD_BAD_ALLOC)) > 167 { > 168 return operator_new (n, false); > 169 } > > That seems to suggest some kind of runtime library problem. > Let me try to reproduce it in a smaller test case. > > Here's the backtrace: > > (gdb) where > #0 0x0000000010003e78 in operator new (n=0) at rw_new.h:167 > #1 0x00000000100044fc in test_bad_alloc () > at /amd/devco/sebor/dev/stdlib/tests/test/00_new.cpp:138 > #2 0x00000000100083f8 in run_test () > at /amd/devco/sebor/dev/stdlib/tests/test/00_new.cpp:470 > #3 0x000000001000a080 in rw_vtest (argc=1, argv=0x1ffffffeff8, > file_name=0x100a719c > "/amd/devco/sebor/dev/stdlib/tests/test/00_new.cpp", > clause=0x0, comment=0x0, > fun=@0x100f7050: 0x10008398 , > optstr=0x100a72ec "|-no-new-delete# |-no-bad_alloc# |-no-mismatch# > |-no-bad-delete# |-no-double-delete# |-no-corruption# |-no-leaks# > |-no-stress-test#", > va=0x1ffffffea48 "") > at /amd/devco/sebor/dev/stdlib/tests/src/driver.cpp:1043 > #4 0x000000001000b1fc in rw_test (argc=1, argv=0x1ffffffeff8, > fname=0x100a719c "/amd/devco/sebor/dev/stdlib/tests/test/00_new.cpp", > clause=0x0, comment=0x0, > testfun=@0x100f7050: 0x10008398 , > optstr=0x100a72ec "|-no-new-delete# |-no-bad_alloc# |-no-mismatch# > |-no-bad-delete# |-no-double-delete# |-no-corruption# |-no-leaks# > |-no-stress-test#") > at /amd/devco/sebor/dev/stdlib/tests/src/driver.cpp:1140 > #5 0x0000000010005f7c in main (argc=1, argv=0x1ffffffeff8) > at /amd/devco/sebor/dev/stdlib/tests/test/00_new.cpp:485