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

Added Windows support. Migrated on CMake to build native libraries. GitHub Actions + GitHub Packages Registry. #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mstyura
Copy link

@mstyura mstyura commented Sep 4, 2019

I'm currently trying to migrate to JVB 2.0, but my usual dev environment is Windows. I've noticed that jitsi-sctp is no longer support Windows after migration to dedicated Maven artifact. So I've added support of Windows.

The summary of changes:

  1. Native libraries are now build with CMake as it provides cross platform way to compile native libraries.
  2. usrsctp and jniwrapper-native artifacts are now platform specific and distinguished by corresponding maven classifier. E.g. usrsctp-1.0-SNAPSHOT-windows-x86_32.jar, usrsctp-1.0-SNAPSHOT-linux-aarch_64.jar, jniwrapper-native-1.0-SNAPSHOT-x86_64.jar etc.
  3. Pre-built native binaries are no longer stored in git as resources, they stored in maven as artifact with platform classifier.

@mstyura
Copy link
Author

mstyura commented Sep 4, 2019

Hi @bbaldino,
could you please review these changes please?
Thanks a lot in advance,

Yura.

@bbaldino
Copy link
Member

bbaldino commented Sep 4, 2019

thanks @mstyura this is obviously a lot to take in and i've just about totally evicted all context of the maven/jni hell that this project involved from my brain so it will take me a while to go through it.

@mstyura
Copy link
Author

mstyura commented Sep 4, 2019

Thanks @bbaldino, I completely understand it's not easy to get into jni build procedure after not touching it for a while, but I hope I made things actually simpler. As a starting point could you please follow an updated README.md from my fork and let me know if you have any issue on your environment? I personally followed original readme and it helped me a lot, thank you very much for documenting build procedure!

@bbaldino
Copy link
Member

hey @mstyura, haven't forgotten about this just haven't gotten to it yet.

@mstyura
Copy link
Author

mstyura commented Oct 30, 2019

Hello, @bbaldino,
Is there any chance you'll be able to have a look at this PR any time soon? I've also seen Jonathan Lennox had done some work on JNI is SRTP repo, maybe he could review as well?
Thank you very much in advance!

@bbaldino
Copy link
Member

@mstyura i'm really sorry, i just haven't had the time. i promise you i haven't forgotten (i have a reminder every week in my email for this), but i just haven't gotten to it. jonathan is also pretty busy as we're pushing to get jvb 2.0 fully released and stable. since we don't have any commits going into this repo, really, at least we don't have to worry about 'rot' and this becoming outdated soon.

@mstyura
Copy link
Author

mstyura commented Oct 30, 2019

@bbaldino thank you very much for a quick reply, don't worry that this PR is not been reviewed yet. I didn't want to make a pressure on you. I'm not blocked on it and can continue without it for a few month I think. Have a good day!

@MMX777
Copy link

MMX777 commented Jan 9, 2020

Any news?

@bbaldino bbaldino mentioned this pull request Mar 17, 2020
@mstyura
Copy link
Author

mstyura commented Mar 19, 2020

@ZeWaren could you please try building jitsi-sctp following README.md from my branch on FreeBSD? In particular I suspect that some of the compiler flags (probably -Wno-address-of-packed-member ) are not supported.

@licaon-kter
Copy link

Any news on the merge? This makes the bridge work fine on ARM64 ;)

@mstyura
Copy link
Author

mstyura commented Apr 5, 2020

With recent changes I've altered builds scripts to take into account different CPU architectures on various supported OSes

@mstyura
Copy link
Author

mstyura commented Apr 6, 2020

@licaon-kter could you please check if latest changes to this PR still works for you? I've taken into account different CPU architectures per supported OS, but don't have anything with ARM to check myself if it works.

@licaon-kter
Copy link

@mstyura builds and runs fine for me on RPi3+ arm64 👍

Thanks for the effort.

@licaon-kter
Copy link

One question, trying to compile this on CentOS 6.10, I have to remove -Werror, -Wno-format-truncation -Wno-address-of-packed-member to be able to compile on GCC 4.4.7. But the resulting usrsctp jar ends up with dirty in its name and in the local maven repo entries which will trigger a fail next when the non-dirty jar is searched instead.

I've edited the local maven files to remove the "dirty" part and then it succeeded.

Is this expected on this old platform or my changes triggered it?

@mstyura
Copy link
Author

mstyura commented Apr 10, 2020

@licaon-kter the durty was added because you've edited pom.xml locally and have not commited it. I'll think of ways to fix it... Thanks for reporting!

@licaon-kter
Copy link

Ignoring old distros, any blockers for this? I need to replace JARs after each DEB upgrade now.... :(

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
@bbaldino
Copy link
Member

bbaldino commented May 1, 2020

Thanks @mstyura , builds for me now. Another thought I had: I've often regretted that there isn't a good way to know which usrsctp hash is used. Does this maintain that anywhere? I'm wondering if we should include the usrsctp hash somewhere.

@mstyura
Copy link
Author

mstyura commented May 1, 2020

Does this maintain that anywhere?

Yes! With submodule you are know exactly which version is used by jitsi-sctp repository.
I've also added git hash for usrsctp into jar name as classifier when it is built, so when you use usrsctp commit 7a8bc9a the resulting artifact will have name usrsctp-1.0-SNAPSHOT-7a8bc9a-linux-x86_64. It will also include git.properties which has more information about commit from which usrsctp is built.

usrsctp hash is also specified in inside pom.xml of jniwrapper , so jniwrapper will look for a specific version and you always will know which version is used.

@bbaldino
Copy link
Member

bbaldino commented May 1, 2020

Thanks @mstyura , builds for me now. Another thought I had: I've often regretted that there isn't a good way to know which usrsctp hash is used. Does this maintain that anywhere? I'm wondering if we should include the usrsctp hash somewhere.

Ah ha! I just read that it does. Great!

Copy link
Member

@bbaldino bbaldino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some doc comments--haven't finished yet

README.md Outdated
### Building the jar files
* Clone the project
* Run `mvn package` (and `mvn install` to install locally)
* The `usrsctp` module handles the compilation of the [`usrsctp`](https://github.com/sctplab/usrsctp).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: lost some words here:

The `usrsctp` module handles the compilation of the [`usrsctp`](https://github.com/sctplab/usrsctp)

should be

The `usrsctp` module handles the compilation of the [`usrsctp`](https://github.com/sctplab/usrsctp) source library.

README.md Outdated
* Clone the project
* Run `mvn package` (and `mvn install` to install locally)
* The `usrsctp` module handles the compilation of the [`usrsctp`](https://github.com/sctplab/usrsctp).
This maven module produces platform specific artifact having pre-compiled `usrsctp` static library and corresponding `C` API-header.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: wording:

This maven module produces a platform-specific artifact containing a platform-specific build of the `usrsctp` static library and corresponding `C` API-header.

README.md Outdated
* Run `mvn package` (and `mvn install` to install locally)
* The `usrsctp` module handles the compilation of the [`usrsctp`](https://github.com/sctplab/usrsctp).
This maven module produces platform specific artifact having pre-compiled `usrsctp` static library and corresponding `C` API-header.
The module is build only when `build-usrsctp` profile is enabled, e.g. `-Pbuild-usrsctp` switch is passed to Maven.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The module is built only when the build-usrsctp profile is enabled by passing the -Pbuild-usrsctp switch to mvn.

README.md Outdated
`-- SctpJni.class
```
* The `jniwrapper-native` module contains the `C` portion of the JNI API that bridges the Java and the [`usrsctp`](https://github.com/sctplab/usrsctp) native lib.
The module is build only when `build-jnisctp` profile is enabled, e.g. `-Pbuild-jnisctp` switch is passed to Maven.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build -> built

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and I'd phrase the second bit as: "...only when the build-jnisctp profile is enabled by passing the -Pbuild-jnisctp switch to mvn."

* The `jniwrapper-native` module contains the `C` portion of the JNI API that bridges the Java and the [`usrsctp`](https://github.com/sctplab/usrsctp) native lib.
The module is build only when `build-jnisctp` profile is enabled, e.g. `-Pbuild-jnisctp` switch is passed to Maven.
It depends on two other modules:
* `usrsctp` module, because it needs the pre-built `usrsctp` static library and include headers. The version of `usrsctp` artifact used is specified by property `usrsctp_commit_id` in `jniwrapper/pom.xml` and having short commit hash of pre-built `usrsctp`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is usrsctp_commit_id populated dynamically to the checked-out usrsctp hash when building everything at once?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bbaldino no, right now it is "hard-coded" in the jniwrapper/pom.xml as a property.

@bbaldino
Copy link
Member

bbaldino commented May 1, 2020

@mstyura haven't made it through the readme in depth entirely yet, and I think after that I'll go through the poms a bit but seems like it's on a good track. I'm wondering, though, if we should include some bash scripts to make the common use cases easier. Something that could take in a usrsctp hash, for example, and just build everything. Thoughts?

@mstyura
Copy link
Author

mstyura commented May 1, 2020

I'm wondering, though, if we should include some bash scripts to make the common use cases easier. Something that could take in a usrsctp hash, for example, and just build everything. Thoughts?

I could add simple bash script to build library from scratch for a current platform, which might be convenient for a developers - but it will basically mvn install -Pbuild-usrsctp -Pbuild-jnisctp -f pom.xml . I believe different and ticker script need to be added to run on Jenkins/GitHub Actions, to prepare native libraries for multiple platforms and eventually fat jar.
The usrsctp commit will be chosen by the state of submodule, so no need to provide custom hash to a script. And from my experience usrsctp updates will be rare and commit choice must be done very carefully to pick stable-enough version :)
Unfortunately I was not able to find a way to avoid hard-coding usrsctp hash in jniwrapper/pom.xml, but I hope this obstacle could be forgiven.

@licaon-kter
Copy link

Any news?

@mstyura mstyura force-pushed the master branch 2 times, most recently from 8b3fe39 to ed84714 Compare September 22, 2020 08:55
@mstyura mstyura changed the title Added Windows support. Migrated on CMake to build native libraries. Added Windows support. Migrated on CMake to build native libraries. GitHub Actions + GitHub Packages Registry. Sep 22, 2020
Move to cmake-based usrsctp build.

Put static library into predictable directorly.

Updated assembly descriptor.

Updated assembly descriptor to properly handle cmake's single
configuration generators like make as well as multi-configuration
generators like VS and XCode.

Use target/ directory for CMake compilation.

Remove redundant entries from .gitignore.

Fixed file path's included in zip.

Build jnsctp (jni wrapper) with CMake.

Use OS alias as destination directory.

Fixed JNI library name.

Added support of Windows into Sctp JNI loader.

Install pdb along with dll.

Specify build plugin versions in root pom.

Updated usrsctp submodule.

Make some CMake settings platform dependent.

Move CMake flags and generator props into root pom

Fixed CMake option names.

Implemented platform specific artifacts.

No longer need to store pre-compiled JNI libraries inside this Git repo.

Fixed maven_platform_classifier.

Fixed usrsctp assembly definition.

Debugging CMake variable definitions on Linux.

Fixing CMake's user provided variables.

Removed quotes around paths.

Install PDB only on Windows.

Added missing groupId.

Fixed MacOS X jar classifier.

Fixed profile id to match other id convention.

Minor pom rearrangements.

Use pom packaging for native artifacts.

Updated README to describe updated build procedure

Corrections to README.

Use pom packaging for jnilib.

Use root pom with project to build specified.

Workaround for GCC 9 issue.

Fix make dependencies flag.

Updated readme.

Fixed compilation when usrsctp localed in deep dir.

Updated README.

Remove warning switch when build on mac.

Minor fixed after self-review.

Fix in README.

Minor comment fix after self-review.

Fixed usrsctp CMake binary directory.

Include usrsctp commit id into artifact classifier

Use javac -h instead of deprecated javah.

https://openjdk.java.net/jeps/313

Fixed typos in readme after self review.

Updated README.md. Use more stable usrsctp version.

Disable unsupported warning on Mac

Don't define  __FUNCTION__=__func__ on Windows.

Added example content of fat jar.

Do nothing on install when usrsctp ins not build.

Skip install target when nothing usefull is built.

Undefine INET6/INET which are not needed and cause crash due to miscompilation

Adds FreeBSD support.

Define properties for freebsd profile.

Updated README.md. Activate profile explicitly via -P switch.

Use ${project.groupId} to refer to org.jitsi.

maven: updated plugins verions.

Added os-maven-plugin to more precise os detection.

use maven platform classifier based on os-maven-plugin

Renamed usrsctp_install_dir into usrsctp_cmake_install_dir

delete pre-built libjnisctp.so for freebsd from git (moved to maven)

jniwrapper/native: renamed cmake related properties.

put freebsd profile next to linux.

only include linux x86_64 and osx x86_64 into "official" fat jar.

fixed native library loader to take into account CPU architecture.

Updated readme to include cpu arcitecture in maven classifier.

bring back freebsd and windows into fat jar to match readme.

jnilib: exclude transitive dependencies of jnilib which are embedded into jar.

Fix library load on mac

Updated readme according to code review feedback.

Disable invariants to avoid crashes due asserts.

Fixed to readme according to code review.
* Trying github actions.

* Fixing projects lists.

* Attempt

* Enable native build profiles.

* Checkout submodule

* Submodules.

* Attempt to deploy.

* Publish 2

* Attemp to fix deploy.

* Attempting deploy fix.

* Noop

* Attemp to fix badrequest

* Noop

* Verbose maven.

* Disable http

* Change to username.

* Full logs.

* Adding settings.

* Update version in pom.xml

* Remove unnecessary switch.

* Print git info.

* Git fetch tags.

* Git info.

* Fetch all history.

* Git fetch all tags.

* Removed git info step.

* Attemp to fix deploy of artifact with classifier.

https://github.community/t5/GitHub-API-Development-and/GitHub-package-registry-as-Maven-repo-trouble-uploading-artifact/m-p/56826/highlight/true#M4777

* Deploy only one project.

* Attempt to fix double upload.

* Attempt to enable wagon.

* Attempt to fix double-deploy.

* Enable profile

* Switch typo.

* explicit install step.

* Attach.

* Attempt to join steps.

* Dedicated deploy step.

* Remove deploy.

* Build jniwrapper-native.

* Enable osx build

* use api token

* Disable deploy step.

* Force bash shell.

* Bash.

* Trying upload step.

* Fix upload

* Name artifacts.

* Download uploaded artifacts.

* Fixed syntax.

* Fixed sytax.

* Attempt to build java.

* Install.

* Fixed find.

* Pass file into install-file

* Upload m2.

* Workaround for non-expanded path.

* Workaround

* Attempt to build xplat.

* fixed typo

* Don't native deploy libraries, they are deployed being embedded into jnilib.jar

* Attempt to avoid usage of personal account name.

* Fetch entire history to make describe work.

* Enable GitHub Actoin only on specific branches.

* Deploy only if pushed into master

* Fixed copy-paste.
@mstyura
Copy link
Author

mstyura commented Sep 22, 2020

@licaon-kter I thinks this PR is currently blocked on unresolved issue with GitHub packages: there is no way to download artifact without authentication token, which is unfortunate for OSS projects: https://github.community/t/download-from-github-package-registry-without-authentication/14407

@mstyura
Copy link
Author

mstyura commented Sep 22, 2020

It might be possible to workaround authentication by not using GitHub Packages and using some other Maven repos hosting instead to publish pre-built packages. Maybe maven centeral?

@licaon-kter
Copy link

All the other stuff is in some maven, I don't understand why this needs Github.

I want this and jitsi-srtp to be multi-platform since (at least on arm64) I'm stuck with these versions and I might end up incompatible with JitsiMeet elsewhere if more time passes.

@mstyura
Copy link
Author

mstyura commented Sep 22, 2020

All the other stuff is in some maven, I don't understand why this needs Github.

@licaon-kter I'm completely for putting pre-built library into existing maven https://github.com/jitsi/jitsi-maven-repository from GitHub Actions. Maybe that's even possible, need to consult with someone from Jitsi Team who is aware of publishing of existing repository. Maybe @damencho or @bbaldino know if it's possible (and how ) to publish to existing maven repo from GH Action runner?
UPD: I've tried to shallow (--depth 1) clone https://github.com/jitsi/jitsi-maven-repository and it took 5.65 Gb download and took 33.4 Gb on disk. GitHub Actions runner has only 14 Gb disk, so it's not feasible to do clone, commit, push to existing maven repo, unless there is other way to upload to it.

@guusdk
Copy link

guusdk commented Oct 8, 2020

UPD: I've tried to shallow (--depth 1) clone https://github.com/jitsi/jitsi-maven-repository and it took 5.65 Gb download and took 33.4 Gb on disk. GitHub Actions runner has only 14 Gb disk, so it's not feasible to do clone, commit, push to existing maven repo, unless there is other way to upload to it.

I don't think that this is how that repository is managed in the first place. If I recall correctly, there was a build server that's pushing things into that repository (unless things have changed since I last was involved). At the time, it was a matter of having configured a proper job in that server, which is indeed where you'd need the help of one of the Jitsi dev team.

@deleolajide
Copy link

I want this and jitsi-srtp to be multi-platform since (at least on arm64) I'm stuck with these versions and I might end up incompatible with JitsiMeet elsewhere if more time passes.

That has now happened. Jitsi Meet mobile has stopped working with JVB1. Openfire Meetings is now stuck with JVB1 and cannot move to JVB2 until this issue is fixed.

@bgrozev
Copy link
Member

bgrozev commented Nov 2, 2020

Openfire Meetings is now stuck with JVB1 and cannot move to JVB2 until this issue is fixed.

Hey, can you add more detail on what prevents you from upgrading?

@deleolajide
Copy link

Hey, can you add more detail on what prevents you from upgrading?

JVB2 does not run in Windows because of the this issue

I'm currently trying to migrate to JVB 2.0, but my usual dev environment is Windows. I've noticed that jitsi-sctp is no longer supported in Windows after migration to dedicated Maven artifact. So I've added support of Windows.

#3 (comment)

I can't start making changes to the Openfire JVB plugin without a working JVB

@damencho
Copy link
Member

damencho commented Nov 2, 2020

You should migrate to using websockets, as sctp will be gone at some point: https://jitsi.github.io/handbook/docs/devops-guide/faq#how-to-migrate-away-from-multiplexing-and-enable-bridge-websockets

@deleolajide
Copy link

as sctp will be gone at some point:

I just updated JVB2 to latest code and rebuilt in Windows 10 and this time it worked. The SCTP exception on health checking which caused this PR has gone.

http://127.0.0.1:8080/about/version
{"name":"JVB","version":"2.1.SNAPSHOT","os":"Windows 10"}

Thank you @bgrozev and @damencho for responding 👍 I will get starting on upgrading the JVB Openfire Plugin to JVB2

@deleolajide
Copy link

For the record, the exception that caused this PR was

2020-11-02 21:18:59.287 SEVERE: [14] RecurringRunnableExecutor.run#230: The invocation of the method >org.jitsi.health.HealthChecker.run() threw an exception.
java.lang.UnsatisfiedLinkError: org.jitsi_modified.sctp4j.SctpJni.usrsctp_init(I)Z
at org.jitsi_modified.sctp4j.SctpJni.usrsctp_init(Native Method)
at org.jitsi_modified.sctp4j.Sctp4j.init(Sctp4j.java:41)
at org.jitsi.videobridge.sctp.SctpManager.(SctpManager.java:61)
at org.jitsi.videobridge.Endpoint.createSctpConnection(Endpoint.java:830)
at org.jitsi.videobridge.health.JvbHealthChecker$Companion.checkConference(JvbHealthChecker.kt:70)
at org.jitsi.videobridge.health.JvbHealthChecker.check(JvbHealthChecker.kt:54)
at org.jitsi.videobridge.health.JvbHealthChecker.access$check(JvbHealthChecker.kt:28)
at org.jitsi.videobridge.health.JvbHealthChecker$healthChecker$1.invoke(JvbHealthChecker.kt:36)
at org.jitsi.videobridge.health.JvbHealthChecker$healthChecker$1.invoke(JvbHealthChecker.kt:28)
at org.jitsi.health.HealthChecker.run(HealthChecker.kt:142)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.run(RecurringRunnableExecutor.java:216)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.runInThread(RecurringRunnableExecutor.java:292)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor.access$000(RecurringRunnableExecutor.java:36)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor$1.run(RecurringRunnableExecutor.java:328)

@bgrozev
Copy link
Member

bgrozev commented Nov 2, 2020

The SCTP exception on health checking which caused this PR has gone.

Note that unless you configure web-sockets you will probably see a similar exception when a conference is created, and certainly there will be missing functionality (e.g. following the active speaker, or selecting a participant to view in high quality by clicking on them).

@deleolajide
Copy link

deleolajide commented Jan 13, 2021

You should migrate to using websockets, as sctp will be gone at some point: https://jitsi.github.io/handbook/docs/devops-guide/faq#how-to-migrate-away-from-multiplexing-and-enable-bridge-websockets

Everything working fine with websockets instead of sctp on Windows until I tried upgrading to JVB latest stable build 2.0.5390
It creates an error loading native library: java.lang.Exception: Unsupported OS: Windows 10 even though Jitsi Meet is configured with

"openBridgeChannel": "websocket"

Is this a regression or am I missing a new parameter somewhere?

2021.01.13 13:13:27 INFO: [23] SctpManager.<clinit>#60: Initializing Sctp4j
2021.01.13 13:13:27 INFO  [Thread-17]: org.jivesoftware.openfire.plugin.ofmeet.JitsiJvbWrapper - onOutputLine Error loading native library: java.lang.Exception: Unsupported OS: Windows 10
2021.01.13 13:13:27 Exception in thread "Smack-Single Threaded Executor 1 (0)" java.lang.UnsatisfiedLinkError: org.jitsi_modified.sctp4j.SctpJni.usrsctp_init(I)Z
2021.01.13 13:13:27    at org.jitsi_modified.sctp4j.SctpJni.usrsctp_init(Native Method)
2021.01.13 13:13:27    at org.jitsi_modified.sctp4j.Sctp4j.init(Sctp4j.java:41)
2021.01.13 13:13:27    at org.jitsi.videobridge.sctp.SctpManager.<clinit>(SctpManager.java:61)
2021.01.13 13:13:27    at org.jitsi.videobridge.Endpoint.createSctpConnection(Endpoint.java:879)
2021.01.13 13:13:27    at org.jitsi.videobridge.shim.ContentShim.createSctpConnection(ContentShim.java:167)
2021.01.13 13:13:27    at org.jitsi.videobridge.shim.ContentShim.getOrCreateSctpConnectionShim(ContentShim.java:359)
2021.01.13 13:13:27    at org.jitsi.videobridge.shim.VideobridgeShim.processSctpConnections(VideobridgeShim.java:211)
2021.01.13 13:13:27    at org.jitsi.videobridge.shim.VideobridgeShim.handleColibriConferenceIQ(VideobridgeShim.java:341)
2021.01.13 13:13:27    at org.jitsi.videobridge.Videobridge.handleColibriConferenceIQ(Videobridge.java:363)
2021.01.13 13:13:27    at org.jitsi.videobridge.Videobridge$XmppConnectionEventHandler.colibriConferenceIqReceived(Videobridge.java:627)
2021.01.13 13:13:27    at org.jitsi.videobridge.xmpp.XmppConnection$handleIqRequest$4.invoke(XmppConnection.kt:179)
2021.01.13 13:13:27    at org.jitsi.videobridge.xmpp.XmppConnection$handleIqRequest$4.invoke(XmppConnection.kt:41)
2021.01.13 13:13:27    at org.jitsi.videobridge.xmpp.XmppConnection.measureDelay(XmppConnection.kt:198)
2021.01.13 13:13:27    at org.jitsi.videobridge.xmpp.XmppConnection.handleIqRequest(XmppConnection.kt:178)
2021.01.13 13:13:27    at org.jitsi.videobridge.xmpp.XmppConnection.handleIq(XmppConnection.kt:163)
2021.01.13 13:13:27    at org.jitsi.xmpp.mucclient.IQListener.handleIq(IQListener.java:50)
2021.01.13 13:13:27    at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:501)
2021.01.13 13:13:27    at org.jitsi.xmpp.mucclient.MucClient.access$300(MucClient.java:50)
2021.01.13 13:13:27    at org.jitsi.xmpp.mucclient.MucClient$2.handleIQRequest(MucClient.java:466)
2021.01.13 13:13:27    at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
2021.01.13 13:13:27    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2021.01.13 13:13:27    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2021.01.13 13:13:27    at java.lang.Thread.run(Thread.java:748)

@bgrozev
Copy link
Member

bgrozev commented Jan 13, 2021

You can now disable it in the config of jitsi-videobridge (videobridge.sctp.enabled=false) and/or jicofo (jicofo.sctp.enabled=false).

@Neustradamus

This comment was marked as spam.

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

Successfully merging this pull request may close these issues.

9 participants