[Bug]: `CompilerDirectives$ShouldNotReachHere: User locals must have their info field set to a varnames index`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 68/100
Rechercherichtung
Führe zunächst den Reproducer sum is not None == 1 aus und untersuche dann PException.java bei raiseUnboundLocalException sowie die zugehörige Behandlung lokaler Variablen in PBytecodeDSLRootNode. Erledigt ist es, wenn das Snippet ohne den Absturz ShouldNotReachHere abgeschlossen wird und dabei das erwartete Verhalten ohne Absturz erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
GraalPy crashes when running this fuzzed code:
sum is not None == 1
Operating system
Linux
CPU architecture
x86_64
GraalPy version
GraalPy 3.13.14 (Oracle GraalVM Native 25.3.4.1)
JDK version
No response
Context configuration
No response
Steps to reproduce
Snippet listed above
Expected behavior
No crash
Stack trace
User locals must have their info field set to a varnames index.
com.oracle.truffle.api.CompilerDirectives$ShouldNotReachHere: User locals must have their info field set to a varnames index.
at org.graalvm.truffle/com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere(CompilerDirectives.java:794)
at org.graalvm.truffle/com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere(CompilerDirectives.java:740)
at org.graalvm.py/com.oracle.graal.python.runtime.exception.PException.raiseUnboundLocalException(PException.java:609)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen$UncachedBytecodeNodeTailCall.getLocalValueInternal(PBytecodeDSLRootNodeGen.java:38374)
at org.graalvm.truffle/com.oracle.truffle.api.bytecode.LocalAccessor.getObject(LocalAccessor.java:116)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNode$LoadAndClearTempLocal.doObject(PBytecodeDSLRootNode.java:4338)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen$LoadAndClearTempLocal_Node.execute$uncached(PBytecodeDSLRootNodeGen.java)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen$UncachedBytecodeNodeTailCall.handleLoadAndClearTempLocal_(PBytecodeDSLRootNodeGen.java:37349)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen$UncachedBytecodeNodeTailCall.__stub_handleLoadAndClearTempLocal_(PBytecodeDSLRootNodeGen.java:0)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen$UncachedBytecodeNodeTailCall.continueAt(PBytecodeDSLRootNodeGen.java:35093)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen.continueAt(PBytecodeDSLRootNodeGen.java:3501)
at org.graalvm.py/com.oracle.graal.python.nodes.bytecode_dsl.PBytecodeDSLRootNodeGen.execute(PBytecodeDSLRootNodeGen.java:3493)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.executeRootNode(OptimizedCallTarget.java:808)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.profiledPERoot(OptimizedCallTarget.java:722)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:641)
at org.graalvm.truffle.runtime.svm/com.oracle.svm.truffle.api.SubstrateOptimizedCallTarget.invokeCallBoundary(SubstrateOptimizedCallTarget.java:124)
at com.oracle.truffle.enterprise.svm/com.oracle.svm.enterprise.truffle.compiler.SubstrateEnterpriseOptimizedCallTarget.invokeCompiledAdapterOrCallBoundary(SubstrateEnterpriseOptimizedCallTarget.java:293)
at com.oracle.truffle.enterprise.svm/com.oracle.svm.enterprise.truffle.compiler.SubstrateEnterpriseOptimizedCallTarget.invokeFromInterpreter(SubstrateEnterpriseOptimizedCallTarget.java:269)
at com.oracle.truffle.enterprise.svm/com.oracle.svm.enterprise.truffle.compiler.SubstrateEnterpriseOptimizedCallTarget.doInvoke(SubstrateEnterpriseOptimizedCallTarget.java:255)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:573)
at org.graalvm.truffle.runtime/com.oracle.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:519)
at org.graalvm.py/com.oracle.graal.python.builtins.modules.GraalPythonModuleBuiltins$RunPathNode.runFile(GraalPythonModuleBuiltins.java:432)
at org.graalvm.py/com.oracle.graal.python.builtins.modules.GraalPythonModuleBuiltins$RunPathNode.runBoundary(GraalPythonModuleBuiltins.java:387)
at org.graalvm.py/com.oracle.graal.python.builtins.modules.GraalPythonModuleBuiltins$RunPathNode.run(GraalPythonModuleBuiltins.java:357)
at org.graalvm.py/com.oracle.graal.python.builtins.modules.GraalPythonModuleBuiltinsFactory$RunPathNodeFactory$RunPathNodeGen.executeAndSpecialize(GraalPythonModuleBuiltinsFactory.java:201)
at org.graalvm.py/com.oracle.graal.python.builtins.modules.GraalPythonModuleBuiltinsFactory$RunPathNodeFactory$RunPathNodeGen.execute(GraalPythonModuleBuiltinsFactory.java:190)
at org.graalvm.py/com.oracle.graal.python.nodes.function.builtins.BuiltinCallNode$BuiltinAnyCallNode.execute(BuiltinCallNode.java:64)
at org.graalvm.py/com.oracle.graal.python.nodes.function.BuiltinFunctionRootNode.execute(BuiltinFunctionRootNode.java:337)
[...snip...]
Additional context
No response
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 158
- Ø Merge
- 9 Std. 12 Min.
- Gemergte PRs (30 T.)
- 50
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus oracle/graalpython
-
[Bug]: sys.flags.debug is 1 whenever optimization is offEvtl. vergeben @hippi345 hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
oracle/graalpython#1213 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
oracle/graalpython#1105 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
oracle/graalpython#1102 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
oracle/graalpython#1217 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 54/100
oracle/graalpython#1212 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in oracle/graalpython
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
521xueweihan/HelloGitHub#4025 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
aws-samples/sample-per-model-bedrock#321 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 68/100
FavioVazquez/showtime#101 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
koush/ha_scrypted#81 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
google/osv-scanner-action#147 ·