From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 449 invoked by alias); 22 Mar 2007 17:26:33 -0000 Received: (qmail 435 invoked by uid 22791); 22 Mar 2007 17:26:30 -0000 X-Spam-Check-By: sourceware.org Received: from slogw.pt.com (HELO slogw.pt.com) (206.169.14.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 22 Mar 2007 17:26:26 +0000 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Lots of SIGFPE and SIGSEGV found while debugging Sun hotspot vm on AMD64 machine Date: Thu, 22 Mar 2007 17:26:00 -0000 Message-ID: <0F6E41788631664DBE8DF13D06298FE1942E@sloexchange01.corp.pt.com> From: "Jude Moersdorf" To: "Neo" , "gdb" X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-03/txt/msg00280.txt.bz2 Neo, I'm not sure if this helps you or not. When the AMD64 is run in 64-bit mod= e, there is no vm86 support. Does it work for you when you run the AMD64 i= n 32-bit mode? Cheers, M=F6rsdorf -----Original Message----- From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf = Of Neo Sent: Thursday, March 22, 2007 11:07 AM To: gdb Subject: Lots of SIGFPE and SIGSEGV found while debugging Sun hotspot vm on= AMD64 machine hi, Everything is fine when I am using gdb to debug Sun hotspot VM on IA32=20 machine. But something wired happens on AMD64 machine. Since the code=20 executed on VM is dynamically generated I cannot get any information=20 from the "bt" command. Is there any other approach to debug? Without=20 attaching gdb, there is no error. I am using the latest version gdb from=20 CVS. > java_g -Xloggc:gc.log -XX:+Verbose -classpath=20 ./jbb.jar:./jbb_no_precompile.jar:./check.jar:./reporter.jar:/home/cjia/jdk= 1.5.0_05/lib/dt.jar:/home/cjia/jdk1.5.0_05/lib/tools.jar=20 spec.jbb.JBBmain -propfile SPECjbb.props VM option '+Verbose' [SafePoint Polling address: 0x0000002a96465000] Checking JVM 1st bounds test: OK Super: Class Super, public=3D34, protected=3D33, private=3D32 Sub: Class Super, public=3D804, protected=3D803, private=3D802 Super: prot=3D33, priv=3D32 Sub: prot=3D111, priv=3D105 Subclass test OK 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 1 1 2 3 5 8 666 666 13 13 21 21 2nd bounds test: OK testIf: OK testArray: OK testBitOps: OK testFor: OK testDiv: OK testTableSwitch: OK testLookupSwitch: OK testHiddenField: OK checkRemainders: long double OK checkMathFcts: OK Primes less than 50: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 testExc1(simple throw/catch): OK testExc2(skip catch clauses): OK testExc3(catch in inner): OK testExc4(catch in outer): OK testExc5(rethrow): OK testExc6(throw accross call): OK testExc7(throw accr. 2 calls): OK loopExitContinueInExceptionHandler: OK testStringHash: OK testClone: OK testObjectArray: OK checkInstanceOf: OK checkInterfaceInstanceOf: OK testWaitNull: OK testVarAndMethodNameClash: OK testMisk: OK testGC: OK PepTest: OK JVM Check OK Constructing the company now Hang....on Loading Warehouse 1... Loading properties from SPECjbb.props The results will be in: results/SPECjbb.038.raw Opened results/SPECjbb.038.results Opened results/SPECjbb.038.raw Licensed Materials - Property of SPEC SPECjbb2000 Copyright (c) 2000 Standard Performance Evaluation Corporation=20 (SPEC),All rights reserved,(C) Copyright IBM Corp., 1996 - 2000All=20 rights reserved, This source code is provided as is, without any express or implied warranty. TPC Fair Use policy: SPECjbb2000 is not a TPC Benchmark. SPECjbb2000 results are not=20 comparable with any TPC Benchmark results. The workload used by SPECjbb2000 is inspired by the TPC-C specification, TPC Benchmark C , Standard Specification, Revision 3.2, August 27 1996. TPC Benchmark is a trademark of the=20 Transaction Processing Performance Council. Benchmark SPECjbb2000 1.02 now Opening Input Properties: ramp_up_seconds =3D 30 measurement_seconds =3D 120 forcegc =3D false starting_number_warehouses =3D 1 increment_number_warehouses =3D 1 ending_number_warehouses =3D 1 jar validity is true Checking whether run will be valid Run will be COMPLIANT Constructing the company now Hang....on +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++= +++++ Loading Warehouse 1... Start Terminals started terminals for Warehouse 1 Terminal Rampup began Thu Mar 22 10:58:38 CST 2007 for 0.5 minutes Benchmark SPECjbb2000 1.01: warehouse 1 terminal 1 [cjia@neoworld /home/cjia/research/benchmark/jbb2000]$ > /opt/gdb-cvs/bin/gdb --args java_g -classpath=20 ./jbb.jar:./jbb_no_precompile.jar:./check.jar:./reporter.jar:/home/cjia/jdk= 1.5.0_05/lib/dt.jar:/home/cjia/jdk1.5.0_05/lib/tools.jar=20 spec.jbb.JBBmain -propfile SPECjbb.props GNU gdb 6.6.50.20070322-cvs Copyright (C) 2007 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=20 conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu"... Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) r Starting program:=20 /home/cjia/research/jdk/jdk5-dynamic_gc.svn/control/build/linux-amd64/bin/j= ava_g=20 -classpath=20 ./jbb.jar:./jbb_no_precompile.jar:./check.jar:./reporter.jar:/home/cjia/jdk= 1.5.0_05/lib/dt.jar:/home/cjia/jdk1.5.0_05/lib/tools.jar=20 spec.jbb.JBBmain -propfile SPECjbb.props [Thread debugging using libthread_db enabled] [New Thread 182894205312 (LWP 16629)] [New process 16629] Checking JVM 1st bounds test: OK Super: Class Super, public=3D34, protected=3D33, private=3D32 Sub: Class Super, public=3D804, protected=3D803, private=3D802 Super: prot=3D33, priv=3D32 Sub: prot=3D111, priv=3D105 Subclass test OK 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 1 1 2 3 5 8 666 666 13 13 21 21 2nd bounds test: OK testIf: OK testArray: OK testBitOps: OK testFor: OK testDiv: [New LWP 16629] Program received signal SIGFPE, Arithmetic exception. 0x0000002a96ec93e8 in ?? () (gdb) c Continuing. OK testTableSwitch: OK testLookupSwitch: OK testHiddenField: OK checkRemainders: long double OK checkMathFcts: OK Primes less than 50: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 testExc1(simple throw/catch): OK testExc2(skip catch clauses): OK testExc3(catch in inner): OK testExc4(catch in outer): OK testExc5(rethrow): OK testExc6(throw accross call): OK testExc7(throw accr. 2 calls): OK loopExitContinueInExceptionHandler: OK testStringHash: OK testClone:=20=20=20=20=20=20 Program received signal SIGSEGV, Segmentation fault. 0x0000002a96ed5bbb in ?? () (gdb) c Continuing. OK testObjectArray: OK checkInstanceOf: OK checkInterfaceInstanceOf: OK testWaitNull: OK testVarAndMethodNameClash: OK testMisk: OK testGC: OK PepTest: OK JVM Check OK cConstructing the company now Hang....on Loading Warehouse 1... Program received signal SIGSEGV, Segmentation fault. 0x0000002a96ff7685 in ?? () (gdb) bt #0 0x0000002a96ff7685 in ?? () #1 0x0000002af1f6ebc8 in ?? () #2 0x0000007fbfffc948 in ?? () #3 0x0000002ad836e461 in ?? () #4 0x0000007fbfffc960 in ?? () #5 0x0000007fbfffc880 in ?? () #6 0x0000002ad7ebb140 in ?? () #7 0x0000007fbfffc8e0 in ?? () #8 0x0000002ad7f50160 in ?? () #9 0x0000002ad8364db8 in ?? () #10 0x0000002ad7ebb160 in ?? () #11 0x0000007fbfffc8d8 in ?? () #12 0x0000002a96fe1402 in ?? () #13 0x0000007fbfffc948 in ?? () #14 0x0000002af1f6ec20 in ?? () #15 0x000000000000000c in ?? () #16 0x0000007fbfffc8e0 in ?? () #17 0x0000002a96eade53 in ?? () #18 0x0000002af1f6ebc8 in ?? () #19 0x0000002af1f6e7a8 in ?? () #20 0x0000002af1f6e7a8 in ?? () #21 0x0000000000000001 in ?? () #22 0x0000002af1f6e7a8 in ?? () #23 0x0000007fbfffc900 in ?? () #24 0x0000002ad836e461 in ?? () #25 0x0000007fbfffc960 in ?? () #26 0x0000002ad8375ee0 in ?? () #27 0x0000000000000000 in ?? () (gdb) c Continuing. Loading properties from SPECjbb.props The results will be in: results/SPECjbb.039.raw Opened results/SPECjbb.039.results Opened results/SPECjbb.039.raw Licensed Materials - Property of SPEC SPECjbb2000 Copyright (c) 2000 Standard Performance Evaluation Corporation=20 (SPEC),All rights reserved,(C) Copyright IBM Corp., 1996 - 2000All=20 rights reserved, This source code is provided as is, without any express or implied warranty. TPC Fair Use policy: SPECjbb2000 is not a TPC Benchmark. SPECjbb2000 results are not=20 comparable with any TPC Benchmark results. The workload used by SPECjbb2000 is inspired by the TPC-C specification, TPC Benchmark C , Standard Specification, Revision 3.2, August 27 1996. TPC Benchmark is a trademark of the=20 Transaction Processing Performance Council. Benchmark SPECjbb2000 1.02 now Opening Program received signal SIGSEGV, Segmentation fault. 0x0000002a96ed5b96 in ?? () (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x0000002a96ed5b96 in ?? () (gdb) bt #0 0x0000002a96ed5b96 in ?? () #1 0x0000002a96eade53 in ?? () #2 0x0000000000000000 in ?? () Thanks, Neo --=20 I would remember that if researchers were not ambitious probably today we haven't the technology we are using!