Enonic version: Enonic XP 7.7.3 OS: Pop!_OS 20.04 LTS
I’m having some errors when starting my application:
In my main.js file src/main/resources/main.js, I import some of Enonic’s libs, such as http-client, context, content, and task. But then I get the following error messages:
I have the same error. Now using the latest enonic version (7.15.3). The feature works perfectly even with this error.
java.util.concurrent.CompletionException: java.lang.RuntimeException: Script require failed: [myProject:/lib/xp/node.js]
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Script require failed: [myProject:/lib/xp/node.js]
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:139)
at com.enonic.xp.script.impl.function.RequireFunction.call(RequireFunction.java:31)
at org.openjdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at org.openjdk.nashorn.internal.scripts.Script$Recompilation$76$1AAAAAA$index.L:1(myProject:/lib/modules/delete-contactforms/index.js:2)
at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:658)
at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
at org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:164)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJs(ScriptExecutorImpl.java:216)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJsOrJson(ScriptExecutorImpl.java:205)
at com.enonic.xp.script.impl.executor.ScriptExportsCache.getOrCompute(ScriptExportsCache.java:53)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:135)
at com.enonic.xp.script.impl.function.RequireFunction.call(RequireFunction.java:31)
at org.openjdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at org.openjdk.nashorn.internal.scripts.Script$Recompilation$68$1AAAAAA$index.L:1(myProject:/jobs/delete-contact-forms.js:4)
at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:678)
at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
at org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:164)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJs(ScriptExecutorImpl.java:216)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJsOrJson(ScriptExecutorImpl.java:205)
at com.enonic.xp.script.impl.executor.ScriptExportsCache.getOrCompute(ScriptExportsCache.java:53)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:135)
at com.enonic.xp.script.impl.function.RequireFunction.call(RequireFunction.java:31)
at org.openjdk.nashorn.internal.runtime.linker.JSObjectLinker.jsObjectScopeCall(JSObjectLinker.java:254)
at org.openjdk.nashorn.internal.scripts.Script$Recompilation$66$1AAAAAA$main.L:1(myProject:/main.js:4)
at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:678)
at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
at org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:164)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJs(ScriptExecutorImpl.java:216)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.requireJsOrJson(ScriptExecutorImpl.java:205)
at com.enonic.xp.script.impl.executor.ScriptExportsCache.getOrCompute(ScriptExportsCache.java:53)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:135)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.doExecuteMain(ScriptExecutorImpl.java:118)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
... 4 common frames omitted
Caused by: java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.ReentrantLock$Sync.tryLockNanos(ReentrantLock.java:167)
at java.base/java.util.concurrent.locks.ReentrantLock.tryLock(ReentrantLock.java:479)
at com.enonic.xp.script.impl.executor.ScriptExportsCache.getOrCompute(ScriptExportsCache.java:42)
at com.enonic.xp.script.impl.executor.ScriptExecutorImpl.executeRequire(ScriptExecutorImpl.java:135)
... 42 common frames omitted
It appear to me that the error is not the same.
There is some long running or never ending code starting in main.js
As soon as a new verison of an app starts - the old app instance is interrupted to prevent memory leaks (hance InterruptedException)
Avoid delayed “require” techniques - maybe it will reveal what exactly is going on