mycontroller-v1-legacy
mycontroller-v1-legacy copied to clipboard
Java 11
I tried running MyController with Java 11 and I think the startup script should include flags to disable forbidden reflection or not reflect like that:
[Wed Nov 07 17:26:49 EET 2018] Unexpected problem running servlet
org.jboss.resteasy.spi.UnhandledException: RESTEASY003770: Response is committed, can't handle exception
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:167)
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:471)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:415)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module @5b239d7d (through reference chain: org.mycontroller.standalone.api.jaxrs.utils.StatusJVM["garbageCollectors"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:210)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:177)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:199)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:683)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1387)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:889)
at org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:207)
at org.mycontroller.standalone.api.jaxrs.mixins.McJacksonJson2Provider.writeTo(McJacksonJson2Provider.java:120)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131)
at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:60)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120)
at org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:98)
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:466)
... 12 more
Caused by: java.lang.RuntimeException: java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module @5b239d7d
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGcInfo(StatusJVM.java:68)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGarbageCollector(StatusJVM.java:48)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGarbageCollectors(StatusJVM.java:41)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675)
... 25 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module @5b239d7d
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGcInfo(StatusJVM.java:64)
... 33 more
[Wed Nov 07 17:26:49 EET 2018] Unexpected problem running servlet: org.jboss.resteasy.spi.UnhandledException: RESTEASY003770: Response is committed, can't handle exception
and
2018-11-07 17:26:48,882 ERROR [Acme.Utils.ThreadPool(5)-PooledThread: Acme.Serve.Serve$ServeConnection@7d892951] [org.mycontroller.standalone.api.jaxrs.utils.StatusJVM:67] Error,
java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module @5b239d7d
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGcInfo(StatusJVM.java:64)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGarbageCollector(StatusJVM.java:48)
at org.mycontroller.standalone.api.jaxrs.utils.StatusJVM.getGarbageCollectors(StatusJVM.java:41)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1387)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:889)
at org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.writeTo(ResteasyJackson2Provider.java:207)
at org.mycontroller.standalone.api.jaxrs.mixins.McJacksonJson2Provider.writeTo(McJacksonJson2Provider.java:120)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131)
at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:60)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120)
at org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:98)
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:466)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:415)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
at java.base/java.lang.Thread.run(Thread.java:834)
and
2018-11-07 17:14:45,071 ERROR [mc-th-pool-0] [org.mycontroller.standalone.McUncaughtException:73] Exception,
java.lang.UnsatisfiedLinkError: /tmp/1541603685018-libjSerialComm.so: /tmp/1541603685018-libjSerialComm.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
at java.base/java.lang.Runtime.load0(Runtime.java:767)
at java.base/java.lang.System.load(System.java:1831)
at com.fazecast.jSerialComm.SerialPort.<clinit>(SerialPort.java:181)
at org.mycontroller.standalone.gateway.serial.SerialDriverJSerialComm.connect(SerialDriverJSerialComm.java:55)
at org.mycontroller.standalone.gateway.serial.GatewaySerial.connect(GatewaySerial.java:91)
at org.mycontroller.standalone.provider.EngineAbstract.run(EngineAbstract.java:126)
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)
2018-11-07 17:14:50,709 INFO [main] [org.mycontroller.standalone.StartApp:217] TJWS server started successfully, HTTPS Enabled?:false, HTTP(S) Port: [8080]
2018-11-07 17:14:50,714 INFO [main] [org.mycontroller.standalone.StartApp:115] MyController.org server started in [20947] ms
java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement
at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:131)
at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:118)
at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:110)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at com.fasterxml.jackson.jaxrs.json.JsonMapperConfigurator._resolveIntrospector(JsonMapperConfigurator.java:111)
at com.fasterxml.jackson.jaxrs.json.JsonMapperConfigurator._resolveIntrospectors(JsonMapperConfigurator.java:84)
at com.fasterxml.jackson.jaxrs.cfg.MapperConfiguratorBase._setAnnotations(MapperConfiguratorBase.java:120)
at com.fasterxml.jackson.jaxrs.json.JsonMapperConfigurator.getDefaultMapper(JsonMapperConfigurator.java:45)
at com.fasterxml.jackson.jaxrs.base.ProviderBase.locateMapper(ProviderBase.java:867)
at org.mycontroller.standalone.api.jaxrs.mixins.McJacksonJson2Provider.writeTo(McJacksonJson2Provider.java:85)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.writeTo(AbstractWriterInterceptorContext.java:131)
at org.jboss.resteasy.core.interception.ServerWriterInterceptorContext.writeTo(ServerWriterInterceptorContext.java:60)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:120)
at org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor.aroundWriteTo(GZIPEncodingInterceptor.java:100)
at org.jboss.resteasy.core.interception.AbstractWriterInterceptorContext.proceed(AbstractWriterInterceptorContext.java:124)
at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:98)
at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:466)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:415)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.tjws.TJWSServletDispatcher.service(TJWSServletDispatcher.java:40)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at Acme.Serve.Serve$ServeConnection.runServlet(Serve.java:2328)
at Acme.Serve.Serve$ServeConnection.parseRequest(Serve.java:2282)
at Acme.Serve.Serve$ServeConnection.run(Serve.java:2054)
at Acme.Utils$ThreadPool$PooledThread.run(Utils.java:1402)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement
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)
... 33 more
One more during startup
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.postgresql.jdbc.TimestampUtils (file:/usr/lib/mycontroller/lib/mycontroller-dist-standalone-1.3.0.Final-single.jar) to field java.util.TimeZone.defaultTimeZone
WARNING: Please consider reporting this to the maintainers of org.postgresql.jdbc.TimestampUtils
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
@Avamander Thanks for the input. In which platform are you using? Is Java 11 default on your environment?
I'm using it on my Raspberry Pi 3B, Java 11 is not yet the default but I'm pretty sure some security changes that break MyController are already in Java 9, which means next time a distribution bumps their java version default MyController will probably break.
I see the same exceptions under Java 9
openjdk 9-Raspbian
OpenJDK Runtime Environment (build 9-Raspbian+0-9b181-4bpo9rpt1)
OpenJDK Server VM (build 9-Raspbian+0-9b181-4bpo9rpt1, mixed mode)
I logged a similar issue: https://github.com/mycontroller-org/mycontroller/issues/495
I'm having the same issue
Unexpected problem running servlet org.jboss.resteasy.spi.UnhandledException: RESTEASY003770: Response is committed, can't handle exception
[...]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module @1fc2b765 (through reference chain: org.mycontroller.standalone.api.jaxrs.utils.StatusJVM["garbageCollectors"])
[...]
Caused by: java.lang.RuntimeException: java.lang.reflect.InaccessibleObjectException: Unable to make public com.sun.management.GcInfo com.sun.management.internal.GarbageCollectorExtImpl.getLastGcInfo() accessible: module jdk.management does not "exports com.sun.management.internal" to unnamed module
running on ubuntu with openjdk 11.0.3
Any News on this?
@Emmpunkt Planing to start version 2.x in the near future. So no plan to upgrade to Java 11. However, pull requests are welcome.
If you need a docker image with version openjdk 1.8, let me know I can produce a docker image.
Hola tengo el mismo error y me dice que mi version tiene que ser 1.7 o mayor. Y yo tengo la versión 11. Cómo se podria arreglar eso? Gracias