Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.0.1, hg tip
-
Fix Version/s: 3.1.0
-
Component/s: Runtime: Class Library
-
Labels:None
-
Environment:Intel IA32, Linux 2.6.27, Ubuntu 8.10
-
Testcase included:yes
-
Patch Submitted:Yes
-
Number of attachments :
Description
It appears that Jikes RVM has a bug in the implementation of its reflection.
For the detail, look at the patch and the test case: reflection.patch and
Reflection.java. Try the following.
1. To see the bug, try the following three command lines.
$javac ReflectionTest.java
$java -showversion ReflectionTest
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)
newInstance: pass
invokeVirtual: pass
invokeStatic: pass
$rvm ReflectionTest
...
newInstance: pass
invokeVirtual: fail
unexpected cause of the Invocation target exception:
java.lang.reflect.InvocationTargetException
...
invokeStatic: fail
unexpected cause of the Invocation target exception:
2. To correct the bug, try the following.
- Apply the patch: reflection.patch
- Build Jikes RVM
- Run it
$rvm ReflectionTest
newInstance: pass
invokeVirtual: pass
invokeStatic: pass
Activity
| Field | Original Value | New Value |
|---|---|---|
| Attachment | ReflectionTest.java [ 41347 ] | |
| Attachment | reflection.patch [ 41346 ] |
| Attachment | reflection.patch [ 41341 ] |
| Attachment | ReflectionTest.java [ 41340 ] |
| Priority | Major [ 3 ] | Critical [ 2 ] |
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
| Resolution | Fixed [ 1 ] | |
| Assignee | David Grove [ dgrove ] |
| Status | Reopened [ 4 ] | Closed [ 6 ] |
| Resolution | Fixed [ 1 ] |
Also tracked with a better break down of the actual problem in MRP: http://jira.codehaus.org/browse/MRP-3