jgraph / drawio

draw.io is a JavaScript, client-side editor for general diagramming.
https://www.drawio.com
Other
40.72k stars 7.58k forks source link

Unable to authorize draw.io in self-hosted gitlab #2507

Closed maleksan closed 2 years ago

maleksan commented 2 years ago

Unable to authorize draw.io in self-hosted gitlab.

With Docker version "15.5.4-alpine" all working fine and there is possibility authorize in self-hosted gitlab.

Installing the latest version "16.0.3-alpine" with the same parameters and unfortunately in gui there is auth error "Unknown error".

Looking at Catalaina "localhost.2021-12-23.log" log file there is such error:

23-Dec-2021 10:48:45.466 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
23-Dec-2021 10:48:45.467 INFO [main] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
23-Dec-2021 10:48:45.468 INFO [main] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@7e7987b8')
23-Dec-2021 10:50:12.150 INFO [http-nio-8080-exec-2] org.apache.catalina.core.ApplicationContext.log Marking servlet [GitlabAuthServlet] as unavailable
23-Dec-2021 10:50:12.150 SEVERE [http-nio-8080-exec-2] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [GitlabAuthServlet]
        java.lang.IncompatibleClassChangeError: Implementing class
                at java.lang.ClassLoader.defineClass1(Native Method)
                at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
                at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
                at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2415)
                at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:863)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
                at java.lang.Class.getDeclaredConstructors0(Native Method)
                at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
                at java.lang.Class.getConstructor0(Class.java:3075)
                at java.lang.Class.newInstance(Class.java:412)
                at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
                at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
                at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
                at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:448)
                at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:442)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProviders(Caching.java:442)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:529)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:476)
                at javax.cache.Caching.getCachingProvider(Caching.java:226)
                at com.mxgraph.online.CacheFacade.createCache(CacheFacade.java:43)
                at com.mxgraph.online.CacheFacade.createCache(CacheFacade.java:23)
                at com.mxgraph.online.AbsAuthServlet.<clinit>(Unknown Source)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:151)
                at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1030)
                at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
                at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:748)

Tried as well with Docker "16.0.3" none-Alpine version and there is a little bit another kind of error:

23-Dec-2021 11:52:07.281 INFO [http-nio-8080-exec-9] org.apache.catalina.core.ApplicationContext.log Marking servlet [GitlabAuthServlet] as unavailable
23-Dec-2021 11:52:07.282 SEVERE [http-nio-8080-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [GitlabAuthServlet]
        java.lang.IncompatibleClassChangeError: class org.ehcache.jsr107.Eh107CacheManager can not implement javax.cache.CacheManager, because it is not an interface (javax.cache.CacheManager is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @10ded6a9)
                at java.base/java.lang.ClassLoader.defineClass1(Native Method)
                at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
                at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
                at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478)
                at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371)
                at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215)
                at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
                at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
                at java.base/java.lang.Class.getConstructor0(Unknown Source)
                at java.base/java.lang.Class.getConstructor(Unknown Source)
                at java.base/java.util.ServiceLoader$1.run(Unknown Source)
                at java.base/java.util.ServiceLoader$1.run(Unknown Source)
                at java.base/java.security.AccessController.doPrivileged(Native Method)
                at java.base/java.util.ServiceLoader.getConstructor(Unknown Source)
                at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(Unknown Source)
                at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(Unknown Source)
                at java.base/java.util.ServiceLoader$2.hasNext(Unknown Source)
                at java.base/java.util.ServiceLoader$3.hasNext(Unknown Source)
                at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:448)
                at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:442)
                at java.base/java.security.AccessController.doPrivileged(Native Method)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProviders(Caching.java:442)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:529)
                at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:476)
                at javax.cache.Caching.getCachingProvider(Caching.java:226)
                at com.mxgraph.online.CacheFacade.createCache(CacheFacade.java:43)
                at com.mxgraph.online.CacheFacade.createCache(CacheFacade.java:23)
                at com.mxgraph.online.AbsAuthServlet.<clinit>(Unknown Source)
                at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
                at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
                at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1070)
                at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732)
                at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
                at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.base/java.lang.Thread.run(Unknown Source)
davidjgraph commented 2 years ago

Should be fixed in 16.1.0

maleksan commented 2 years ago

now it works, thank you!

rickywu commented 2 years ago

what version of gitlab do you use, I can't get it work with gitlab 14.8

maleksan commented 2 years ago

Well, I don't remember what Gitlab version was at that moment. If you are using now the last Drawio version, the check this (currently unresolved) issue: https://github.com/jgraph/drawio/issues/2649