Re: [rvm-research] [rvm-core] Regarding Exception thrown in RefCount Implementation.
Hari Krishnan <[email protected]>
| Newsgroups | gmane.comp.java.jikes.rvm.devel |
|---|---|
| Message-ID | <CAMJ8-RpSemkrD0sMqoxGYg5AvZedV1z4-VW+Fg0kHLsQN7wZUw@mail.gmail.com> |
Hi, Thank you for your reply. I cannot figure out why this error pops up. I am attaching the patch here that reproduced that error. The error that produced is following: Exception in thread "MainThread": JikesRVM: internal error: recursive use of hardware exception registers (exiting) -- Stack -- (0x67507c6c 1132) at [0x67507c6c, 0x5b308f54] Ljava/nio/charset/Charset; provider()Ljava/nio/charset/spi/CharsetProvider; at line 247 (0x67507c90 1130) at [0x67507c90, 0x5b3090fc] Ljava/nio/charset/Charset; charsetForName(Ljava/lang/String;)Ljava/nio/charset/Charset; at line 208 (0x67507cb0 1129) at [0x67507cb0, 0x5b0274ef] Ljava/nio/charset/Charset; forName(Ljava/lang/String;)Ljava/nio/charset/Charset; at line 188 (0x67507cdc 1396) at [0x67507cdc, 0x5b089ebf] Ljava/lang/String; getBytes(Ljava/lang/String;)[B at line 733 (0x67507d0c 11899) at [0x67507d0c, 0x5b08a174] Ljava/io/PrintStream; writeChars(Ljava/lang/String;II)V at line 342 (0x67507d3c 11896) at [0x67507d3c, 0x5b089b26] Ljava/io/PrintStream; print(Ljava/lang/String;Z)V at line 295 (0x67507d64 11906) at [0x67507d64, 0x5b0c04c3] Ljava/io/PrintStream; print(Ljava/lang/String;)V at line 422 (0x67507d88 156) at [0x67507d88, 0x5b0c052c] Ljava/lang/Throwable; printStackTrace(Ljava/io/PrintStream;)V at line 363 (0x67507da8 155) at [0x67507da8, 0x5b1d8686] Ljava/lang/Throwable; printStackTrace()V at line 352 (0x67507dc8 13080) at [0x67507dc8, 0x5b339a47] Lorg/jikesrvm/scheduler/RVMThread; handleUncaughtException(Ljava/lang/Throwable;)V at line 4723 (0x67507de8 8645) at [0x67507de8, 0x5b339ce0] Lorg/jikesrvm/runtime/RuntimeEntrypoints; handleUncaughtException(Ljava/lang/Throwable;)V at line 1071 (0x67507e34 8644) at [0x67507e34, 0x5b33ab25] Lorg/jikesrvm/runtime/RuntimeEntrypoints; deliverException(Ljava/lang/Throwable;Lorg/jikesrvm/ArchitectureSpecific$Registers;)V at line 1066 (0x67507e74 8632) at [0x67507e74, 0x5b2c7f0c] Lorg/jikesrvm/runtime/RuntimeEntrypoints; deliverHardwareException(II)V at line 796 (0x67507e90 1) at [0x67507e90, 0x5b2c7f0c] <hardware trap> (0x6753af70 4857) at [0x6753af70, 0x5b2cd788] Ljava/security/VMAccessController; popContext()V at line 135 (0x6753af90 4436) at [0x6753af90, 0x5b1dceb9] Ljava/security/AccessController; doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; at line 100 (0x6753afb0 13031) at [0x6753afb0, 0x5b1dd152] Lorg/jikesrvm/scheduler/RVMThread; callSystemExit(I)V at line 2786 (0x6753afdc 13030) at [0x6753afdc, 0x5b33152f] Lorg/jikesrvm/scheduler/RVMThread; terminate()V at line 2754 (0x6753affc 13115) at [0x6753affc, 0x08050376] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2631 In thread 7 getInstructionOffset: ip is not within compiled code for method: 0x00000000 supposed method is Lgnu/classpath/SystemProperties;.getProperty (Ljava/lang/String;)Ljava/lang/String; code for this method starts at 0x5b26e980 and has last valid return address of 0x5b26e9dc The requested instruction address was 0x00000000 JikesRVM: internal error: recursive use of hardware exception registers (exiting) On Wed, Dec 18, 2013 at 5:51 PM, Robin Garner <[email protected]>wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hari, > > Could you attach a patch containing the smallest change that > reproduces this error ? Perhaps then someone can help. > > cheers, > Robin > > On 18/12/13 16:08, Hari Krishnan wrote: > > Hi > > > > I have allocated a Header word along with 8 header bits in the > > reference count garbage collector implementation. I didn't use that > > header word allocated except it is allocated for each object. But > > when I run the implementation I end up with exceptions. It would be > > great help if someone summarizes the reason for this exception. > > Exception in thread "MainThread": JikesRVM: internal error: > > recursive use of hardware exception registers (exiting) > > > > -- Stack -- (0x67507c6c 1132) at [0x67507c6c, 0x5b308f54] > > Ljava/nio/charset/Charset; > > provider()Ljava/nio/charset/spi/CharsetProvider; at line 247 > > (0x67507c90 1130) at [0x67507c90, 0x5b3090fc] > > Ljava/nio/charset/Charset; > > charsetForName(Ljava/lang/String;)Ljava/nio/charset/Charset; at > > line 208 (0x67507cb0 1129) at [0x67507cb0, 0x5b0274ef] > > Ljava/nio/charset/Charset; > > forName(Ljava/lang/String;)Ljava/nio/charset/Charset; at line 188 > > (0x67507cdc 1396) at [0x67507cdc, 0x5b089ebf] Ljava/lang/String; > > getBytes(Ljava/lang/String;)[B at line 733 (0x67507d0c 11899) at > > [0x67507d0c, 0x5b08a174] Ljava/io/PrintStream; > > writeChars(Ljava/lang/String;II)V at line 342 (0x67507d3c 11896) > > at [0x67507d3c, 0x5b089b26] Ljava/io/PrintStream; > > print(Ljava/lang/String;Z)V at line 295 (0x67507d64 11906) at > > [0x67507d64, 0x5b0c04c3] Ljava/io/PrintStream; > > print(Ljava/lang/String;)V at line 422 (0x67507d88 156) at > > [0x67507d88, 0x5b0c052c] Ljava/lang/Throwable; > > printStackTrace(Ljava/io/PrintStream;)V at line 363 (0x67507da8 > > 155) at [0x67507da8, 0x5b1d8686] Ljava/lang/Throwable; > > printStackTrace()V at line 352 (0x67507dc8 13080) at [0x67507dc8, > > 0x5b339a47] Lorg/jikesrvm/scheduler/RVMThread; > > handleUncaughtException(Ljava/lang/Throwable;)V at line 4723 > > (0x67507de8 8645) at [0x67507de8, 0x5b339ce0] > > Lorg/jikesrvm/runtime/RuntimeEntrypoints; > > handleUncaughtException(Ljava/lang/Throwable;)V at line 1071 > > (0x67507e34 8644) at [0x67507e34, 0x5b33ab25] > > Lorg/jikesrvm/runtime/RuntimeEntrypoints; > > > deliverException(Ljava/lang/Throwable;Lorg/jikesrvm/ArchitectureSpecific$Registers;)V > > > > > at line 1066 > > (0x67507e74 8632) at [0x67507e74, 0x5b2c7f0c] > > Lorg/jikesrvm/runtime/RuntimeEntrypoints; > > deliverHardwareException(II)V at line 796 (0x67507e90 1) at > > [0x67507e90, 0x5b2c7f0c] <hardware trap> (0x6753af70 4857) at > > [0x6753af70, 0x5b2cd788] Ljava/security/VMAccessController; > > popContext()V at line 135 (0x6753af90 4436) at [0x6753af90, > > 0x5b1dceb9] Ljava/security/AccessController; > > doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; at > > line 100 (0x6753afb0 13031) at [0x6753afb0, 0x5b1dd152] > > Lorg/jikesrvm/scheduler/RVMThread; callSystemExit(I)V at line 2786 > > (0x6753afdc 13030) at [0x6753afdc, 0x5b33152f] > > Lorg/jikesrvm/scheduler/RVMThread; terminate()V at line 2754 > > (0x6753affc 13115) at [0x6753affc, 0x08050376] > > Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2631 > > > > In thread 7 getInstructionOffset: ip is not within compiled code > > for method: 0x00000000 supposed method is > > Lgnu/classpath/SystemProperties;.getProperty > > (Ljava/lang/String;)Ljava/lang/String; code for this method starts > > at 0x5b26e980 and has last valid return address of 0x5b26e9dc The > > requested instruction address was 0x00000000 JikesRVM: internal > > error: recursive use of hardware exception registers (exiting) > > > > > > Cheers Hari Krishnan > > > > > > > ------------------------------------------------------------------------------ > > > > > Rapidly troubleshoot problems before they affect your business. Most IT > > organizations don't have a clear picture of how application > > performance affects their revenue. With AppDynamics, you get 100% > > visibility into your Java,.NET, & PHP application. Start your > > 15-day FREE TRIAL of AppDynamics Pro! > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > > > > > > > > > > _______________________________________________ Jikesrvm-core > > mailing list [email protected] > > https://lists.sourceforge.net/lists/listinfo/jikesrvm-core > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQEcBAEBAgAGBQJSsjTzAAoJEHm9xBvoMhvacMsH/jEOcKgc2YX6+2TcpYhOEgVd > CwrselrqtFIXwg6uqzqx4lnJfrQfGSIO/SgFwq47UzX0qqOTgxB6fHGX8zqbtbUB > wg63asIW2U5HHkRbC1HDsZepss32WhZ2v8KKxJZXeVc5MHgySDM4Xrc+DjynnUXh > piFfzcl3eQdDa/OuGsTtuf5moYLv3O8bBsnZiz3gMsyzdiW1hGEv5wMsJIrz34Rp > W7fVzqgPFFsbyxINhUvyoxnBVZIK4iOq2RUswJU+ljtv0a1tpEsqoQptKa+Y4Gh/ > OJwiFt5JBCRhdZmiXPTe9kD9c1yw18hKb12X3jI/tuj8x1TfpFUN7WxKoNERjKc= > =ARgd > -----END PGP SIGNATURE----- > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics > Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Jikesrvm-researchers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers > ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Jikesrvm-researchers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers
RCHeader.java.patch
(text/x-patch, 645 B)
Index: MMTk/src/org/mmtk/plan/refcount/RCHeader.java
===================================================================
--- MMTk/src/org/mmtk/plan/refcount/RCHeader.java (revision 3)
+++ MMTk/src/org/mmtk/plan/refcount/RCHeader.java (working copy)
@@ -25,7 +25,7 @@
/* Requirements */
public static final int LOCAL_GC_BITS_REQUIRED = 0;
public static final int GLOBAL_GC_BITS_REQUIRED = 8;
- public static final int GC_HEADER_WORDS_REQUIRED = 0;
+ public static final int GC_HEADER_WORDS_REQUIRED = 2;
/****************************************************************************
* Object Logging (applies to *all* objects)