Truffle compilation problem

Stefan Marr java at stefan-marr.de
Fri Jul 4 09:03:09 UTC 2014


Hi:

Turned out to be another case of HashMap.put() on a fast path.

Best regards
Stefan

On 04 Jul 2014, at 09:16, Stefan Marr <java at stefan-marr.de> wrote:

> Hi:
> 
> I got a somewhat similar issue to what Michael reported, but when looking at the debugger I see an array out of bounds exception in the SignatureParser, which seems to lead to the stack trace below.
> 
> I haven’t updated Graal in a while. Will try that next, but in case anyone else encountered this issue and has an idea what it could be, please let me know.
> 
> Thanks a lot
> Stefan
> 
> [truffle] opt fail         Primitive PerformEnforcedWithArgumentsInSuperclassPrimObjectObjectArrayNode at 1d21f9e7|Reason Found illegal recursive call to HotSpotMethod<SignatureParser.parseFieldTypeSignature()>, must annotate such calls with @CompilerDirectives.SlowPath!
> com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<SignatureParser.parseFieldTypeSignature()>, must annotate such calls with @CompilerDirectives.SlowPath!
> 	at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java)
> 	at sun.reflect.generics.parser.SignatureParser.parseTypeSignature(SignatureParser.java:485)
> Caused by: java.lang.IllegalStateException: Found illegal recursive call to HotSpotMethod<SignatureParser.parseFieldTypeSignature()>, must annotate such calls with @CompilerDirectives.SlowPath!
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:246)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.expandInvoke(TruffleCacheImpl.java:242)
> 	at com.oracle.graal.truffle.TruffleCacheImpl.lookup(TruffleCacheImpl.java:203)
> 	at com.oracle.graal.truffle.PartialEvaluator.parseGraph(PartialEvaluator.java:248)
> 	at com.oracle.graal.truffle.PartialEvaluator.expandTree(PartialEvaluator.java:206)
> 	at com.oracle.graal.truffle.PartialEvaluator.createGraph(PartialEvaluator.java:116)
> 	at com.oracle.graal.truffle.TruffleCompilerImpl.compileMethodImpl(TruffleCompilerImpl.java:120)
> 	at com.oracle.graal.truffle.hotspot.HotSpotTruffleRuntime$3.run(HotSpotTruffleRuntime.java:299)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:744)
> 	at com.oracle.graal.compiler.CompilerThread.run(CompilerThread.java:48)
> 
> -- 
> Stefan Marr
> INRIA Lille - Nord Europe
> http://stefan-marr.de/research/
> 
> 
> 

-- 
Stefan Marr
INRIA Lille - Nord Europe
http://stefan-marr.de/research/





More information about the graal-dev mailing list