From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14321 invoked by alias); 1 Dec 2009 05:02:10 -0000 Received: (qmail 13062 invoked by uid 22791); 1 Dec 2009 05:02:06 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,WEIRD_PORT X-Spam-Check-By: sourceware.org Received: from bromo.med.uc.edu (HELO bromo.med.uc.edu) (129.137.3.146) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Tue, 01 Dec 2009 05:02:00 +0000 Received: from bromo.med.uc.edu (localhost.localdomain [127.0.0.1]) by bromo.med.uc.edu (Postfix) with ESMTP id 38B39B0048; Tue, 1 Dec 2009 00:01:58 -0500 (EST) Received: (from howarth@localhost) by bromo.med.uc.edu (8.14.3/8.14.3/Submit) id nB151v68002050; Tue, 1 Dec 2009 00:01:57 -0500 Date: Tue, 01 Dec 2009 05:02:00 -0000 From: Jack Howarth To: Andrew Haley Cc: borlum , java@gcc.gnu.org Subject: Re: [patch] Fix oddity in personality routine Message-ID: <20091201050157.GA1933@bromo.med.uc.edu> References: <26540588.post@talk.nabble.com> <4B0FAC91.5030401@redhat.com> <20091127215118.GA6568@bromo.med.uc.edu> <4B10FECE.8010600@redhat.com> <20091129174835.GB13043@bromo.med.uc.edu> <4B12B6D9.5050008@redhat.com> <20091129184804.GA13502@bromo.med.uc.edu> <4B1399CD.9070401@redhat.com> <20091130160125.GA25831@bromo.med.uc.edu> <4B13EDB1.9090102@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B13EDB1.9090102@redhat.com> User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact java-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-owner@gcc.gnu.org X-SW-Source: 2009-12/txt/msg00000.txt.bz2 Andrew, I have uploaded a bz2 archive of the walk from the last _Unwind_RaiseException breakpoint before the crash up to the crash to PR41991. The crash appears at... _Jv_GetMethodLocal (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1633 1633 && _Jv_equalUtf8Consts (signature, klass->methods[i].signature)) (gdb) _Jv_equalUtf8Consts (a=0x104b1dfe0, b=0x1048262c0) at ../../../gcc-4.5-20091128/libjava/prims.cc:209 209 if (a == b) (gdb) 210 return true; (gdb) 209 if (a == b) (gdb) 211 if (a->hash != b->hash) (gdb) 212 return false; (gdb) 211 if (a->hash != b->hash) (gdb) 214 if (b->length != len) (gdb) 218 len = (len + 1) >> 1; (gdb) 216 aptr = (const _Jv_ushort *)a->data; (gdb) 217 bptr = (const _Jv_ushort *)b->data; (gdb) 218 len = (len + 1) >> 1; (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 220 if (*aptr++ != *bptr++) (gdb) 219 while (--len >= 0) (gdb) 222 return true; (gdb) 223 } (gdb) _Jv_GetMethodLocal (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1632 1632 if (_Jv_equalUtf8Consts (name, klass->methods[i].name) (gdb) 1634 return &klass->methods[i]; (gdb) 1637 } (gdb) _Jv_LookupDeclaredMethod (klass=0x104a298c0, name=0x104af13a0, signature=0x104b1dfe0, declarer_result=0x0) at ../../../gcc-4.5-20091128/libjava/java/lang/natClass.cc:1648 1648 if (meth) (gdb) 1650 if (declarer_result) (gdb) 1657 } (gdb) gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:41 41 if (meth == NULL) (gdb) 37 main_signature); (gdb) 41 if (meth == NULL) (gdb) 43 else if (! ::java::lang::reflect::Modifier::isStatic(meth->accflags)) (gdb) _ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268 268 return (mod & STATIC) != 0; (gdb) _ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268 268 return (mod & STATIC) != 0; (gdb) 0x0000000100994af0 in dyld_stub__Jv_InitClass () at RowSetEvent.java:51 51 RowSetEvent.java: No such file or directory. in RowSetEvent.java (gdb) _Jv_InitClass (klass=0x10168ce40) at Class.h:740 740 if (__builtin_expect (klass->state == JV_STATE_DONE, true)) (gdb) 743 } (gdb) 0x00000001004168bf in _ZN4java4lang7reflect8Modifier8isStaticEJbi (mod=9) at Modifier.java:268 268 return (mod & STATIC) != 0; (gdb) gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:44 44 msg = "`main' must be static"; (gdb) 43 else if (! ::java::lang::reflect::Modifier::isStatic(meth->accflags)) (gdb) 45 else if (! ::java::lang::reflect::Modifier::isPublic(meth->accflags)) (gdb) _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258 258 return (mod & PUBLIC) != 0; (gdb) _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258 258 return (mod & PUBLIC) != 0; (gdb) 0x0000000100994af0 in dyld_stub__Jv_InitClass () at RowSetEvent.java:51 51 RowSetEvent.java: No such file or directory. in RowSetEvent.java (gdb) _Jv_InitClass (klass=0x10168ce40) at Class.h:740 740 if (__builtin_expect (klass->state == JV_STATE_DONE, true)) (gdb) 743 } (gdb) 0x00000001004168df in _ZN4java4lang7reflect8Modifier8isPublicEJbi (mod=9) at Modifier.java:258 258 return (mod & PUBLIC) != 0; (gdb) gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:46 46 msg = "`main' must be public"; (gdb) 45 else if (! ::java::lang::reflect::Modifier::isPublic(meth->accflags)) (gdb) 54 (*real_main) (args); (gdb) Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x0000000103f05db0 0x0000000103f05db0 in ?? () at RowSetEvent.java:51 51 RowSetEvent.java: No such file or directory. in RowSetEvent.java (gdb) A backtrace only shows... (gdb) bt #0 0x0000000103f05db0 in ?? () at RowSetEvent.java:51 #1 0x00000001000485be in gnu::java::lang::MainThread::call_main (this=0x104875dc0) at ../../../gcc-4.5-20091128/libjava/gnu/java/lang/natMainThread.cc:54 Previous frame inner to this frame (gdb could not unwind past this frame) Let me know if you have any suggestions for debugging this further. Jack