Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: hg tip
-
Fix Version/s: None
-
Component/s: Compiler: Baseline
-
Labels:None
-
Number of attachments :
Description
I mentioned this bug in the mailing list a while ago. http://www.nabble.com/Re%3A--rvm-research--Reflection-related-errors-p22014221.html I have two programs (complex) that run into this bug. I don't know how to narrow this down into a simple test. I will try to provide as much information as possible.
The two programs are CrossFTP server (I can provide my setup if you want to run this) and Eclipse IDE (Invoke it as ./eclipse -vm /path/to/rvm). Both crashes have something to do with reflection, though it might be just a coincidence. I am attaching the complete stack trace output, and also showing a partial stack trace output here.
CrossFTP stack trace:
at Lorg/jikesrvm/VM; _assert(Z)V at line 575
at Lorg/jikesrvm/classloader/RVMMember; getOffset()Lorg/vmmagic/unboxed/Offset; at line 201
at Lorg/jikesrvm/compilers/baseline/ia32/BaselineCompilerImpl; emit_resolved_invokevirtual(Lorg/jikesrvm/classloader/MethodReference;)V at line 3015
at Lorg/jikesrvm/compilers/baseline/TemplateCompilerFramework; genCode()Lorg/jikesrvm/ArchitectureSpecific$MachineCode; at line 1478
at Lorg/jikesrvm/compilers/baseline/BaselineCompiler; compile()V at line 253
...
at Lorg/jikesrvm/classloader/RVMMethod; compile()V at line 728
at Lorg/jikesrvm/runtime/DynamicLinker$DL_Helper; compileMethod(Lorg/jikesrvm/runtime/DynamicLink;Lorg/jikesrvm/classloader/RVMMethod;)V at line 149
at Lorg/jikesrvm/runtime/DynamicLinker; lazyMethodInvoker()V at line 45
at Lorg/jikesrvm/runtime/ReflectionBase; invoke(Lorg/jikesrvm/classloader/RVMMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; at line 182
at Lorg/jikesrvm/runtime/Reflection; invoke(Lorg/jikesrvm/classloader/RVMMethod;Lorg/jikesrvm/runtime/ReflectionBase;Ljava/lang/Object;[Ljava/lang/Object;Z)Ljava/lang/Object; at line 75
...
Eclipse stack trace
at Lorg/jikesrvm/VM; _assert(Z)V at line 575
at Lorg/jikesrvm/classloader/RVMMember; getOffset()Lorg/vmmagic/unboxed/Offset; at line 201
at Lorg/jikesrvm/classloader/TableBasedDynamicLinker; resolveMember(Lorg/jikesrvm/classloader/MemberReference;)I at line 77
at Lorg/jikesrvm/classloader/TableBasedDynamicLinker; resolveMember(I)I at line 65
at Lorg/jikesrvm/classloader/ReflectionBase$$Reflect108382; invokeInternal(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
at Lorg/jikesrvm/runtime/ReflectionBase; invoke(Lorg/jikesrvm/classloader/RVMMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; at line 182
at Lorg/jikesrvm/runtime/Reflection; invoke(Lorg/jikesrvm/classloader/RVMMethod;Lorg/jikesrvm/runtime/ReflectionBase;Ljava/lang/Object;[Ljava/lang/Object;Z)Ljava/lang/Object; at line 75
...
These sound like replications of
MRP-1[1], possible other reflection issues inMRP-2and MRP-3 (NB. these bugs affect both bytecode and out-of-line reflection).http://jira.codehaus.org/browse/MRP-1