Hello. I am using nginx-clojure-embed library for my testing. (IDE : intellij, OS : Mac 10.12.6)
<dependency>
<groupId>nginx-clojure</groupId>
<artifactId>nginx-clojure</artifactId>
<version>0.4.1</version>
</dependency>
<dependency>
<groupId>nginx-clojure</groupId>
<artifactId>nginx-clojure-embed</artifactId>
<version>0.4.1</version>
<scope>test</scope>
</dependency>
And I checked that it works properly even if I change the version.
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.1
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.2
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.3
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.4
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.5
nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.5_2
The result is complicated.
when I use nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.1 or nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.2
error code is below.
Exception in thread "nginx-clojure-embed" java.lang.IllegalStateException: NginxClojureRT required version is >=0.4.5, but here is 0.4.4
at nginx.clojure.NginxClojureRT.initMemIndex(NginxClojureRT.java:726)
at nginx.clojure.embed.NginxEmbedServer.innerStart(Native Method)
at nginx.clojure.embed.NginxEmbedServer.access$000(NginxEmbedServer.java:30)
at nginx.clojure.embed.NginxEmbedServer$1.run(NginxEmbedServer.java:310)
at java.lang.Thread.run(Thread.java:745)
nginx: [error] can not initialize jvm memory util
nginx: [error] jvm start times 1
Exception in thread "nginx-clojure-embed" java.lang.RuntimeException: can not find subclass of NginxHandlerFactory for type : java
at nginx.clojure.NginxHandlerFactory.fetchHandler(NginxHandlerFactory.java:44)
at nginx.clojure.NginxClojureRT.registerCode(NginxClojureRT.java:866)
at nginx.clojure.embed.NginxEmbedServer.innerStart(Native Method)
at nginx.clojure.embed.NginxEmbedServer.access$000(NginxEmbedServer.java:30)
at nginx.clojure.embed.NginxEmbedServer$1.run(NginxEmbedServer.java:310)
at java.lang.Thread.run(Thread.java:745)
nginx: [error] invalid java exit-process code : com.navercorp.iims2proxy.IIMS2ProxyNginxEndHandler
2017-08-14 11:15:43.203 ERROR default c.n.iims2proxy.test.LocalTestServer - start error:init_process error
java.lang.RuntimeException: start error:init_process error
at nginx.clojure.embed.NginxEmbedServer.start(NginxEmbedServer.java:324) ~[nginx-clojure-embed-0.4.2.jar:na]
at nginx.clojure.embed.NginxEmbedServer.start(NginxEmbedServer.java:282) ~[nginx-clojure-embed-0.4.2.jar:na]
at com.navercorp.iims2proxy.test.LocalTestServer.start(LocalTestServer.java:63) ~[test-classes/:na]
at com.navercorp.iims2proxy.test.AbstractAcceptanceTest.setUp(AbstractAcceptanceTest.java:47) [test-classes/:na]
when I use nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.3, nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.4, nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.5, nginx- clojure : 0.4.5, nginx-clojure-embed : 0.4.5_2
error code is below.
nginx: [emerg] "jvm_handler_type" directive is duplicate in /private/var/folders/hx/nwx6tpvd2s57qr2wsxlkd17r0000gn/T/nginx-clojure-embed-8650/embed.conf:19
2017-08-14 10:46:24.353 ERROR default c.n.iims2proxy.test.LocalTestServer - start error:ngx_init_cycle
java.lang.RuntimeException: start error:ngx_init_cycle
at nginx.clojure.embed.NginxEmbedServer.start(NginxEmbedServer.java:338) ~[nginx-clojure-embed-0.4.3.jar:na]
at nginx.clojure.embed.NginxEmbedServer.start(NginxEmbedServer.java:293) ~[nginx-clojure-embed-0.4.3.jar:na]
at com.navercorp.iims2proxy.test.LocalTestServer.start(LocalTestServer.java:63) ~[test-classes/:na]
at com.navercorp.iims2proxy.test.AbstractAcceptanceTest.setUp(AbstractAcceptanceTest.java:47) [test-classes/:na]
...
The surprising thing is that when testing with various versions, the originally working version will fail.
nginx- clojure : 0.4.1, nginx-clojure-embed : 0.4.1
2017-08-14 14:06:04[info]:[nginx-clojure embed] starting......
nginx: [error] too low version jar of nginx-clojure, we need at least 0.4.2, but meet 0.4.1
nginx: [error] can not initialize jvm memory util
nginx: [error] jvm start times 1
2017-08-14 14:06:04[info]:[nginx-clojure embed] finish configuration check
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000010351b966, pid=11359, tid=0x0000000000008b03
#
# JRE version: Java(TM) SE Runtime Environment (8.0_111-b14) (build 1.8.0_111-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.111-b14 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V [libjvm.dylib+0x31b966] jni_CallStaticIntMethod+0xe0
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/naver/Documents/sentinel/sentinel-proxy/sentinel-proxy/hs_err_pid11359.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
Which part should I look at? thanks in advance.