> Assertion failure in ExtremeAssertionsBaseBaseSemiSpace
> -------------------------------------------------------
>
> Key: RVM-834
> URL:
http://jira.codehaus.org/browse/RVM-834> Project: RVM
> Issue Type: Bug
> Components: Compiler: Baseline, MMTk: SemiSpace
> Affects Versions: svn head
> Environment: ia32-osx
> Reporter: Laurence Hellyer
> Assignee: Steve Blackburn
> Fix For: 3.1.1
>
> Attachments: RVM-834.patch, statementOfContribution.txt
>
>
> ExtremeAssertionsBaseBaseSemiSpace fails with the following stack trace when running any benchmark
> [16:29:23] ki:~/Software/benchmarks/jvm98$ ../../MirrorGC/src/myHead.git/dist/ExtremeAssertionsBaseBaseSemiSpace_ia32-osx/rvm SpecApplication _200_check
> GC modifying a potentially moving object via Java (i.e. not magic)
> obj = 0x42c5ab48
> type = Ljava/util/WeakHashMap$WeakBucket;
> Died in GC:
> GC modifying a potentially moving object via Java (i.e. not magic)
> Thread #2
> -- Stack --
> at [0x41c15d88, 0x3531b4cf] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2278
> at [0x41c15dac, 0x35057421] Lorg/jikesrvm/mm/mminterface/MemoryManager; modifyCheck(Ljava/lang/Object;)V at line 377
> at [0x41c15dd4, 0x35057365] Ljava/lang/ref/ReferenceQueue; enqueueImpl(Ljava/lang/ref/Reference;)Z at line 106
> at [0x41c15df8, 0x35056c10] Ljava/lang/ref/ReferenceQueue; enqueueInternal(Ljava/lang/ref/Reference;)Z at line 120
> at [0x41c15e18, 0x351d0379] Ljava/lang/ref/Reference; enqueueInternal()Z at line 123
> at [0x41c15e3c, 0x351d0311] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; enqueueReference(Lorg/vmmagic/unboxed/ObjectReference;)Z at line 345
> at [0x41c15e70, 0x351d096f] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; processReference(Lorg/mmtk/plan/TraceLocal;Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 489
> at [0x41c15eac, 0x35207bdb] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; scan(Lorg/mmtk/plan/TraceLocal;Z)V at line 307
> at [0x41c15ed8, 0x35208279] Lorg/mmtk/plan/SimpleCollector; collectionPhase(SZ)V at line 102
> at [0x41c15f04, 0x352d7074] Lorg/mmtk/plan/semispace/SSCollector; collectionPhase(SZ)V at line 152
> at [0x41c15f5c, 0x352d73ac] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 429
> at [0x41c15f7c, 0x35208314] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 351
> at [0x41c15f98, 0x3520be29] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39
> at [0x41c15fd8, 0x353227fa] Lorg/jikesrvm/mm/mminterface/CollectorThread; run()V at line 367
> at [0x41c15ff8, 0x00006c76] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2532
> Virtual machine state:
> -- Threads --
> 4-main-1-RUNNABLE
> 2-daemon-collector-1-RUNNABLE
> 3-daemon-5-RUNNABLE
> -- Locks in use --
> lock availability stats: 0 locks allocated, 0 locks freed, 0 free locks
> Dumping stack of active thread
> Dumping stack for Thread #2
> -- Stack --
> at [0x41c15d70, 0x35331781] Lorg/jikesrvm/scheduler/RVMThread; dumpVirtualMachine()V at line 5003
> at [0x41c15d88, 0x3531b4cf] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2280
> at [0x41c15dac, 0x35057421] Lorg/jikesrvm/mm/mminterface/MemoryManager; modifyCheck(Ljava/lang/Object;)V at line 377
> at [0x41c15dd4, 0x35057365] Ljava/lang/ref/ReferenceQueue; enqueueImpl(Ljava/lang/ref/Reference;)Z at line 106
> at [0x41c15df8, 0x35056c10] Ljava/lang/ref/ReferenceQueue; enqueueInternal(Ljava/lang/ref/Reference;)Z at line 120
> at [0x41c15e18, 0x351d0379] Ljava/lang/ref/Reference; enqueueInternal()Z at line 123
> at [0x41c15e3c, 0x351d0311] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; enqueueReference(Lorg/vmmagic/unboxed/ObjectReference;)Z at line 345
> at [0x41c15e70, 0x351d096f] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; processReference(Lorg/mmtk/plan/TraceLocal;Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 489
> at [0x41c15eac, 0x35207bdb] Lorg/jikesrvm/mm/mmtk/ReferenceProcessor; scan(Lorg/mmtk/plan/TraceLocal;Z)V at line 307
> at [0x41c15ed8, 0x35208279] Lorg/mmtk/plan/SimpleCollector; collectionPhase(SZ)V at line 102
> at [0x41c15f04, 0x352d7074] Lorg/mmtk/plan/semispace/SSCollector; collectionPhase(SZ)V at line 152
> at [0x41c15f5c, 0x352d73ac] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 429
> at [0x41c15f7c, 0x35208314] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 351
> at [0x41c15f98, 0x3520be29] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39
> at [0x41c15fd8, 0x353227fa] Lorg/jikesrvm/mm/mminterface/CollectorThread; run()V at line 367
> at [0x41c15ff8, 0x00006c76] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2532
> Attempting to dump the stack of all other live threads
> This is somewhat risky since if the thread is running we're going to be quite confused
> 4-main-1-RUNNABLE-- Stack --
> at [0x41ca0c38, 0x3520002c] Lorg/jikesrvm/scheduler/RVMThread; block(Lorg/jikesrvm/scheduler/RVMThread$BlockAdapter;Z)I at line 1974
> at [0x41ca0c60, 0x3520c5f0] Lorg/jikesrvm/scheduler/RVMThread; block(Lorg/jikesrvm/scheduler/RVMThread$BlockAdapter;)I at line 2070
> at [0x41ca0c84, 0x3520c55f] Lorg/jikesrvm/mm/mminterface/Handshake; waitForGCToFinish()V at line 74
> at [0x41ca0ca4, 0x3527a5f9] Lorg/jikesrvm/mm/mminterface/Handshake; requestAndAwaitCompletion(I)V at line 89
> at [0x41ca0cc8, 0x3526b38b] Lorg/jikesrvm/mm/mminterface/CollectorThread; collect(Lorg/jikesrvm/mm/mminterface/Handshake;I)V at line 248
> at [0x41ca0ce8, 0x3531b338] Lorg/jikesrvm/mm/mmtk/Collection; triggerCollectionStatic(I)V at line 125
> at [0x41ca0d00, 0x35241486] Lorg/jikesrvm/mm/mminterface/MemoryManager; gc()V at line 434
> at [0x41ca0d18, 0x352dec67] Ljava/lang/VMCommonLibrarySupport$GCLock; gc()V at line 82
> at [0x41ca0d30, 0x35284beb] Ljava/lang/VMCommonLibrarySupport; gc()V at line 93
> at [0x41ca0d44, 0x35228410] Ljava/lang/VMRuntime; gc()V at line 50
> at [0x41ca0d5c, 0x35285577] Ljava/lang/Runtime; gc()V at line 610
> at [0x41ca0d74, 0x41846936] Ljava/lang/System; gc()V at line 590
> at [0x41ca0dc0, 0x4183e446] Lspec/harness/ProgramRunner; runBenchmark2()Ljava/util/Properties; at line 268
> at [0x41ca0de0, 0x41831169] Lspec/harness/ProgramRunner; runBenchmark()V at line 238
> at [0x41ca0dfc, 0x4183f83a] Lspec/harness/ProgramRunner; run()V at line 206
> at [0x41ca0e48, 0x4183e1ce] Lspec/harness/RunProgram; run(Ljava/lang/String;ZLjava/util/Properties;Lspec/harness/BenchmarkDone;)V at line 60
> at [0x41ca0e74, 0x418372ae] LSpecApplication; runBenchmark(Ljava/lang/String;Z)V at line 255
> at [0x41ca0eac, 0x352da052] LSpecApplication; main([Ljava/lang/String;)V at line 171
> at [0x41ca0ec4, 0x3526c774] <invisible method>
> at [0x41ca0f38, 0x3526cbd8] Lorg/jikesrvm/runtime/Reflection; outOfLineInvoke(Lorg/jikesrvm/classloader/RVMMethod;Ljava/lang/Object;[Ljava/lang/Object;Z)Ljava/lang/Object; at line 194
> at [0x41ca0f70, 0x351bc5b2] 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 76
> at [0x41ca0fb0, 0x352a20d8] Lorg/jikesrvm/scheduler/MainThread; run()V at line 201
> at [0x41ca0fd8, 0x353227fa] Lorg/jikesrvm/scheduler/RVMThread; run()V at line 2488
> at [0x41ca0ff8, 0x00006c76] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2532
> 3-daemon-5-RUNNABLE-- Stack --
> at [0x41c59fd8, 0x353227fa] Lorg/jikesrvm/scheduler/FinalizerThread; run()V at line 75
> at [0x41c59ff8, 0x00006c76] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2532
> ********************************************************************************
> * 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 *
> ********************************************************************************
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.