RVM
  1. RVM
  2. RVM-196

VM_Processor not assignable with VM_GreenScheduler

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.9.0.1
    • Fix Version/s: 2.9.3
    • Component/s: Compiler: Optimizing
    • Labels:
      None
    • Number of attachments :
      0

      Description

      The exception occured within following test case

      http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.862/prototype-opt/default/SPECjbb2005/SPECjbb2005/Output.txt

      < BootstrapCL, Lorg/jikesrvm/scheduler/VM_Processor; > not assignable with < BootstrapCL, Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; >

      – Stack –
      at [0x6b3128b4] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 1991
      at [0x6b3128d4] Lorg/jikesrvm/VM; _assertionFailure(Ljava/lang/String;Ljava/lang/String;)V at line 528
      at [0x6b3128fc] Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;Ljava/lang/String;)V at line 511
      at [0x6b312924] Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;)V at line 501
      at [0x6b31294c] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; assertIsAssignable(Lorg/jikesrvm/classloader/VM_TypeReference;Lorg/jikesrvm/classloader/VM_TypeReference;)V at line 3381
      at [0x6b3129a4] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateFrom(I)V at line 1480
      at [0x6b3129c4] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR()V at line 299
      at [0x6b3129e0] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR(Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;)V at line 112
      at [0x6b312a50] Lorg/jikesrvm/compilers/opt/ir/OPT_Inliner; execute(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;Lorg/jikesrvm/compilers/opt/ir/OPT_ExceptionHandlerBasicBlockBag;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext; at line 423
      at [0x6b312a94] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; maybeInlineMethod(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)Z at line 4510
      at [0x6b312aec] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateFrom(I)V at line 1882
      at [0x6b312b0c] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR()V at line 299
      at [0x6b312b28] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR(Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;)V at line 112
      at [0x6b312b98] Lorg/jikesrvm/compilers/opt/ir/OPT_Inliner; execute(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;Lorg/jikesrvm/compilers/opt/ir/OPT_ExceptionHandlerBasicBlockBag;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext; at line 423
      at [0x6b312bdc] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; maybeInlineMethod(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)Z at line 4510
      at [0x6b312c34] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateFrom(I)V at line 1882
      at [0x6b312c54] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR()V at line 314
      at [0x6b312c70] Lorg/jikesrvm/compilers/opt/ir/OPT_BC2IR; generateHIR(Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;)V at line 112
      at [0x6b312ce0] Lorg/jikesrvm/compilers/opt/ir/OPT_Inliner; execute(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext;Lorg/jikesrvm/compilers/opt/ir/OPT_ExceptionHandlerBasicBlockBag;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)Lorg/jikesrvm/compilers/opt/ir/OPT_GenerationContext; at line 423
      at [0x6b312d2c] Lorg/jikesrvm/compilers/opt/ir/OPT_Inliner; execute(Lorg/jikesrvm/compilers/opt/OPT_InlineDecision;Lorg/jikesrvm/compilers/opt/ir/OPT_IR;Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;)V at line 89
      at [0x6b312d70] Lorg/jikesrvm/compilers/opt/OPT_ExpandRuntimeServices; inline(Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;Lorg/jikesrvm/compilers/opt/ir/OPT_IR;Z)V at line 409
      at [0x6b312da0] Lorg/jikesrvm/compilers/opt/OPT_ExpandRuntimeServices; inline(Lorg/jikesrvm/compilers/opt/ir/OPT_Instruction;Lorg/jikesrvm/compilers/opt/ir/OPT_IR;)V at line 389
      at [0x6b312e08] Lorg/jikesrvm/compilers/opt/OPT_ExpandRuntimeServices; perform(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;)V at line 271
      at [0x6b312e2c] Lorg/jikesrvm/compilers/opt/OPT_CompilerPhase; performPhase(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;)V at line 202
      at [0x6b312e6c] Lorg/jikesrvm/compilers/opt/OPT_OptimizationPlanAtomicElement; perform(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;)V at line 88
      at [0x6b312ea0] Lorg/jikesrvm/compilers/opt/OPT_OptimizationPlanCompositeElement; perform(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;)V at line 141
      at [0x6b312ed4] Lorg/jikesrvm/compilers/opt/OPT_CompilationPlan; execute()Lorg/jikesrvm/compilers/opt/ir/OPT_IR; at line 107
      at [0x6b312efc] Lorg/jikesrvm/compilers/opt/OPT_Compiler; compile(Lorg/jikesrvm/compilers/opt/OPT_CompilationPlan;)Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 219
      at [0x6b312f4c] Lorg/jikesrvm/compilers/common/VM_RuntimeCompiler; optCompile(Lorg/jikesrvm/classloader/VM_NormalMethod;Lorg/jikesrvm/compilers/opt/OPT_CompilationPlan;)Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 358
      at [0x6b312f80] Lorg/jikesrvm/compilers/common/VM_RuntimeCompiler; recompileWithOpt(Lorg/jikesrvm/compilers/opt/OPT_CompilationPlan;)I at line 537
      at [0x6b312fc0] Lorg/jikesrvm/adaptive/controller/VM_ControllerPlan; doRecompile()Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 179
      at [0x6b312fe0] Lorg/jikesrvm/adaptive/recompilation/VM_CompilationThread; run()V at line 53
      at [0x6b313000] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606

        Activity

        Hide
        Ian Rogers added a comment -

        I added extra debug to discover the inline sequence that's yielding this bug, this has now been triggered in:

        http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.934/prototype-opt/default/SPECjbb2000/SPECjbb2000/default/Output.txt

        I've not been able to work it out. The case that's triggering the bug couldn't be simpler, it's just a putfield write barrier in a sequence of code with a single putfield. The machine specific magic generates a push of the processor register and then this gets popped off again in BC2IR for the areturn bytecode. The assertion fails as the processor register is for some reason the scheduler. Trying to recreate this in the OptTestHarness fails and I can't see an error. My current thought is maybe this is a latent bug related to class literals.

        Show
        Ian Rogers added a comment - I added extra debug to discover the inline sequence that's yielding this bug, this has now been triggered in: http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.934/prototype-opt/default/SPECjbb2000/SPECjbb2000/default/Output.txt I've not been able to work it out. The case that's triggering the bug couldn't be simpler, it's just a putfield write barrier in a sequence of code with a single putfield. The machine specific magic generates a push of the processor register and then this gets popped off again in BC2IR for the areturn bytecode. The assertion fails as the processor register is for some reason the scheduler. Trying to recreate this in the OptTestHarness fails and I can't see an error. My current thought is maybe this is a latent bug related to class literals.
        Show
        Ian Rogers added a comment - http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.1030/prototype-opt/default/dacapo/xalan/default/Output.txt 2007-09-13 03:40:50.0 http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.977/prototype-opt/default/dacapo/xalan/default/Output.txt 2007-09-09 03:40:34.0 http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.934/prototype-opt/default/SPECjbb2000/SPECjbb2000/default/Output.txt 2007-09-05 03:00:56.0 http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.880/prototype-opt/default/dacapo/bloat/default/Output.txt 2007-08-29 03:01:16.0 http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/sanity.862/prototype-opt/default/SPECjbb2005/SPECjbb2005/default/Output.txt 2007-08-26 03:01:15.0 more occurances
        Hide
        Ian Rogers added a comment -

        Slight tweak to try to avoid the problem committed in r13630.

        Show
        Ian Rogers added a comment - Slight tweak to try to avoid the problem committed in r13630.
        Hide
        Ian Rogers added a comment -

        1 week since the tweak in r13630, has the bug recurred?

        Show
        Ian Rogers added a comment - 1 week since the tweak in r13630, has the bug recurred?
        Hide
        Ian Rogers added a comment -

        I think this issue was resolved by the static field entry point changes (not initializing static offsets in entrypoints) and other changes. I can't search cattrack. Reopen issue if we see the errors again.

        Show
        Ian Rogers added a comment - I think this issue was resolved by the static field entry point changes (not initializing static offsets in entrypoints) and other changes. I can't search cattrack. Reopen issue if we see the errors again.

          People

          • Assignee:
            Ian Rogers
            Reporter:
            Peter Donald
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: