NullPointerException in ControlFlowGraph.commonDominator during SchedulePhase
Deneau, Tom
tom.deneau at amd.com
Wed Mar 19 16:31:03 UTC 2014
Gilles --
You're right, the nullPointerException in my original email was caught...
Here's a fuller stack trace...
I notice it is coming from the compileGraph for the host trampoline code.
But I don't understand why changing the SuitesProvider for the hsail compilation should affect this.
(and I only see it with -G:Dump=)
-- Tom
There was 1 failure:
1) test(com.oracle.graal.compiler.hsail.test.EscapingNewVec3Test)
com.oracle.graal.graph.GraalInternalError: java.lang.RuntimeException: Exception while intercepting exception
at node: 17|VMError
at com.oracle.graal.compiler.gen.LIRGenerator.doBlock(LIRGenerator.java:453)
at com.oracle.graal.compiler.GraalCompiler.emitBlock(GraalCompiler.java:215)
at com.oracle.graal.compiler.GraalCompiler.emitLIR(GraalCompiler.java:246)
at com.oracle.graal.compiler.GraalCompiler.compileGraph(GraalCompiler.java:149)
at com.oracle.graal.hotspot.hsail.HSAILHotSpotBackend.installKernel(HSAILHotSpotBackend.java:263)
at com.oracle.graal.hotspot.hsail.HSAILHotSpotBackend.compileAndInstallKernel(HSAILHotSpotBackend.java:142)
at com.oracle.graal.compiler.hsail.test.infra.GraalKernelTester.dispatchKernelOkra(GraalKernelTester.java:115)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.dispatchMethodKernelOkra(KernelTester.java:635)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.dispatchMethodKernel(KernelTester.java:370)
at com.oracle.graal.compiler.hsail.test.EscapingNewVec3Base.runTest(EscapingNewVec3Base.java:32)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.runOkraInstance(KernelTester.java:786)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.compareOkraToSeq(KernelTester.java:776)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.compareOkraToSeq(KernelTester.java:761)
at com.oracle.graal.compiler.hsail.test.infra.KernelTester.testGeneratedHsail(KernelTester.java:799)
at com.oracle.graal.compiler.hsail.test.infra.GraalKernelTester.testGeneratedHsail(GraalKernelTester.java:148)
at com.oracle.graal.compiler.hsail.test.EscapingNewVec3Test.test(EscapingNewVec3Test.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:24)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:98)
at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:53)
at org.junit.runner.JUnitCore.main(JUnitCore.java:45)
Caused by: java.lang.RuntimeException: Exception while intercepting exception
at com.oracle.graal.debug.internal.DebugScope.interceptException(DebugScope.java:299)
at com.oracle.graal.debug.internal.DebugScope.handle(DebugScope.java:254)
at com.oracle.graal.debug.Debug.handle(Debug.java:232)
at com.oracle.graal.compiler.GraalCompiler.compileGraph(GraalCompiler.java:145)
at com.oracle.graal.hotspot.stubs.Stub.getCode(Stub.java:148)
at com.oracle.graal.hotspot.HotSpotForeignCallLinkage.finalizeAddress(HotSpotForeignCallLinkage.java:231)
at com.oracle.graal.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSpotForeignCallsProviderImpl.java:139)
at com.oracle.graal.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSpotForeignCallsProviderImpl.java:42)
at com.oracle.graal.hotspot.nodes.VMErrorNode.generate(VMErrorNode.java:60)
at com.oracle.graal.compiler.gen.LIRGenerator.emitNode(LIRGenerator.java:515)
at com.oracle.graal.compiler.gen.LIRGenerator.doRoot(LIRGenerator.java:506)
at com.oracle.graal.compiler.gen.LIRGenerator.doBlock(LIRGenerator.java:449)
... 45 more
Caused by: java.lang.NullPointerException
at com.oracle.graal.printer.GraphPrinterDumpHandler.getInlineContext(GraphPrinterDumpHandler.java:205)
at com.oracle.graal.printer.GraphPrinterDumpHandler.dump(GraphPrinterDumpHandler.java:157)
at com.oracle.graal.debug.internal.DebugScope.dump(DebugScope.java:203)
at com.oracle.graal.debug.Debug.dump(Debug.java:269)
at com.oracle.graal.compiler.GraalDebugConfig.interceptException(GraalDebugConfig.java:225)
at com.oracle.graal.debug.internal.DebugScope.interceptException(DebugScope.java:297)
... 56 more
> -----Original Message-----
> From: gilwooden at gmail.com [mailto:gilwooden at gmail.com] On Behalf Of
> Gilles Duboscq
> Sent: Wednesday, March 19, 2014 6:02 AM
> To: Deneau, Tom
> Cc: graal-dev at openjdk.java.net
> Subject: Re: NullPointerException in ControlFlowGraph.commonDominator
> during SchedulePhase
>
> Hello Tom,
>
> Do you have any more context (full stack trace)?
> When dumping, there can be exceptions in the schedules that are used for
> dumping but those should in theory just be ignored.
>
> -Gilles
>
> On Tue, Mar 18, 2014 at 10:56 PM, Tom Deneau <tom.deneau at amd.com> wrote:
> > I noticed in some hsail junit tests that were storing objects that I
> didn't see the card table setting code. I remember this was working
> about 4 months ago but we haven't really looked at Object Storing junits
> since then and I know a lot of the infrastructure has changed since
> then. Anyway in igv I noticed that the WriteBarrierAdditionPhase was
> not one of the phases for hsail compileGraph.
> >
> > Previously the setup in HSAILHotSpotBackendFactory was
> > SuitesProvider suites = new DefaultSuitesProvider();
> >
> > which I changed to the following to make it match more the
> AMD64HotSpotBackendFactory
> > SuitesProvider suites = new HotSpotSuitesProvider(runtime);
> >
> > This seemed to do the trick as far as generating the card table
> > stores, but now I notice when I run with -G:Dump=, I get a
> > NullPointerException during the SchedulePhase
> >
> >
> > [1] com.oracle.graal.nodes.cfg.ControlFlowGraph.commonDominator
> (ControlFlowGraph.java:336)
> > [2]
> com.oracle.graal.phases.schedule.SchedulePhase$CommonDominatorBlockClosu
> re.apply (SchedulePhase.java:625)
> > [3] com.oracle.graal.phases.schedule.SchedulePhase.blocksForUsage
> (SchedulePhase.java:780)
> > [4] com.oracle.graal.phases.schedule.SchedulePhase.latestBlock
> (SchedulePhase.java:599)
> > [5] com.oracle.graal.phases.schedule.SchedulePhase.assignBlockToNode
> (SchedulePhase.java:417)
> > [6]
> com.oracle.graal.phases.schedule.SchedulePhase.assignBlockToNodes
> (SchedulePhase.java:379)
> > [7] com.oracle.graal.phases.schedule.SchedulePhase.run
> > (SchedulePhase.java:273)
> >
> > I admit I didn't really look at all the differences between
> DefaultSuitesProvider and HotSpotSuitesProvider(runtime) but does anyone
> have any suggestions as to what might be causing this?
> >
> > -- Tom
> >
More information about the graal-dev
mailing list