Truffle compilation problem
Michael Haupt
michael.haupt at oracle.com
Wed May 28 07:25:36 UTC 2014
Hi,
in FastR, we're facing the problem shown below. The stack trace doesn't give away a particular location in the FastR sources - we're nevertheless looking at uses of HashMap. Still, it is somewhat odd that the trace ends with an R function (usually we were given traces that ended up somewhere in FastR node classes, which made it much easier to track the issue down).
Best,
Michael
Exception occurred in scope: Truffle.CreateGraph.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.TruffleCache.InterceptException
Context obj com.oracle.graal.nodes.util.GraphUtil$2: Found illegal recursive call to HotSpotMethod<SignatureParser.parseFieldTypeSignature()>, must annotate such calls with @CompilerDirectives.SlowPath!
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseTypeSignature()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseArrayTypeSignature()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseFieldTypeSignature(boolean)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseFieldTypeSignature()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseBounds()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseFormalTypeParameter()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseFormalTypeParameters()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseZeroOrMoreFormalTypeParameters()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseClassSignature()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<SignatureParser.parseClassSig(String)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<ClassRepository.parse(String)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<ClassRepository.parse(String)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<AbstractRepository.<init>(String, GenericsFactory)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<GenericDeclRepository.<init>(String, GenericsFactory)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<ClassRepository.<init>(String, GenericsFactory)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<ClassRepository.make(String, GenericsFactory)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<Class.getGenericInfo()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<Class.getGenericInterfaces()>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<HashMap.comparableClassFor(Object)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<HashMap$TreeNode.find(int, Object, Class)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<HashMap$TreeNode.getTreeNode(int, Object)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<HashMap.getNode(int, Object)>
Context obj com.oracle.graal.hotspot.meta.HotSpotMetaAccessProvider at 3a708380
Context obj HotSpotMethod<HashMap.containsKey(Object)>
Context obj StructuredGraph:43{function(g1, g2, op = euclidean)
{
ans <- matrix(0, HotSpotMethod<OptimizedCallTarget.callRoot(Object[])>}
Use -G:+DumpOnError to enable dumping of graphs on this error
Context obj Truffle<function(g1,_g2,_op_=_euclidean)
{
ans_<-_matrix(0()>
[truffle] opt fail function(g1, g2, op = euclidean)
{
ans <- matrix(0 |Reason Found illegal recursive call to HotSpotMethod<SignatureParser.parseFieldTypeSignature()>, must annotate such calls with @CompilerDirectives.SlowPath!
--
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Labs
Oracle Deutschland B.V. & Co. KG, Schiffbauergasse 14 | 14467 Potsdam, Germany
Oracle is committed to developing practices and products that help protect the environment
More information about the graal-dev
mailing list