From stdcxx-dev-return-3802-apmail-incubator-stdcxx-dev-archive=incubator.apache.org@incubator.apache.org Tue Jun 26 14:19:58 2007 Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 57276 invoked from network); 26 Jun 2007 14:19:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jun 2007 14:19:54 -0000 Received: (qmail 2351 invoked by uid 500); 26 Jun 2007 14:19:54 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 2334 invoked by uid 500); 26 Jun 2007 14:19:53 -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 2304 invoked by uid 99); 26 Jun 2007 14:19:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jun 2007 07:19:53 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [208.50.6.28] (HELO WM28.inbox.com) (208.50.6.28) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 26 Jun 2007 07:19:47 -0700 Received: from inbox.com (127.0.0.1:25) by inbox.com with [InBox.Com SMTP Server] id <706260021247.WM28> for from ; Tue, 26 Jun 2007 6:19:20 AM -0800 Mime-Version: 1.0 Date: Tue, 26 Jun 2007 06:19:19 -0800 Message-ID: <5D110C0656E.00000178mbrown@inbox.com> From: Mark Brown Subject: crash in 22.locale.num.put.mt (was RE: status of thread safety tests) To: stdcxx-dev@incubator.apache.org, stdcxx-dev@incubator.apache.org In-Reply-To: <5CF326C9D2E.0000016Bmbrown@inbox.com> References: <46774b7b.8070105@roguewave.com> X-Mailer: INBOX.COM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IWM-ACU: emJZ0_Hr5lg8-QFYmTjJST3rm6fo5NcKUaBgLjH1sP_c3mxmBkHRUTjK7OTr _toQ0I3htSNmsiI3q-oIZgtmGk0WEZOm_akHum-m7fAia-I2MTrDEIOmrgA2 IJhjuSbZqDVX4cX4@ X-Virus-Checked: Checked by ClamAV on apache.org It might be more helpful if I include the debugging information. The test = runs okay with just one thread in a debug build so this output is for two = threads. (gdb) r --nthreads=3D2 Starting program: = /home/mbrown/stdcxx-gcc-4.1.1-15D/tests/22.locale.num.put.mt --nthreads=3D2 =5BThread debugging using libthread_db enabled=5D =5BNew Thread 46912499588704 (LWP 23444)=5D =23 INFO (S1) (10 lines): =23 TEXT:=20 =23 COMPILER: gcc 4.1.1, __VERSION__ =3D =224.1.1 20070105 (Red Hat = 4.1.1-51)=22 =23 ENVIRONMENT: amd64/LP64 running linux-elf (unknown release) with glibc = 2.5 =23 FILE: 22.locale.num.put.mt.cpp =23 COMPILED: Jun 26 2007, 08:08:46 =23 COMMENT: thread safety =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23 =23 CLAUSE: lib.locale.num.put =23 NOTE (S2) (5 lines): =23 TEXT: executing =22locale -a > /tmp/tmpfile-6SA0KQ=22 =23 CLAUSE: lib.locale.num.put =23 FILE: process.cpp =23 LINE: 274 =23 INFO (S1) (3 lines): =23 TEXT: testing std::num_put with 2 threads, 200000 iterations = each, in locales =7B =22aa_DJ=22 =22aa_DJ.iso88591=22 =22aa_DJ.utf8=22 = =22aa_ER=22 =22aa_ER=40saaho=22 =22aa_ER.utf8=22 =22aa_ER.utf8=40saaho=22 = =22aa_ET=22 =22aa_ET.utf8=22 =22af_ZA=22 =22af_ZA.iso88591=22 = =22af_ZA.utf8=22 =22am_ET=22 =22am_ET.utf8=22 =22an_ES=22 = =22an_ES.iso885915=22 =22an_ES.utf8=22 =22ar_AE=22 =22ar_AE.iso88596=22 = =22ar_AE.utf8=22 =22ar_BH=22 =22ar_BH.iso88596=22 =22ar_BH.utf8=22 = =22ar_DZ=22 =22ar_DZ.iso88596=22 =22ar_DZ.utf8=22 =22ar_EG=22 = =22ar_EG.iso88596=22 =22ar_EG.utf8=22 =22ar_IN=22 =22ar_IN.utf8=22 = =22ar_IQ=22 =7D =23 CLAUSE: lib.locale.num.put =23 INFO (S1) (3 lines): =23 TEXT: exercising std::num_put =23 CLAUSE: lib.locale.num.put =5BNew Thread 1084229952 (LWP 23447)=5D =5BNew Thread 1094719808 (LWP 23448)=5D *** glibc detected *** = /home/mbrown/stdcxx-gcc-4.1.1-15D/tests/22.locale.num.put.mt: double free = or corruption (fasttop): 0x0000000000649720 *** =3D=3D=3D=3D=3D=3D=3D Backtrace: =3D=3D=3D=3D=3D=3D=3D=3D=3D /lib64/libc.so.6=5B0x39f826ea30=5D /lib64/libc.so.6(cfree+0x8c)=5B0x39f827214c=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZN4__rw15__rw_deallocat= eEPvmi+0x1c)=5B0x2aaaaab18a9e=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNSaIcE10deallocateEPcm= +0x26)=5B0x2aaaaab29626=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNSs9_C_unlinkEPc+0xb6)= =5B0x2aaaaab296de=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNSsD1Ev+0x1a)=5B0x2aaa= aab2ec86=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNKSt7num_putIcSt19ostr= eambuf_iteratorIcSt11char_traitsIcEEE6_C_putES3_RSt8ios_baseciPKv+0x6b2)=5B= 0x2aaaaab35448=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNKSt7num_putIcSt19ostr= eambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl+0x3d)=5B0x2a= aaaab3564b=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so(_ZNKSt7num_putIcSt19ostr= eambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl+0x43)=5B0x2aaaa= ab26c07=5D /home/mbrown/stdcxx-gcc-4.1.1-15D/tests/22.locale.num.put.mt=5B0x405091=5D /lib64/libpthread.so.0=5B0x39fae06305=5D /lib64/libc.so.6(clone+0x6d)=5B0x39f82cd50d=5D =3D=3D=3D=3D=3D=3D=3D Memory map: =3D=3D=3D=3D=3D=3D=3D=3D 00400000-0042c000 r-xp 00000000 08:02 22086788 = /home/mbrown/stdcxx-gcc-4.1.1-15D/tests/22.locale.num.put.mt 0062c000-0062e000 rw-p 0002c000 08:02 22086788 = /home/mbrown/stdcxx-gcc-4.1.1-15D/tests/22.locale.num.put.mt 0062e000-00651000 rw-p 0062e000 00:00 0 = =5Bheap=5D 40000000-40001000 ---p 40000000 00:00 0=20 40001000-40a01000 rwxp 40001000 00:00 0=20 40a01000-40a02000 ---p 40a01000 00:00 0=20 40a02000-41402000 rwxp 40a02000 00:00 0=20 39f7000000-39f701a000 r-xp 00000000 08:02 17006594 = /lib64/ld-2.5.so 39f7219000-39f721a000 r--p 00019000 08:02 17006594 = /lib64/ld-2.5.so 39f721a000-39f721b000 rw-p 0001a000 08:02 17006594 = /lib64/ld-2.5.so 39f8200000-39f8344000 r-xp 00000000 08:02 17006597 = /lib64/libc-2.5.so 39f8344000-39f8544000 ---p 00144000 08:02 17006597 = /lib64/libc-2.5.so 39f8544000-39f8548000 r--p 00144000 08:02 17006597 = /lib64/libc-2.5.so 39f8548000-39f8549000 rw-p 00148000 08:02 17006597 = /lib64/libc-2.5.so 39f8549000-39f854e000 rw-p 39f8549000 00:00 0=20 39f8600000-39f8682000 r-xp 00000000 08:02 17006804 = /lib64/libm-2.5.so 39f8682000-39f8881000 ---p 00082000 08:02 17006804 = /lib64/libm-2.5.so 39f8881000-39f8882000 r--p 00081000 08:02 17006804 = /lib64/libm-2.5.so 39f8882000-39f8883000 rw-p 00082000 08:02 17006804 = /lib64/libm-2.5.so 39fae00000-39fae15000 r-xp 00000000 08:02 17006792 = /lib64/libpthread-2.5.so 39fae15000-39fb014000 ---p 00015000 08:02 17006792 = /lib64/libpthread-2.5.so 39fb014000-39fb015000 r--p 00014000 08:02 17006792 = /lib64/libpthread-2.5.so 39fb015000-39fb016000 rw-p 00015000 08:02 17006792 = /lib64/libpthread-2.5.so 39fb016000-39fb01a000 rw-p 39fb016000 00:00 0=20 3a05000000-3a0500d000 r-xp 00000000 08:02 17006751 = /lib64/libgcc_s-4.1.1-20070105.so.1 3a0500d000-3a0520c000 ---p 0000d000 08:02 17006751 = /lib64/libgcc_s-4.1.1-20070105.so.1 3a0520c000-3a0520d000 rw-p 0000c000 08:02 17006751 = /lib64/libgcc_s-4.1.1-20070105.so.1 2aaaaaaab000-2aaaaaaad000 rw-p 2aaaaaaab000 00:00 0=20 2aaaaaaad000-2aaaaabbb000 r-xp 00000000 08:02 22086136 = /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so.4.2.0 2aaaaabbb000-2aaaaadbb000 ---p 0010e000 08:02 22086136 = /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so.4.2.0 2aaaaadbb000-2aaaaadc5000 rw-p 0010e000 08:02 22086136 = /home/mbrown/stdcxx-gcc-4.1.1-15D/lib/libstd15D.so.4.2.0 2aaaaadc5000-2aaaaaddd000 rw-p 2aaaaadc5000 00:00 0=20 2aaaaadf7000-2aaaaadfb000 rw-p 2aaaaadf7000 00:00 0=20 2aaaaadfb000-2aaaae2ef000 r--p 00000000 08:02 25982014 = /usr/lib/locale/locale-archive 2aaab0000000-2aaab0021000 rw-p 2aaab0000000 00:00 0=20 2aaab0021000-2aaab4000000 ---p 2aaab0021000 00:00 0=20 7fff6529c000-7fff652b0000 rwxp 7fff6529c000 00:00 0 = =5Bstack=5D 7fff652b0000-7fff652b1000 rw-p 7fff652b0000 00:00 0=20 ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 = =5Bvdso=5D Program received signal SIGABRT, Aborted. =5BSwitching to Thread 1084229952 (LWP 23447)=5D 0x00000039f82301b5 in raise () from /lib64/libc.so.6 (gdb) where =230 0x00000039f82301b5 in raise () from /lib64/libc.so.6 =231 0x00000039f8231b20 in abort () from /lib64/libc.so.6 =232 0x00000039f826766b in __libc_message () from /lib64/libc.so.6 =233 0x00000039f826ea30 in _int_free () from /lib64/libc.so.6 =234 0x00000039f827214c in free () from /lib64/libc.so.6 =235 0x00002aaaaab18a9e in __rw::__rw_deallocate (p=3D0x649720) at /home/mbrown/stdcxx/src/memory.cpp:81 =236 0x00002aaaaab29626 in std::allocator::deallocate = (this=3D0x409feb30,=20 __p=3D0x649720 =22=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=22, __n=3D58) at /home/mbrown/stdcxx/include/rw/_allocator.h:157 =237 0x00002aaaaab296de in std::string::_C_unlink (this=3D0x409feb30, = __ptr=3D0x0) at /home/mbrown/stdcxx/include/string:916 =238 0x00002aaaaab2ec86 in =7Ebasic_string (this=3D0x409feb30) at /home/mbrown/stdcxx/include/string:199 =239 0x00002aaaaab35448 in std::num_put > >::_C_put = (this=3D0x2aaaaadca740, __it=3D =7B> =3D = =7B=7D, _C_sb =3D 0x409fed60=7D, __flags=3D=400x409fede0, = __fill=3D32 ' ',=20 __type=3D2309, __pval=3D0xffffffffffffffef) at /home/mbrown/stdcxx/include/loc/_num_put.cc:205 =2310 0x00002aaaaab3564b in std::num_put > >::do_put = (this=3D0x2aaaaadca740, __it=3D =7B> =3D = =7B=7D, _C_sb =3D 0x409fed60=7D, __flags=3D=400x409fede0, = __fill=3D32 ' ', __val=3D-17) at /home/mbrown/stdcxx/include/loc/_num_put.h:140 =2311 0x00002aaaaab26c07 in std::num_put > >::put = (this=3D0x2aaaaadca740, __it=3D =7B> =3D = =7B=7D, _C_sb =3D 0x409fed60=7D, __flags=3D=400x409fede0, = __fill=3D32 ' ', __val=3D-17) at /home/mbrown/stdcxx/include/loc/_num_put.h:75 =2312 0x0000000000405091 in thread_func () at /home/mbrown/stdcxx/tests/localization/22.locale.num.put.mt.cpp:177 =2313 0x00000039fae06305 in start_thread () from /lib64/libpthread.so.0 =2314 0x00000039f82cd50d in clone () from /lib64/libc.so.6 =2315 0x0000000000000000 in ?? () -- Mark > -----Original Message----- > From: mbrown=40inbox.com > Sent: Tue, 26 Jun 2007 06:05:57 -0800 > To: stdcxx-dev=40incubator.apache.org > Subject: RE: status of thread safety tests >=20 > 22.locale.num.put.mt gets a SIGSEGV on my system (Fedora 6) even with a > single thread. Here's the output of gdb: >=20 > =24 gdb ./22.locale.num.put.mt > GNU gdb Red Hat Linux (6.5-15.fc6rh) > Copyright (C) 2006 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are > welcome to change it and/or distribute copies of it under certain > conditions. > Type =22show copying=22 to see the conditions. > There is absolutely no warranty for GDB. Type =22show warranty=22 for > details. > This GDB was configured as =22x86_64-redhat-linux-gnu=22... > (no debugging symbols found) > Using host libthread_db library =22/lib64/libthread_db.so.1=22. >=20 > (gdb) run --nthreads=3D1 > Starting program: > /home/mbrown/stdcxx-gcc-4.1.1-12D/tests/22.locale.num.put.mt - > -nthreads=3D1 > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > (no debugging symbols found) > =5BThread debugging using libthread_db enabled=5D > =5BNew Thread 46912499232352 (LWP 32189)=5D > (no debugging symbols found) > =23 INFO (S1) (10 lines): > =23 TEXT: > =23 COMPILER: gcc 4.1.1, __VERSION__ =3D =224.1.1 20070105 (Red Hat = 4.1.1-51)=22 > =23 ENVIRONMENT: amd64/LP64 running linux-elf (unknown release) with glibc > 2.5 > =23 FILE: 22.locale.num.put.mt.cpp > =23 COMPILED: Jun 26 2007, 07:52:50 > =23 COMMENT: thread safety > = =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23=23= =23=23=23=23=23=23=23=23=23=23 >=20 > =23 CLAUSE: lib.locale.num.put >=20 > =23 NOTE (S2) (5 lines): > =23 TEXT: executing =22locale -a > /tmp/tmpfile-st2gNr=22 > =23 CLAUSE: lib.locale.num.put > =23 FILE: process.cpp > =23 LINE: 274 >=20 > =23 INFO (S1) (3 lines): > =23 TEXT: testing std::num_put with 1 thread, 200000 iterations > each, in lo > cales =7B =22aa_DJ=22 =22aa_DJ.iso88591=22 =22aa_DJ.utf8=22 =22aa_ER=22 = =22aa_ER=40saaho=22 > =22aa_ER.utf8=22 > =22aa_ER.utf8=40saaho=22 =22aa_ET=22 =22aa_ET.utf8=22 =22af_ZA=22 = =22af_ZA.iso88591=22 > =22af_ZA.utf8=22 =22 > am_ET=22 =22am_ET.utf8=22 =22an_ES=22 =22an_ES.iso885915=22 = =22an_ES.utf8=22 =22ar_AE=22 > =22ar_AE.iso885 > 96=22 =22ar_AE.utf8=22 =22ar_BH=22 =22ar_BH.iso88596=22 =22ar_BH.utf8=22 = =22ar_DZ=22 > =22ar_DZ.iso88596=22 > =22ar_DZ.utf8=22 =22ar_EG=22 =22ar_EG.iso88596=22 =22ar_EG.utf8=22 = =22ar_IN=22 =22ar_IN.utf8=22 > =22ar_IQ=22 > =7D > =23 CLAUSE: lib.locale.num.put >=20 > =23 INFO (S1) (3 lines): > =23 TEXT: exercising std::num_put > =23 CLAUSE: lib.locale.num.put >=20 > =5BNew Thread 1084229952 (LWP 32194)=5D >=20 > Program received signal SIGSEGV, Segmentation fault. > =5BSwitching to Thread 1084229952 (LWP 32194)=5D > 0x00002aaaaaafb027 in std::locale::locale () > from /home/mbrown/stdcxx-gcc-4.1.1-12D/lib/libstd12D.so > (gdb) where > =230 0x00002aaaaaafb027 in std::locale::locale () > from /home/mbrown/stdcxx-gcc-4.1.1-12D/lib/libstd12D.so > =231 0x0000000000403eea in thread_func () > =232 0x00000039fae06305 in start_thread () from /lib64/libpthread.so.0 > =233 0x00000039f82cd50d in clone () from /lib64/libc.so.6 > =234 0x0000000000000000 in ?? () >=20 >=20 > -- Mark >=20 >=20 >> -----Original Message----- >> From: sebor=40roguewave.com >> Sent: Mon, 18 Jun 2007 21:20:27 -0600 >> To: stdcxx-dev=40incubator.apache.org >> Subject: status of thread safety tests >>=20 >> I've been working on a document listing the thread safety tests >> in stdcxx/trunk and their current status: >>=20 >> http://people.apache.org/=7Esebor/thread_safety_tests.html >>=20 >> The goal is to have a full understanding of all the problems >> and address them (or at least the most important ones) in the >> final 4.2.0 release. >>=20 >> The document is still a work in progress, as is the test suite. >> Not all tests have been migrated from the Rogue Wave test suite >> in Perforce over to ASF Subversion. For those tests the links >> that point to the Perforce source repository won't work. ____________________________________________________________ PREVENT ACCESSING DANGEROUS WEBSITES - Protect your computer with Free Web = Security Guard=21=20 More information at http://www.inbox.com/wsg