insight-centre / naisc

Naisc - Automated Linking Tool
Apache License 2.0
8 stars 1 forks source link

naisc-rest web server crashes #6

Closed kernc closed 3 years ago

kernc commented 3 years ago

After building:

% ./gradlew jarWithDeps --rerun-tasks ``` Downloading https://services.gradle.org/distributions/gradle-6.7-bin.zip .................................................................................................. Welcome to Gradle 6.7! Here are the highlights of this release: - File system watching is ready for production use - Declare the version of Java your build requires - Java 15 support For more details see https://docs.gradle.org/6.7/release-notes.html Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details > Task :naisc-core:compileJava Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. > Task :naisc-core:compileTestJava Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. > Task :naisc-meas:compileJava Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. > Task :naisc-meas:compileTestJava Note: /home/user/naisc/naisc-meas/src/test/java/org/insightcentre/uld/naisc/meas/DataViewTest.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 3m 23s 19 actionable tasks: 19 executed ```

To start the ELEXIS Nasic/REST interface, I run:

% ./gradlew appRun
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/home/user/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.5.8/2f1e8ea55e625fe51e85ef35eb067f1d9c61772d/groovy-2.5.8.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
16:36:40 WARN  Ignoring deprecated socket close linger time
16:36:42 INFO  Jetty 9.4.14.v20181114 started and listening on port 8080
16:36:42 INFO  naisc-rest runs at:
16:36:42 INFO    http://localhost:8080/naisc-rest

> Task :naisc-rest:appRun
Press any key to stop the server.

Then, issuing:

% curl --data foo_task_id http://localhost:8080/naisc-rest/status

expecting e.g. error 404 for the invalid task id, the app instead seemingly crashes, with the server returning error 500:

16:36:46 WARN  unavailable
java.lang.ClassNotFoundException: org.insightcentre.uld.naisc.rest.Application
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:556) ~[jetty-webapp-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.akhikhl.gretty.FilteringClassLoader.loadClass(FilteringClassLoader.java:72) ~[gretty-runner-jetty94-3.0.1.jar:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
        at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
        at java.base/java.lang.Class.forName(Class.java:315) ~[na:na]
        at org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:408) ~[jersey-common-2.22.2.jar:na]
        at org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:398) ~[jersey-common-2.22.2.jar:na]
        at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
        at org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:588) ~[jersey-container-servlet-core-2.22.2.jar:na]
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:356) ~[jersey-container-servlet-core-2.22.2.jar:na]
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177) ~[jersey-container-servlet-core-2.22.2.jar:na]
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369) ~[jersey-container-servlet-core-2.22.2.jar:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:244) ~[javax.servlet-api-3.1.0.jar:3.1.0]
        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:672) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:521) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:805) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:537) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.Server.handle(Server.java:502) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.14.v20181114.jar:9.4.14.v20181114]
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
16:36:46 WARN  /naisc-rest/status
javax.servlet.ServletException: Resource configuration class org.insightcentre.uld.naisc.rest.Application could not be loaded.
        at org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:601) ~[na:na]
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:356) ~[na:na]
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177) ~[na:na]
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369) ~[na:na]
        at javax.servlet.GenericServlet.init(GenericServlet.java:244) ~[javax.servlet-api-3.1.0.jar:3.1.0]
        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:672) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:521) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:805) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:537) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) ~[jetty-security-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) ~[jetty-servlet-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.Server.handle(Server.java:502) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) ~[jetty-server-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) ~[jetty-io-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) ~[jetty-util-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) ~[jetty-util-9.4.14.v20181114.jar:9.4.14.v20181114]
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.lang.ClassNotFoundException: org.insightcentre.uld.naisc.rest.Application
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:556) ~[jetty-webapp-9.4.14.v20181114.jar:9.4.14.v20181114]
        at org.akhikhl.gretty.FilteringClassLoader.loadClass(FilteringClassLoader.java:72) ~[gretty-runner-jetty94-3.0.1.jar:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
        at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
        at java.base/java.lang.Class.forName(Class.java:315) ~[na:na]
        at org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:408) ~[na:na]
        at org.glassfish.jersey.internal.util.ReflectionHelper$7.run(ReflectionHelper.java:398) ~[na:na]
        at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
        at org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:588) ~[na:na]
        ... 32 common frames omitted

Would you have an idea what's wrong with my environment? Are the initial warnings not as innocuous as they seem?

jmccrae commented 3 years ago

There is nothing wrong with your environment, something very odd happened in a merge and it silently deleted a load of code from the repo. I actually have had to delete Git history and roll back the release... :fearful:

Also, I gave the wrong command in the readme. It should be

./gradlew bootRun

Could you pull and try again?

PS. your error suggests that there is something wrong with compiling the Kotlin code, but you don't need the Kotlin section of the project for ELEXIS

kernc commented 3 years ago

Target bootRun now successfully raises the web server. Thanks!