This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix oddity in personality routine


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]