Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JVB / Websocket Configuration not working anymore since 2.0.9584 / Port 9090 not opening #2184

Closed
amsnek opened this issue Jul 5, 2024 · 10 comments

Comments

@amsnek
Copy link

amsnek commented Jul 5, 2024

Description

Updating to 2.0.9584 results in the websocket port (9090) not opening anymore. Configuration according to:
https://github.com/jitsi/jitsi-videobridge/blob/master/doc/web-sockets.md
edit: also affects colibri stats (http://localhost:8080/colibri/stats)

Current behavior

on startup, jvb shows the following errors
port 9090 is not opened.
2.0.9584

2024-07-05 15:12:59.408 INFO: [1] MainKt.main#121: Starting public http server
2024-07-05 15:12:59.455 WARNING: [20] MucClient.createXMPPTCPConnectionConfiguration#117: Disabling certificate verification!
2024-07-05 15:12:59.458 WARNING: [1] ColibriWebSocketService.<init>#51: Websockets enabled, but no domains specified: URLs=[wss://domain.tld/colibri-ws/videobridge1], Relay URLs=[]
2024-07-05 15:12:59.534 WARNING: [21] [hostname=domain.tld id=xmpp-server-1] MucClient.setPresenceExtensions#467: Cannot set presence extension: not connected.
2024-07-05 15:12:59.586 SEVERE: [1] MainKt.main$lambda$0#55: An uncaught exception occurred in thread=Thread[main,5,main]
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler$Wrapper
#011at java.base/java.lang.ClassLoader.defineClass1(Native Method)
#011at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
#011at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
#011at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
#011at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
#011at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
#011at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
#011at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
#011at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
#011at org.jitsi.rest.JettyHelpers.createJettyServer(JettyHelpers.kt:50)
#011at org.jitsi.rest.JettyHelpers.createServer(JettyHelpers.kt:111)
#011at org.jitsi.videobridge.MainKt.main(Main.kt:125)
 #011at org.jitsi.videobridge.MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.Handler$Wrapper
#011at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
#011at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
#011at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
#011... 13 more

Expected Behavior

port 9090 opening
same configuration with 2.0.9457:

2024-07-05 15:17:50.868 INFO: [1] MainKt.main#120: Starting public http server
2024-07-05 15:17:50.916 INFO: [18] [hostname=domain.tld id=xmpp-server-1] MucClient.initializeConnectAndJoin#350: Dispatching a thread to connect and login.
2024-07-05 15:17:50.918 WARNING: [1] ColibriWebSocketService.<init>#51: Websockets enabled, but no domains specified: URLs=[wss://domain.tld/colibri-ws/videobridge1], Relay URLs=[]
2024-07-05 15:17:51.070 INFO: [1] ColibriWebSocketService.registerServlet#84: Registering servlet with baseUrls = [wss://domain.tld/colibri-ws/videobridge1], relayBaseUrls = []
2024-07-05 15:17:51.102 INFO: [1] org.eclipse.jetty.server.Server.doStart: jetty-11.0.20; built: 2024-01-29T21:04:22.394Z; git: 922f8dc188f7011e60d0361de585fd4ac4d63064; jvm 17.0.11+9-LTS
2024-07-05 15:17:51.187 INFO: [1] org.eclipse.jetty.server.handler.ContextHandler.doStart: Started o.e.j.s.ServletContextHandler@7186333e{/,null,AVAILABLE}
2024-07-05 15:17:51.200 INFO: [1] org.eclipse.jetty.server.AbstractConnector.doStart: Started ServerConnector@7c455e96{HTTP/1.1, (http/1.1)}{0.0.0.0:9090}
2024-07-05 15:17:51.201 INFO: [1] org.eclipse.jetty.server.Server.doStart: Started Server@62e7dffa{STARTING}[11.0.20,sto=0] @1886ms
2024-07-05 15:17:51.201 INFO: [1] MainKt.main#138: Starting private http server
2024-07-05 15:17:51.228 INFO: [1] org.eclipse.jetty.server.Server.doStart: jetty-11.0.20; built: 2024-01-29T21:04:22.394Z; git: 922f8dc188f7011e60d0361de585fd4ac4d63064; jvm 17.0.11+9-LTS
2024-07-05 15:17:51.336 INFO: [18] [hostname=domain.tld id=xmpp-server-1] MucClient$2.connected#321: Connected.

Possible Solution

not using websockets / http-bind instead
downgrade to 2.0.9457

Steps to reproduce

upgrade to 2.0.9584

Environment details

custom install
java 17.0.11

@damencho
Copy link
Member

damencho commented Jul 5, 2024

2024-07-05 15:12:59.586 SEVERE: [1] MainKt.main$lambda$0#55: An uncaught exception occurred in thread=Thread[main,5,main]
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Handler$Wrapper

Are you sure that some old jetty jars are not left there which break jvb?

@amsnek
Copy link
Author

amsnek commented Jul 5, 2024

I would think so, as this is build with mavan 3.8 / java17 on a remote host and packed -> installed on remote system. The old folder will be removed entirely. The builds itself are done in containers, which are ephermal, so there should be no old artefacts

But if this is not reproduceable and is possible that it is related to my setup -> will re-investigate

@damencho
Copy link
Member

damencho commented Jul 5, 2024

This error is problem with the java dependencies.
We haven't seen such an error in any of our environments.

Have you tried using the debian packages provided by our repositories, do you reproduce it with them?

@amsnek
Copy link
Author

amsnek commented Jul 5, 2024

will try to test with debian packages but that is no quick setup in this case.

fyi, these are the files in the snapshot

jitsi-videobridge-2.3-SNAPSHOT/jitsi-videobridge.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/videobridge.rc
jitsi-videobridge-2.3-SNAPSHOT/lib/logging.properties
jitsi-videobridge-2.3-SNAPSHOT/jvb.bat
jitsi-videobridge-2.3-SNAPSHOT/jvb.sh
jitsi-videobridge-2.3-SNAPSHOT/lib/json-simple-1.1.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/guava-33.2.0-jre.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/failureaccess-1.0.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jsr305-3.0.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/checker-qual-3.42.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/error_prone_annotations-2.26.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/j2objc-annotations-3.0.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-rewrite-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-server-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-jakarta-servlet-api-5.0.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-servlets-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-http-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-io-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-util-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-jetty-server-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-servlet-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-webapp-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-xml-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-jetty-api-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-jetty-common-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-core-common-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-servlet-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-core-server-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-jetty-client-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-client-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-alpn-client-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/websocket-core-client-11.0.21.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/annotations-24.1.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/spotbugs-annotations-4.6.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-media-transform-2.3-SNAPSHOT.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-srtp-1.1-18-g98e4c5d.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/bctls-jdk18on-1.78.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/bcutil-jdk18on-1.78.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/bcprov-jdk18on-1.78.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/bcpkix-jdk18on-1.78.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/pcap4j-core-1.8.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/pcap4j-packetfactory-static-1.8.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/rtp-2.3-SNAPSHOT.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-sctp-1.0-21-gfe0d028.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-dcsctp-1.0-3-gaf9d564.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smjni-jnigen-processor-3.9.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smjni-jnigen-annotations-3.9.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/slf4j-api-2.0.13.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/slf4j-jdk14-2.0.13.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/ice4j-3.0-69-ga53b402.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/java-sdp-nist-bridge-1.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/sdp-api-1.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jain-sip-ri-ossonly-1.2.279-jitsi-oss1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/weupnp-0.1.4.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jicoco-1.1-140-g8f45a9f.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-proxy-11.0.20.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jcl-core-2.8.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/objenesis-2.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/cglib-nodep-2.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/object-cloner-0.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-core-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-xmlparser-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jxmpp-core-1.0.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jxmpp-util-cache-1.0.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jxmpp-jid-1.0.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/minidns-core-1.0.5.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-extensions-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-im-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-tcp-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-streammanagement-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-xmlparser-stax-4.4.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/javassist-3.28.0-GA.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jicoco-config-1.1-140-g8f45a9f.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/config-1.4.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jicoco-metrics-1.1-140-g8f45a9f.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/simpleclient-0.16.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/simpleclient_tracer_otel-0.16.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/simpleclient_tracer_common-0.16.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/simpleclient_tracer_otel_agent-0.16.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/simpleclient_common-0.16.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-xmpp-extensions-1.0-80-g0ce9883.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-java8-4.4.8.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-resolver-javax-4.4.8.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/smack-sasl-javax-4.4.8.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jxmpp-stringprep-rocksxmppprecis-1.0.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/precis-1.1.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/commons-lang3-3.12.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/kotlin-stdlib-1.9.10.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-utils-1.0-132-g83984af.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jna-5.9.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jitsi-metaconfig-1.0-11-g8cf950e.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/kotlin-stdlib-jdk8-2.0.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/kotlin-stdlib-jdk7-2.0.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-container-jetty-http-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.inject-api-2.0.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jetty-security-12.0.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-common-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.annotation-api-2.1.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/osgi-resource-locator-1.0.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-server-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-client-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.validation-api-3.0.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.ws.rs-api-3.1.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-container-servlet-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-container-servlet-core-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-hk2-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/hk2-locator-3.0.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/aopalliance-repackaged-3.0.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/hk2-api-3.0.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/hk2-utils-3.0.6.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-media-json-jackson-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jersey-entity-filtering-3.1.7.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jackson-annotations-2.17.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jackson-databind-2.17.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jackson-core-2.17.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/byte-buddy-1.14.9.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jackson-module-jakarta-xmlbind-annotations-2.17.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.xml.bind-api-4.0.2.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jakarta.activation-api-2.1.3.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/jackson-module-kotlin-2.17.1.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/kotlin-reflect-2.0.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/reflections-0.9.11.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/agafua-syslog-0.4.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/sentry-7.9.0.jar
jitsi-videobridge-2.3-SNAPSHOT/lib/kotlin-stdlib-common-1.9.10.jar

@damencho
Copy link
Member

damencho commented Jul 5, 2024

Check the file content of the released jvb debian file in the repository and you will find inconsistencies in your build.
For example jetty-security version.

@damencho damencho closed this as completed Jul 5, 2024
@damencho
Copy link
Member

damencho commented Jul 5, 2024

Please, when you have questions or problems use the community forum before opening new issues, thank you.

@amsnek
Copy link
Author

amsnek commented Jul 5, 2024

yeah, I just pinned it down to the difference between jetty-security-11.0.20.jar and jetty-security-12.0.7.jar as well
-> i have no idea why my maven build process would fetch that version but will check the community forums

Thanks!

@jbg
Copy link

jbg commented Jul 6, 2024

FWIW, we ran into the same issue, and we build in a clean container (no Maven cache) from source using a fresh checkout of this repository, so I don't think it can be an environment thing. We build using this command:

mvn -B -T 1C -Dmaven.test.skip=true -DskipTests -Dassembly.skipAssembly=true \
        -DincludeScope=runtime -am package dependency:copy-dependencies

NB, there are currently three versions of Jetty in the dependency tree…

11.0.20 from jitsi-media-transform and from jvb via jicoco:

[INFO] org.jitsi:jitsi-media-transform:jar:2.3-SNAPSHOT
[INFO] +- org.jitsi:jicoco:jar:1.1-140-g8f45a9f:compile
[INFO] |  +- org.eclipse.jetty:jetty-proxy:jar:11.0.20:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-client:jar:11.0.20:compile
[INFO] |  |     \- org.eclipse.jetty:jetty-alpn-client:jar:11.0.20:compile
[INFO] |  +- org.eclipse.jetty:jetty-server:jar:11.0.20:compile
[INFO] |  |  +- org.eclipse.jetty:jetty-http:jar:11.0.20:compile
[INFO] |  |  +- org.eclipse.jetty:jetty-io:jar:11.0.20:compile
[INFO] |  |  \- org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:jar:5.0.2:compile
[INFO] |  +- org.eclipse.jetty:jetty-servlet:jar:11.0.20:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-security:jar:11.0.20:compile
[INFO] |  +- org.eclipse.jetty:jetty-servlets:jar:11.0.20:compile
[INFO] |  +- org.eclipse.jetty:jetty-util:jar:11.0.20:compile
[INFO] org.jitsi:jitsi-videobridge:jar:2.3-SNAPSHOT
[INFO] +- org.jitsi:jicoco:jar:1.1-140-g8f45a9f:compile
[INFO] |  +- org.eclipse.jetty:jetty-proxy:jar:11.0.20:compile

11.0.21 from jvb directly:

[INFO] org.jitsi:jitsi-videobridge:jar:2.3-SNAPSHOT
[INFO] +- org.eclipse.jetty:jetty-rewrite:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-server:jar:11.0.21:compile
[INFO] |  \- org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:jar:5.0.2:compile
[INFO] +- org.eclipse.jetty:jetty-servlets:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-http:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-io:jar:11.0.21:compile
[INFO] |  \- org.eclipse.jetty:jetty-util:jar:11.0.21:compile
[INFO] +- org.eclipse.jetty.websocket:websocket-jetty-server:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-servlet:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-webapp:jar:11.0.21:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-xml:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty.websocket:websocket-jetty-api:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty.websocket:websocket-jetty-common:jar:11.0.21:compile
[INFO] |  |  \- org.eclipse.jetty.websocket:websocket-core-common:jar:11.0.21:compile
[INFO] |  \- org.eclipse.jetty.websocket:websocket-servlet:jar:11.0.21:compile
[INFO] |     \- org.eclipse.jetty.websocket:websocket-core-server:jar:11.0.21:compile
[INFO] +- org.eclipse.jetty.websocket:websocket-jetty-client:jar:11.0.21:compile
[INFO] |  +- org.eclipse.jetty:jetty-client:jar:11.0.21:compile
[INFO] |  |  \- org.eclipse.jetty:jetty-alpn-client:jar:11.0.21:compile
[INFO] |  \- org.eclipse.jetty.websocket:websocket-core-client:jar:11.0.21:compile

and 12.0.7 from jvb via jersey-container-jetty-http:

[INFO] org.jitsi:jitsi-videobridge:jar:2.3-SNAPSHOT
[INFO] +- org.glassfish.jersey.containers:jersey-container-jetty-http:jar:3.1.7:compile
[INFO] |  +- org.eclipse.jetty:jetty-security:jar:12.0.7:compile

I guessed that the last one is the issue due to the mismatch of major version between jetty-security and the rest of the jetty components, and indeed reverting the jersey version (updated by dependabot in a14d491) to 3.0.x fixes it:

diff --git a/pom.xml b/pom.xml
index 700e5b63..61ce26a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
         <ktlint-maven-plugin.version>3.2.0</ktlint-maven-plugin.version>
         <maven-shade-plugin.version>3.6.0</maven-shade-plugin.version>
         <spotbugs.version>4.6.0</spotbugs.version>
-        <jersey.version>3.1.7</jersey.version>
+        <jersey.version>3.0.14</jersey.version>
         <jackson.version>2.17.1</jackson.version>
         <bouncycastle.version>1.78.1</bouncycastle.version>
         <prometheus.version>0.16.0</prometheus.version>

I don't know why this doesn't affect the official builds, maybe it's related to our use of includeScope=runtime or something.

@amsnek
Copy link
Author

amsnek commented Jul 6, 2024

thank you for letting me know! I am building in a clean container without mvn cache as well -> I agree it cannot be an environment thing.
For this build, I did whack around the issue by adding the following to the mvn build cmdline. This is not very elegant, but worked at least as a one time solution.
-Djetty.version=11.0.21 -Djetty.security.version=11.0.21

I will look into using includeScope=runtime as well, thanks for pointing your method out!

@damencho damencho reopened this Jul 6, 2024
bgrozev added a commit to bgrozev/jitsi-videobridge that referenced this issue Jul 8, 2024
… to 3.1.7 (jitsi#2145)"

Fixes issues with mismatched jetty versions reported in jitsi#2184

This reverts commit a14d491.
@bgrozev
Copy link
Member

bgrozev commented Jul 8, 2024

I don't know why this doesn't affect the official builds, maybe it's related to our use of includeScope=runtime or something.

I'm not sure either. I was getting this on my dev machine, but 12.0.7 on a fresh one:

[INFO] +- org.glassfish.jersey.containers:jersey-container-jetty-http:jar:3.1.7:compile
[INFO] |  +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
[INFO] |  +- org.eclipse.jetty:jetty-security:jar:11.0.20:compile

I'm reverting the jersey update and setting all jetty versions to 11.0.21 in #2186 and we can go from there. Thanks for the report and diagnosis!

@bgrozev bgrozev closed this as completed Jul 8, 2024
bgrozev added a commit that referenced this issue Jul 9, 2024
* chore: Update jicoco.

* fix(#2184): Revert "chore(deps): Bump jersey.version from 3.0.10 to 3.1.7 (#2145)"

Fixes issues with mismatched jetty versions reported in #2184

This reverts commit a14d491.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants