From: David G. (JIRA) <ji...@co...> - 2009-04-23 18:56:48
|
[ http://jira.codehaus.org/browse/RVM-701?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Grove reassigned RVM-701: ------------------------------- Assignee: David Grove > Edge Counter and Dynamic Call Graph output after run fails > ---------------------------------------------------------- > > Key: RVM-701 > URL: http://jira.codehaus.org/browse/RVM-701 > Project: RVM > Issue Type: Bug > Affects Versions: 3.0.1 > Environment: Ubuntu 8.10, ia-32 and some Debian machine > Reporter: Jan Sinschek > Assignee: David Grove > Fix For: 3.1.0 > > Attachments: .ant.properties, trivialType.class > > > The VM crashes when trying to output its edge counters or dynamic call graph: using -X:aos:final_report_level=2 with a build that includes the AOS or -X:base:edge_counter=true when there is none, an error will occur after the target program has terminated and the values should be shown. I show the output below. The problem might be related to that described here [http://article.gmane.org/gmane.comp.java.jikes.rvm.devel/5919], though the proposed fix does not work. It might also be related to this issue: [http://www.nabble.com/Re%3A--rvm-research--ThreadLocalMap.get()-throws-NPE-during-shutdown-exit-to17351797.html#a17351797]. > Exception in thread "MainThread": java.lang.NullPointerException > at .<invisible method>(Unknown Source:0) > at java.lang.VMThrowable.fillInStackTrace(VMThrowable.java:49) > at java.lang.Throwable.fillInStackTrace(Throwable.java:498) > at java.lang.Throwable.<init>(Throwable.java:159) > at java.lang.Throwable.<init>(Throwable.java:147) > at java.lang.Exception.<init>(Exception.java:66) > at java.lang.RuntimeException.<init>(RuntimeException.java:64) > at java.lang.NullPointerException.<init>(NullPointerException.java:69) > at org.jikesrvm.runtime.RuntimeEntrypoints.deliverHardwareException(RuntimeEntrypoints.java:693) > at .<hardware trap>(Unknown Source:0) > at java.lang.ThreadLocalMap.get(ThreadLocalMap.java:212) > at java.lang.ThreadLocal.get(ThreadLocal.java:146) > at gnu.java.nio.VMChannel$LocalByteArray.get(VMChannel.java:187) > at gnu.java.nio.VMChannel.write(VMChannel.java:401) > at gnu.java.nio.VMChannel.write(VMChannel.java:413) > at gnu.java.nio.VMChannel.write(VMChannel.java:425) > at gnu.java.nio.FileChannelImpl.write(FileChannelImpl.java:261) > at java.io.FileOutputStream.write(FileOutputStream.java:283) > at java.io.PrintStream.writeChars(PrintStream.java:343) > at java.io.PrintStream.print(PrintStream.java:295) > at java.io.PrintStream.println(PrintStream.java:547) > at org.jikesrvm.compilers.baseline.BranchProfiles.print(BranchProfiles.java:57) > at org.jikesrvm.compilers.baseline.EdgeCounts.dumpCounts(EdgeCounts.java:121) > at org.jikesrvm.compilers.baseline.EdgeCounts.dumpCounts(EdgeCounts.java:101) > at org.jikesrvm.adaptive.controller.Controller.report(Controller.java:256) > at org.jikesrvm.adaptive.controller.Controller.notifyExit(Controller.java:192) > at org.jikesrvm.Callbacks.notifyExit(Callbacks.java:800) > at org.jikesrvm.VM.sysExit(VM.java:2200) > at java.lang.VMRuntime.exit(VMRuntime.java:79) > at java.lang.Runtime.halt(Runtime.java:399) > at java.lang.Runtime.exit(Runtime.java:174) > at java.lang.System.exit(System.java:577) > JikesRVM: internal error: recursive use of hardware exception registers (exiting) > -- Stack -- > at Ljava/lang/JikesRVMSupport; threadDied(Ljava/lang/Thread;)V at line 112 > at Lorg/jikesrvm/scheduler/RVMThread; terminate()V at line 707 > at Lorg/jikesrvm/scheduler/RVMThread; handleUncaughtException(Ljava/lang/Throwable;)V at line 1905 > at Lorg/jikesrvm/runtime/RuntimeEntrypoints; handleUncaughtException(Ljava/lang/Throwable;)V at line 978 > at Lorg/jikesrvm/runtime/RuntimeEntrypoints; deliverException(Ljava/lang/Throwable;Lorg/jikesrvm/ArchitectureSpecific$Registers;)V at line 973 > at Lorg/jikesrvm/runtime/RuntimeEntrypoints; athrow(Ljava/lang/Throwable;)V at line 595 > at Lorg/jikesrvm/Callbacks; notifyExit(I)V at line 802 > at Lorg/jikesrvm/VM; sysExit(I)V at line 2200 > at Ljava/lang/VMRuntime; exit(I)V at line 79 > at Ljava/lang/Runtime; halt(I)V at line 399 > at Ljava/lang/Runtime; exit(I)V at line 174 > at Ljava/lang/System; exit(I)V at line 577 > at Lorg/jikesrvm/scheduler/RVMThread; terminate()V at line 783 > at Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 651 > ******************************************************************************** > * Abnormal termination of Jikes RVM * > * Jikes RVM terminated abnormally indicating a problem in the virtual machine. * > * Jikes RVM relies on community support to get debug information. Help improve * > * Jikes RVM for everybody by reporting this error. Please see: * > * http://jikesrvm.org/Reporting+Bugs * > ******************************************************************************** > Proc 1: Thread 11: VM.sysExit(): We're in an (unambiguously) recursive call to VM.sysExit(), 2 deep -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |