Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging with GraalVM support #1957

Merged
merged 6 commits into from
Jun 1, 2019
Merged

Packaging with GraalVM support #1957

merged 6 commits into from
Jun 1, 2019

Conversation

qparis
Copy link
Member

@qparis qparis commented Jun 1, 2019

No description provided.

Quentin PARIS added 2 commits June 1, 2019 12:54
…nto graalvm

# Conflicts:
#	phoenicis-dist/src/scripts/phoenicis-create-package.sh
@qparis qparis requested review from plata and madoar June 1, 2019 11:46
@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

So it works on macOS. It also needs to be tested on Linux

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

I've just tested this PR on my computer with Linux Mint 18.3. When executing phoenicis-create-package.sh I don't get the previous errors anymore (see #1950) but the script doesn't terminate. It hangs after printing:

dpkg-deb: Paket »phoenicis-playonlinux« wird in »Phoenicis_5.0-SNAPSHOT.deb« gebaut

When looking in the phoenicis-dist/target folder, Phoenicis_5.0-SNAPSHOT.deb was built. When executing the previously mentioned deb file I see the following error message:

grafik

Translated to English: The MIME-Type of the file is 'application/x-debian-package', it can't be installed on this system.

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

Can you run a file command on the .deb?

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

Status-update:
Giving the script more time solves both problems:

  1. the script terminates after I guess ~5 minutes
  2. after the script terminates the deb file can be executed and installed (again loading the deb file takes a while)

After starting Phoenicis I tried to install an application (i.e. Notepad++) which led to the following error message in the phoenicis.log file:

16:32:20.292 [ERROR] org.phoenicis.multithreading.ControlledThreadPoolExecutorService (l.63) - java.lang.NoClassDefFoundError: Could not initialize class org.graalvm.polyglot.Engine$ImplHolder
	at org.graalvm.sdk/org.graalvm.polyglot.Engine.getImpl(Engine.java:263)
	at org.graalvm.sdk/org.graalvm.polyglot.Engine$Builder.build(Engine.java:501)
	at org.graalvm.sdk/org.graalvm.polyglot.Context$Builder.build(Context.java:1304)
	at org.phoenicis.scripts.engine.implementation.PolyglotScriptEngine.<init>(PolyglotScriptEngine.java:46)
	at org.phoenicis.scripts.engine.ScriptEngineType$2.createScriptEngine(ScriptEngineType.java:23)
	at org.phoenicis.scripts.engine.PhoenicisScriptEngineFactory.createEngine(PhoenicisScriptEngineFactory.java:36)
	at org.phoenicis.scripts.interpreter.PhoenicisScriptInterpreter.runScript(PhoenicisScriptInterpreter.java:36)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$runScript$0(BackgroundScriptInterpreter.java:37)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

This happens on OSX when --upgrade-module-path=$JAR_RELATIVE_PATH/compiler.jar is not set. Do you have a .cfg file in a "app" directory?

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

Where should this "app" directory be located? Inside the deb installer? On my file system somewhere? Or inside the maven target folder?

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

Inside the deb and in your system (/opt maybe)

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

Yes there is an app directory created at usr/share/phoenicis/app.
The directory contains the following files:

marc@marc-desktop /usr/share/phoenicis/app $ ls
animal-sniffer-annotations-1.17.jar
antlr-2.7.7.jar
asm-6.2.1.jar
asm-analysis-6.2.1.jar
asm-commons-6.2.1.jar
asm-tree-6.2.1.jar
asm-util-6.2.1.jar
bcmail-jdk16-1.46.jar
bcpg-jdk15on-1.60.jar
bcpg-jdk16-1.46.jar
bcpkix-jdk15on-1.60.jar
bcprov-jdk15on-1.60.jar
bcprov-jdk16-1.46.jar
checker-qual-2.5.2.jar
commandline-1.7.0.jar
commons-codec-1.12.jar
commons-compress-1.18.jar
commons-io-2.6.jar
commons-lang-2.6.jar
compiler.jar
error_prone_annotations-2.2.0.jar
failureaccess-1.0.1.jar
fuzzywuzzy-1.2.0.jar
gettext-commons-0.9.8.jar
graal-sdk.jar
guava-27.1-jre.jar
icu4j-62.1.jar
j2objc-annotations-1.1.jar
jackson-annotations-2.9.0.jar
jackson-core-2.9.9.jar
jackson-databind-2.9.9.jar
JavaEWAH-1.1.6.jar
javafx-base-11.0.2.jar
javafx-base-11.0.2-linux.jar
javafx-collections-1.2.0.jar
javafx-controls-12.0.1.jar
javafx-controls-12.0.1-linux.jar
javafx-graphics-12.0.1.jar
javafx-graphics-12.0.1-linux.jar
javafx-media-12.0.1.jar
javafx-media-12.0.1-linux.jar
javafx-web-12.0.1.jar
javafx-web-12.0.1-linux.jar
javax.activation-1.2.0.jar
javax.annotation-api-1.3.2.jar
jgettext-0.15.1.jar
jmimemagic-0.2.3.jar
js-19.0.0.jar
jsch-0.1.54.jar
jsoup-1.12.1.jar
js-scriptengine-19.0.0.jar
jzlib-1.1.1.jar
listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
lnk-parser-1.0.0.jar
log4j-1.2.8.jar
logback-classic-1.2.3.jar
logback-core-1.2.3.jar
org.eclipse.jgit-5.3.1.201904271842-r.jar
phoenicis-cli-5.0-SNAPSHOT.jar
phoenicis-configuration-5.0-SNAPSHOT.jar
phoenicis-containers-5.0-SNAPSHOT.jar
phoenicis-engines-5.0-SNAPSHOT.jar
phoenicis-entities-5.0-SNAPSHOT.jar
phoenicis-javafx-5.0-SNAPSHOT.jar
phoenicis-library-5.0-SNAPSHOT.jar
phoenicis-multithreading-5.0-SNAPSHOT.jar
PhoenicisPlayOnLinux.cfg
phoenicis-repository-5.0-SNAPSHOT.jar
phoenicis-scripts-5.0-SNAPSHOT.jar
phoenicis-settings-5.0-SNAPSHOT.jar
phoenicis-tools-5.0-SNAPSHOT.jar
phoenicis-win32-5.0-SNAPSHOT.jar
regex-19.0.0.jar
slf4j-api-1.7.26.jar
spring-aop-5.1.7.RELEASE.jar
spring-beans-5.1.7.RELEASE.jar
spring-context-5.1.7.RELEASE.jar
spring-core-5.1.7.RELEASE.jar
spring-expression-5.1.7.RELEASE.jar
spring-jcl-5.1.7.RELEASE.jar
truffle-api.jar
xz-1.8.jar

The mentioned cfg files contains:

[Application]
app.name=Phoenicis PlayOnLinux
app.version=5.0-SNAPSHOT
app.preferences.id=org/phoenicis/javafx
app.runtime=$APPDIR/runtime
app.identifier=org.phoenicis.javafx
app.classpath=javafx-base-11.0.2.jar:javax.activation-1.2.0.jar:fuzzywuzzy-1.2.0.jar:org.eclipse.jgit-5.3.1.201904271842-r.jar:spring-context-5.1.7.RELEASE.jar:javax.annotation-api-1.3.2.jar:jsoup-1.12.1.jar:asm-6.2.1.jar:JavaEWAH-1.1.6.jar:commons-lang-2.6.jar:icu4j-62.1.jar:javafx-web-12.0.1-linux.jar:regex-19.0.0.jar:javafx-controls-12.0.1.jar:lnk-parser-1.0.0.jar:log4j-1.2.8.jar:phoenicis-scripts-5.0-SNAPSHOT.jar:xz-1.8.jar:commandline-1.7.0.jar:asm-commons-6.2.1.jar:javafx-graphics-12.0.1-linux.jar:spring-beans-5.1.7.RELEASE.jar:bcpkix-jdk15on-1.60.jar:jzlib-1.1.1.jar:error_prone_annotations-2.2.0.jar:phoenicis-containers-5.0-SNAPSHOT.jar:phoenicis-win32-5.0-SNAPSHOT.jar:gettext-commons-0.9.8.jar:graal-sdk.jar:jmimemagic-0.2.3.jar:phoenicis-entities-5.0-SNAPSHOT.jar:logback-classic-1.2.3.jar:jgettext-0.15.1.jar:guava-27.1-jre.jar:javafx-base-11.0.2-linux.jar:phoenicis-configuration-5.0-SNAPSHOT.jar:phoenicis-library-5.0-SNAPSHOT.jar:jackson-annotations-2.9.0.jar:bcpg-jdk15on-1.60.jar:compiler.jar:j2objc-annotations-1.1.jar:asm-analysis-6.2.1.jar:javafx-graphics-12.0.1.jar:phoenicis-repository-5.0-SNAPSHOT.jar:phoenicis-engines-5.0-SNAPSHOT.jar:spring-jcl-5.1.7.RELEASE.jar:commons-io-2.6.jar:javafx-media-12.0.1.jar:spring-expression-5.1.7.RELEASE.jar:javafx-media-12.0.1-linux.jar:failureaccess-1.0.1.jar:asm-tree-6.2.1.jar:checker-qual-2.5.2.jar:phoenicis-javafx-5.0-SNAPSHOT.jar:phoenicis-cli-5.0-SNAPSHOT.jar:jsch-0.1.54.jar:bcprov-jdk15on-1.60.jar:javafx-collections-1.2.0.jar:phoenicis-multithreading-5.0-SNAPSHOT.jar:phoenicis-tools-5.0-SNAPSHOT.jar:antlr-2.7.7.jar:bcprov-jdk16-1.46.jar:jackson-core-2.9.9.jar:slf4j-api-1.7.26.jar:javafx-web-12.0.1.jar:bcpg-jdk16-1.46.jar:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:truffle-api.jar:logback-core-1.2.3.jar:phoenicis-settings-5.0-SNAPSHOT.jar:spring-core-5.1.7.RELEASE.jar:commons-codec-1.12.jar:jackson-databind-2.9.9.jar:js-19.0.0.jar:commons-compress-1.18.jar:js-scriptengine-19.0.0.jar:javafx-controls-12.0.1-linux.jar:bcmail-jdk16-1.46.jar:animal-sniffer-annotations-1.17.jar:asm-util-6.2.1.jar:spring-aop-5.1.7.RELEASE.jar
app.application.instance=multiple
app.mainjar=phoenicis-javafx-5.0-SNAPSHOT.jar
app.mainclass=org/phoenicis/javafx/JavaFXApplication
packager.java.version=11.0.1

[JVMOptions]
-XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCI
--upgrade-module-path=./app/compiler.jar

[JVMUserOptions]

[ArgOptions]

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

What if you change --upgrade-module-path=./app/compiler.jar to the absolute path to compiler.jar?

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

When changing the line to --upgrade-module-path=/usr/share/phoenicis/app/compiler.jar the installation works as intended. The only think that I've found in the log is the following exception which does not seem to influence the installation negatively:

18:15:05.990 [INFO ] net.sf.jmimemagic.MagicParser (l.429) - endElement(): not adding invalid matcher 'WordPerfect graphic image (2.0)'
18:15:05.994 [ERROR] net.sf.jmimemagic.MagicMatcher (l.731) - failed to load detector: 
                net.sf.jmimemagic.detectors.TextFileDetector
            
java.lang.ClassNotFoundException: 
                net.sf.jmimemagic.detectors.TextFileDetector
            
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:315)
	at net.sf.jmimemagic.MagicMatcher.getDetectorExtensions(MagicMatcher.java:726)
	at net.sf.jmimemagic.Magic.initialize(Magic.java:90)
	at net.sf.jmimemagic.Magic.getMagicMatch(Magic.java:175)
	at org.phoenicis.tools.files.FileAnalyser.getMatch(FileAnalyser.java:67)
	at org.phoenicis.tools.files.FileAnalyser.getMimetype(FileAnalyser.java:83)
	at org.phoenicis.tools.archive.Extractor.uncompress(Extractor.java:59)
	at org.phoenicis.tools.archive.Extractor.uncompress(Extractor.java:45)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeHandle(HostMethodDesc.java:269)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invoke(HostMethodDesc.java:261)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode$1.executeImpl(HostExecuteNode.java:776)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.execute(GuestToHostRootNode.java:87)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callInlinedForced(OptimizedCallTarget.java:276)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallInlined.call(OptimizedCallTarget.java:880)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.guestToHostCall(GuestToHostRootNode.java:113)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doInvoke(HostExecuteNode.java:786)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doOverloadedCached(HostExecuteNode.java:215)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeAndSpecialize(HostExecuteNodeGen.java:226)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeImpl(HostExecuteNodeGen.java:94)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.execute(HostExecuteNode.java:97)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObject.invokeMember(HostObject.java:371)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMemberNode_AndSpecialize(HostObjectGen.java:1308)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMember(HostObjectGen.java:1283)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:3104)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode.executeCall(JSFunctionCallNode.java:1388)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.BlockNode.execute(BlockNode.java:62)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.BlockNode.execute(BlockNode.java:62)
	at com.oracle.truffle.js.nodes.control.IfNode.execute(IfNode.java:144)
	at com.oracle.truffle.js.nodes.binary.DualNode.execute(DualNode.java:106)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:234)
	at com.oracle.truffle.js.builtins.ArrayPrototypeBuiltins$ArrayForEachIndexCallOperation$DefaultCallbackNode.apply(ArrayPrototypeBuiltins.java:1883)
	at com.oracle.truffle.js.nodes.access.ForEachIndexCallNode.callback(ForEachIndexCallNode.java:182)
	at com.oracle.truffle.js.nodes.access.ForEachIndexCallNode$ForwardForEachIndexCallNode.executeForEachIndexFast(ForEachIndexCallNode.java:215)
	at com.oracle.truffle.js.nodes.access.ForEachIndexCallNode.executeForEachIndex(ForEachIndexCallNode.java:130)
	at com.oracle.truffle.js.builtins.ArrayPrototypeBuiltins$ArrayForEachIndexCallOperation.forEachIndexCall(ArrayPrototypeBuiltins.java:1894)
	at com.oracle.truffle.js.builtins.ArrayPrototypeBuiltins$JSArrayForEachNode.forEach(ArrayPrototypeBuiltins.java:2028)
	at com.oracle.truffle.js.builtins.ArrayPrototypeBuiltinsFactory$JSArrayForEachNodeGen.execute(ArrayPrototypeBuiltinsFactory.java:1778)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.IfNode.executeVoid(IfNode.java:161)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.BlockNode.execute(BlockNode.java:62)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.BlockNode.execute(BlockNode.java:62)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.IfNode.executeVoid(IfNode.java:161)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:68)
	at com.oracle.truffle.js.nodes.control.ReturnTargetNode$FrameReturnTargetNode.execute(ReturnTargetNode.java:121)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:70)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.interop.JSInteropExecuteNode.doDefault(JSInteropExecuteNode.java:72)
	at com.oracle.truffle.js.nodes.interop.JSInteropExecuteNodeGen.execute(JSInteropExecuteNodeGen.java:42)
	at com.oracle.truffle.js.runtime.truffleinterop.InteropBoundFunction.execute(InteropBoundFunction.java:111)
	at com.oracle.truffle.js.runtime.truffleinterop.InteropBoundFunctionGen$InteropLibraryExports$Cached.execute(InteropBoundFunctionGen.java:225)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.execute(InteropLibraryGen.java:2626)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractExecuteNode.executeShared(PolyglotValue.java:1345)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteNode.executeImpl(PolyglotValue.java:1426)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:94)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallProfiled.call(OptimizedCallTarget.java:872)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropValue.execute(PolyglotValue.java:2008)
	at org.graalvm.sdk/org.graalvm.polyglot.Value.execute(Value.java:338)
	at org.phoenicis.engines.Engine$$JSJavaAdapter.run(Unknown Source)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeHandle(HostMethodDesc.java:269)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invoke(HostMethodDesc.java:261)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode$1.executeImpl(HostExecuteNode.java:776)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.execute(GuestToHostRootNode.java:87)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callInlinedForced(OptimizedCallTarget.java:276)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallInlined.call(OptimizedCallTarget.java:880)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.guestToHostCall(GuestToHostRootNode.java:113)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doInvoke(HostExecuteNode.java:786)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doFixed(HostExecuteNode.java:136)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeAndSpecialize(HostExecuteNodeGen.java:136)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeImpl(HostExecuteNodeGen.java:94)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.execute(HostExecuteNode.java:97)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObject.invokeMember(HostObject.java:371)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMemberNode_AndSpecialize(HostObjectGen.java:1308)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMember(HostObjectGen.java:1283)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:3104)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode.executeCall(JSFunctionCallNode.java:1388)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:70)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:68)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:68)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.JavaScriptNode.executeVoid(JavaScriptNode.java:212)
	at com.oracle.truffle.js.nodes.control.AbstractBlockNode.executeVoid(AbstractBlockNode.java:74)
	at com.oracle.truffle.js.nodes.control.BlockNode.execute(BlockNode.java:62)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.unary.VoidNodeGen.execute(VoidNodeGen.java:25)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$UnboundJSFunctionCacheNode.executeCall(JSFunctionCallNode.java:1236)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.interop.JSInteropExecuteNode.doDefault(JSInteropExecuteNode.java:72)
	at com.oracle.truffle.js.nodes.interop.JSInteropExecuteNodeGen.executeAndSpecialize(JSInteropExecuteNodeGen.java:63)
	at com.oracle.truffle.js.nodes.interop.JSInteropExecuteNodeGen.execute(JSInteropExecuteNodeGen.java:46)
	at com.oracle.truffle.js.runtime.truffleinterop.InteropBoundFunction.execute(InteropBoundFunction.java:111)
	at com.oracle.truffle.js.runtime.truffleinterop.InteropBoundFunctionGen$InteropLibraryExports$Cached.executeNode_AndSpecialize(InteropBoundFunctionGen.java:246)
	at com.oracle.truffle.js.runtime.truffleinterop.InteropBoundFunctionGen$InteropLibraryExports$Cached.execute(InteropBoundFunctionGen.java:228)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.execute(InteropLibraryGen.java:2626)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$AbstractExecuteNode.executeShared(PolyglotValue.java:1345)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropCodeCache$ExecuteVoidNoArgsNode.executeImpl(PolyglotValue.java:1399)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:94)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallProfiled.call(OptimizedCallTarget.java:872)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotValue$InteropValue.executeVoid(PolyglotValue.java:2003)
	at org.graalvm.sdk/org.graalvm.polyglot.Value.executeVoid(Value.java:358)
	at org.phoenicis.scripts.Installer$$JSJavaAdapter.run(Unknown Source)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invokeHandle(HostMethodDesc.java:269)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostMethodDesc$SingleMethod$MHBase.invoke(HostMethodDesc.java:261)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode$1.executeImpl(HostExecuteNode.java:776)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.execute(GuestToHostRootNode.java:87)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callInlinedForced(OptimizedCallTarget.java:276)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$OptimizedCallInlined.call(OptimizedCallTarget.java:880)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.GuestToHostRootNode.guestToHostCall(GuestToHostRootNode.java:113)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doInvoke(HostExecuteNode.java:786)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.doFixed(HostExecuteNode.java:136)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeAndSpecialize(HostExecuteNodeGen.java:136)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNodeGen.executeImpl(HostExecuteNodeGen.java:94)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostExecuteNode.execute(HostExecuteNode.java:97)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObject.invokeMember(HostObject.java:371)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMemberNode_AndSpecialize(HostObjectGen.java:1308)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.HostObjectGen$InteropLibraryExports$Cached.invokeMember(HostObjectGen.java:1283)
	at org.graalvm.truffle/com.oracle.truffle.api.interop.InteropLibraryGen$CachedDispatch.invokeMember(InteropLibraryGen.java:3104)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$ForeignInvokeNode.executeCall(JSFunctionCallNode.java:1388)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeAndSpecialize(JSFunctionCallNode.java:292)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall(JSFunctionCallNode.java:238)
	at com.oracle.truffle.js.nodes.function.JSFunctionCallNode$InvokeNode.execute(JSFunctionCallNode.java:708)
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.execute_generic4(JSWriteCurrentFrameSlotNodeGen.java:177)
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.execute(JSWriteCurrentFrameSlotNodeGen.java:93)
	at com.oracle.truffle.js.nodes.access.JSWriteCurrentFrameSlotNodeGen.executeVoid(JSWriteCurrentFrameSlotNodeGen.java:343)
	at com.oracle.truffle.js.nodes.control.ExprBlockNode.execute(ExprBlockNode.java:68)
	at com.oracle.truffle.js.nodes.function.FunctionBodyNode.execute(FunctionBodyNode.java:66)
	at com.oracle.truffle.js.nodes.function.FunctionRootNode.executeInRealm(FunctionRootNode.java:147)
	at com.oracle.truffle.js.runtime.JavaScriptRealmBoundaryRootNode.execute(JavaScriptRealmBoundaryRootNode.java:93)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callDirect(OptimizedCallTarget.java:239)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.call(OptimizedDirectCallNode.java:63)
	at com.oracle.truffle.js.lang.JavaScriptLanguage$1.execute(JavaScriptLanguage.java:212)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProxy(OptimizedCallTarget.java:325)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callRoot(OptimizedCallTarget.java:315)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary(OptimizedCallTarget.java:302)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke(OptimizedCallTarget.java:284)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect(OptimizedCallTarget.java:227)
	at jdk.internal.vm.compiler/org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call(OptimizedCallTarget.java:214)
	at org.graalvm.truffle/com.oracle.truffle.polyglot.PolyglotContextImpl.eval(PolyglotContextImpl.java:800)
	at org.graalvm.sdk/org.graalvm.polyglot.Context.eval(Context.java:341)
	at org.graalvm.sdk/org.graalvm.polyglot.Context.eval(Context.java:367)
	at org.phoenicis.scripts.engine.implementation.PolyglotScriptEngine.eval(PolyglotScriptEngine.java:63)
	at org.phoenicis.scripts.interpreter.PhoenicisScriptInterpreter.runScript(PhoenicisScriptInterpreter.java:36)
	at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$runScript$0(BackgroundScriptInterpreter.java:37)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

This seems to comes from another problem. I'm fixing the MR right now

@madoar
Copy link
Collaborator

madoar commented Jun 1, 2019

0e59dd3 works as expected out of the box. The only thing that looks strange to me are the logs by the build script:

$ bash phoenicis-create-package.sh 
Warning: Version not specified. Reading from pom.xml
Using 5.0-SNAPSHOT
--2019-06-01 18:39:47--  http://download2.gluonhq.com/jpackager/11/jdk.packager-linux.zip
Auflösen des Hostnamen »download2.gluonhq.com (download2.gluonhq.com)«... 178.128.135.159
Verbindungsaufbau zu download2.gluonhq.com (download2.gluonhq.com)|178.128.135.159|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 674385 (659K) [application/zip]
In »»jdk.packager-linux.zip«« speichern.

jdk.packager-linux.zip                                             100%[=============================================================================================================================================================>] 658,58K  1,08MB/s    in 0,6s    

2019-06-01 18:39:47 (1,08 MB/s) - »jdk.packager-linux.zip« gespeichert [674385/674385]

Archive:  jdk.packager-linux.zip
  inflating: jdk.packager.jar        
  inflating: jpackager               
WARNING: argument [linux-bundle-name] is not supported for current configuration.
Creating app bundle: /home/marc/git/POL-POM-5/phoenicis-dist/src/scripts/../../target/packages/PhoenicisPlayOnLinux
Module org.graalvm.truffle does not exist.
Module javafx.web does not exist.
Module javafx.base does not exist.
Module javafx.graphics does not exist.
Module javafx.controls does not exist.
Module javafx.media does not exist.
"Adding modules: [jdk.crypto.ec, java.base, javafx.base, javafx.web, javafx.media, javafx.graphics, javafx.controls, java.naming, java.sql, java.scripting, jdk.scripting.nashorn, jdk.internal.vm.ci, org.graalvm.truffle] to runtime image."
Module org.graalvm.truffle does not exist.
Module javafx.web does not exist.
Module javafx.base does not exist.
Module javafx.graphics does not exist.
Module javafx.controls does not exist.
Module javafx.media does not exist.
dpkg-deb: Paket »phoenicis-playonlinux« wird in »Phoenicis_5.0-SNAPSHOT.deb« gebaut.

Are these Module x does not exist messages normal/expected?

@qparis
Copy link
Member Author

qparis commented Jun 1, 2019

It always had written these errors. You can ignore them

@plata
Copy link
Collaborator

plata commented Jun 1, 2019

We can ignore Codacy here so feel free to merge whenever you are ready.

@qparis qparis merged commit 5853ca7 into PhoenicisOrg:graalvm Jun 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants