diff --git a/documentation/plugins-affected-by-jetty12-upgrade.html b/documentation/plugins-affected-by-jetty12-upgrade.html new file mode 100644 index 0000000000..edd84ff59f --- /dev/null +++ b/documentation/plugins-affected-by-jetty12-upgrade.html @@ -0,0 +1,250 @@ + + + + Openfire: Overview + + + + + +
+ +
+ Openfire Logo +

Plugins Affected by Jetty 12 Upgrade

+
+ +

Overview

+

+ Openfire's upgrade to Jetty 12, using EE8 packages, is known to affect 16 plugins. Five types of errors have been identified across the affected plugins. The table below lists the plugins and the types of errors they are experiencing: +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Broken Plugin Information
Plugin NameError Type
Candyjava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
Fastpath Servicejava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
Galenejava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
Giteajava.lang.NoClassDefFoundError: org/eclipse/jetty/security/ConstraintSecurityHandler
HTTP File Uploadjava.lang.VerifyError: Bad type on operand stack
inVersejava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
IPFSjava.lang.NoSuchMethodError: 'java.lang.String org.jivesoftware.util.JiveGlobals.getHomeDirectory()
JSXCjava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
Monitoring Servicejava.lang.VerifyError: Bad type on operand stack
NodeJsjava.lang.NoSuchMethodError: 'java.lang.String org.jivesoftware.util.JiveGlobals.getHomeDirectory()
Ohunjava.lang.NoClassDefFoundError: org/eclipse/jetty/security/ConstraintSecurityHandler
Openfire WebSocketjava.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/servlet/WebSocketServlet
osw-openfire-pluginjava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
Padejava.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/server/JettyWebSocketCreator
Random Avatar Generator Pluginjava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
xmppwebjava.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
+ +
+ +

Error Details and Potential Solutions

+

+ This section provides further details on the five types of errors observed and offers suggestions for addressing them. +

+ +

java.lang.VerifyError

+
+
+ Error found in openfire.log +
java.lang.VerifyError: Bad type on operand stack
+        Exception Details:
+          Location:
+            org/eclipse/jetty/servlet/ServletContextHandler.setGzipHandler(Lorg/eclipse/jetty/server/handler/gzip/GzipHandler;)V @6: invokespecial
+          Reason:
+            Type 'org/eclipse/jetty/server/handler/gzip/GzipHandler' (current frame, stack[2]) is not assignable to 'org/eclipse/jetty/server/handler/HandlerWrapper'
+          Current Frame:
+            bci: @6
+            flags: { }
+            locals: { 'org/eclipse/jetty/servlet/ServletContextHandler', 'org/eclipse/jetty/server/handler/gzip/GzipHandler' }
+            stack: { 'org/eclipse/jetty/servlet/ServletContextHandler', 'org/eclipse/jetty/server/handler/gzip/GzipHandler', 'org/eclipse/jetty/server/handler/gzip/GzipHandler' }
+          Bytecode:
+            0000000: 2a2a b400 352b b700 762a 2bb5 0035 2ab7
+            0000010: 0018 b1
+            at org.jivesoftware.openfire.plugin.MonitoringPlugin.loadPublicWeb(MonitoringPlugin.java:279) ~[monitoring-2.6.1.jar:?]
+            at org.jivesoftware.openfire.plugin.MonitoringPlugin.initializePlugin(MonitoringPlugin.java:186) ~[monitoring-2.6.1.jar:?]
+            at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:640) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+            at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:380) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+            at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:368) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+            at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
+            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
+            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
+            at java.lang.Thread.run(Thread.java:840) [?:?]
+        
+
+

Consider using org.eclipse.jetty.server.Handler.Wrapper to replace org.eclipse.jetty.server.handler.HandlerWrapper.

+
+ +

org.eclipse.jetty.webapp.WebAppContext

+
+
+ Error found in openfire.log +
java.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppContext
+    at org.igniterealtime.openfire.plugin.inverse.InversePlugin.initializePlugin(InversePlugin.java:63) ~[inverse-10.1.7.1.jar:?]
+    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:640) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:380) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:368) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
+    at java.lang.Thread.run(Thread.java:840) [?:?]
+Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.webapp.WebAppContext
+    at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
+    at java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
+    at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
+    ... 8 more
+        
+
+

Consider using the EE8 WebAppContext from org.eclipse.jetty.ee8.webapp.WebAppContext to replace org.eclipse.jetty.webapp.WebAppContext.

+
+ +

org.jivesoftware.util.JiveGlobals.getHomeDirectory()

+
+
+ Error found in openfire.log +
java.lang.NoSuchMethodError: 'java.lang.String org.jivesoftware.util.JiveGlobals.getHomeDirectory()'
+    at org.ifsoft.ipfs.openfire.PluginImpl.initializePlugin(PluginImpl.java:74) ~[ipfs-native.jar:?]
+    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:640) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:380) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:368) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
+    at java.lang.Thread.run(Thread.java:840) [?:?]
+        
+
+
+ +

org/eclipse/jetty/security/ConstraintSecurityHandler

+
+
+ Error found in openfire.log +
java.lang.NoClassDefFoundError: org/eclipse/jetty/security/ConstraintSecurityHandler
+    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]
+    at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]
+	at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?]
+    at java.lang.Class.newInstance(Class.java:626) ~[?:?]
+	at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:587) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+	at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:380) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+	at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:368) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
+	at java.lang.Thread.run(Thread.java:840) [?:?]
+Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.security.ConstraintSecurityHandler
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
+	... 11 more
+        
+
+

Consider using the EE8 ConstraintSecurityHandler from org.eclipse.jetty.ee8.security.ConstraintSecurityHandler to replace org.eclipse.jetty.security.ConstraintSecurityHandler.

+
+ +

org/eclipse/jetty/websocket/server/JettyWebSocketCreator

+
+
+ Error found in openfire.log +
java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/server/JettyWebSocketCreator
+    at uk.ifsoft.openfire.plugins.pade.PadePlugin.initializePlugin(PadePlugin.java:117) ~[pade-1.8.3.jar:?]
+    at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:640) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:380) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:368) [xmppserver-4.10.0-SNAPSHOT.jar:4.10.0-SNAPSHOT]
+    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
+    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
+    at java.lang.Thread.run(Thread.java:840) [?:?]
+Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.websocket.server.JettyWebSocketCreator
+    at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
+    at java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
+    at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
+    ... 8 more
+        
+
+

Consider using the EE8 JettyWebSocketServlet from org.eclipse.jetty.ee8.websocket.server.JettyWebSocketServlet to replace org.eclipse.jetty.websocket.server.JettyWebSocketCreator.

+
+ + + +
+ + +