Re: [rvm-research] Jikes Runtime Exception
Erik Brangs <[email protected]> Fri, 9 Mar 2018 10:52:57 +0100
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On 08.03.2018 21:55, Khaled Z Mahmoud wrote: > Any ideas on how to trace ? This kind of failure generally occurs when a hardware exception occurs at a place where the opt compiler doesn't expect it. You can see from the stack trace that the method is opt-compiled (because OptCompiledMethod is queried for uninterruptibility). The relevant line is the one before the hardware trap: > (0x6211d610 22614) at [0x6211d610, 0x64c12a26] Lorg/jikesrvm/scheduler/RVMThread; <init>([BLjava/lang/Thread;Ljava/lang/String;ZLorg/jikesrvm/scheduler/SystemThread;I)V at machine code offset 0x000007e4 One of the instructions in the machine code of the method around offset 0x000007e4 is failing with a hardware exception but the originating bytecode cannot throw such an exception at this place. IIRC the actual location should be in the range of +/- 1 instructions if it's not the exact one. You can try to debug this problem by looking at the generated machine code. The code could be printed out with the appropriate commandline options but for constructors you're probably better off modifying the compilers to print out the desired method regardless of options. For classes that are in the boot image, compilation will be trigged by the boot image writer, so you'd have to look at its output in the target directory of the appropriate image ( e.g. target/development_x86_64-linux/BootImageWriterOutput.txt ). Kind regards, Erik Brangs ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot