Skip to content

Unexpected values provided for JSToObjectNodeGen #1290

@sgammon

Description

@sgammon

Expected Behavior

Synthetic modules should always import without error.

Actual Behaviour

Sometimes, an exception is thrown. Some module implementations seem to throw this way unconditionally.

Stacktrace

╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║ com.oracle.truffle.api.dsl.UnsupportedSpecializationException: Unexpected values provided for JSToObjectNodeGe ...         ║
╟────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║ Stacktrace:                                                                                                                ║
║                                                                                                                            ║
║ com.oracle.truffle.api.dsl.UnsupportedSpecializationException: Unexpected values provided for JSToObjectNodeGe ...         ║
║     at com.oracle.truffle.js.nodes.cast.JSToObjectNodeGen.newUnsupportedSpecializationException1(JSToObjectNodeGe ...      ║
║     at com.oracle.truffle.js.nodes.cast.JSToObjectNodeGen$Uncached.execute(JSToObjectNodeGen.java:417)                     ║
║     at c.o.t.j.r.JSRuntime.toObject(JSRuntime.java:1318)                                                                   ║
║     at c.o.t.j.n.a.PropertyCacheNode.wrapPrimitive(PropertyCacheNode.java:1257)                                            ║
║     at c.o.t.j.n.a.PropertyCacheNode.createSpecialization(PropertyCacheNode.java:1003)                                     ║
║     at c.o.t.j.n.a.PropertyCacheNode.specialize(PropertyCacheNode.java:972)                                                ║
║     at c.o.t.j.n.a.PropertyCacheNode.specialize(PropertyCacheNode.java:920)                                                ║
║     at c.o.t.j.n.a.PropertyGetNode.getValueAndSpecialize(PropertyGetNode.java:437)                                         ║
║     at c.o.t.j.n.a.PropertyGetNode.getValueOrDefault(PropertyGetNode.java:432)                                             ║
║     at c.o.t.j.n.a.PropertyGetNode.getValueOrUndefined(PropertyGetNode.java:210)                                           ║
║     at c.o.t.j.n.a.PropertyNode.executeWithTarget(PropertyNode.java:148)                                                   ║
║     at c.o.t.j.n.a.PropertyNode.executeWithTarget(PropertyNode.java:140)                                                   ║
║     at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.executeFunctionWithTarget(JSFunctionCal ...      ║
║     at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:721)             ║
║     at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.execute_generic3(JSWriteCurrentFrameSlot ...      ║
║     at c.o.t.j.n.a.JSWriteCurrentFrameSlotNodeGen.execute(JSWriteCurrentFrameSlotNodeGen.java:69)                          ║
║     at c.o.t.j.n.a.JSWriteCurrentFrameSlotNodeGen.executeVoid(JSWriteCurrentFrameSlotNodeGen.java:321)                     ║
║     at c.o.t.j.n.c.AbstractBlockNode.executeVoid(AbstractBlockNode.java:78)                                                ║
║     at c.o.t.j.n.c.AbstractBlockNode.executeVoid(AbstractBlockNode.java:53)                                                ║
║     at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedBlockNode.executeGeneric(OptimizedBlockNod ...      ║
║     at c.o.t.j.n.c.AbstractBlockNode.execute(AbstractBlockNode.java:73)                                                    ║
║     at c.o.t.j.n.c.ModuleBodyNode.execute(ModuleBodyNode.java:75)                                                          ║
║     at c.o.t.j.n.f.FunctionBodyNode.execute(FunctionBodyNode.java:70)                                                      ║
║     at c.o.t.j.n.f.FunctionRootNode.executeInRealm(FunctionRootNode.java:155)                                              ║
║     at c.o.t.j.r.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:96)                          ║
║     at <js>.:module:eval(Unknown)                                                                                          ║
║     at java.base/invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)                                          ║
║                                                                                                                            ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝

Steps To Reproduce

Unclear

Environment Information

  • Operating System: Linux
  • Architecture: x86_64

Runtime

Native

Language

N/A (Default)

Example Application

No response

Version

edge

Metadata

Metadata

Assignees

Labels

P0bugSomething isn't workinglang:javascriptIssues relating to JavaScript

Type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions