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 java error on Debian 10 ppc64el #1246

Open
kop316 opened this issue May 5, 2020 · 10 comments
Open

JVB java error on Debian 10 ppc64el #1246

kop316 opened this issue May 5, 2020 · 10 comments

Comments

@kop316
Copy link

kop316 commented May 5, 2020

Description


The normal Jitsi Meet install does not allow audio or video to happen on a Debian 10 ppc64el install

Current behavior


The jvb.log has the following health check failure:

Java.lang.NoClassDefFoundError: Could not initialize class org.jitsi.videobridge.sctp.SctpManager
at org.jitsi.videobridge.Endpoint.createSctpConnection(Endpoint.java:868)
at org.jitsi.videobridge.health.Health.check(Health.java:77)
at org.jitsi.videobridge.health.Health.performCheck(Health.java:211)
at org.jitsi.health.AbstractHealthCheckService.run(AbstractHealthCheckService.kt:144)
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.access000(RecurringRunnableExecutor.java:36)
atorg.jitsi.utils.concurrent.RecurringRunnableExecutor000(RecurringRunnableExecutor.java:36)
at org.jitsi.utils.concurrent.RecurringRunnableExecutor000(RecurringRunnableExecutor.java:36)
atorg.jitsi.utils.concurrent.RecurringRunnableExecutor1.run(RecurringRunnableExecutor.java:328)

Possible Solution


I am attempting to recompile jitsi-videobridge to see if a recompile on a native system will fix it.

Environment details


Debian 10 on ppc64el on a POWER9 system, with apache2 installed and a Let's encrypt Certificate.

@fitzsim
Copy link

fitzsim commented Dec 6, 2023

I filed a jitsi-sctp issue requesting a ppc64le (aka ppc64el) build for jitsi-sctp. SCTP support does work on ppc64le if you build the shared object file yourself then include it at the correct path within the correct jar.

@fitzsim
Copy link

fitzsim commented Dec 6, 2023

jitsi-srtp-1.1-12-ga64adcc.jar already contains ppc64le binaries:

linux-ppc64el/libjitsisrtp_1.1.so linux-ppc64el/libjitsisrtp_3.so

I needed to rename the linux-ppc64el directory within the jar file to linux-ppc64le, otherwise I would get:

JVB 2023-12-06 10:26:03.798 WARNING: [112] JitsiOpenSslProvider.<clinit>#66: Unable to load jitsisrtp java.lang.UnsatisfiedLinkError: no jitsisrtp_3 in java.library.path: /usr/java/packages/lib:/usr/lib/powerpc64le-linux-gnu/jni:/lib/powerpc64le-linux-gnu:/usr/lib/powerpc64le-linux-gnu:/usr/lib/jni:/lib:/usr/lib

After renaming the directory, I get:

JVB 2023-12-06 10:28:16.501 INFO: [109] JitsiOpenSslProvider.<clinit>#52: jitsisrtp successfully loaded for OpenSSL 3

and everything seems to work fine.

Overall, it seems like ppc64le support for Jitsi is really close to working. Just this folder naming issue -- maybe some systems do need linux-ppc64el, so a second linux-ppc64le directory could be added for compatibility? -- and the jitsi-sctp issue I filed need to be addressed.

It would also be nice if jitsi-videobridge provided linux-ppc64 binaries for big endian systems.

@bgrozev
Copy link
Member

bgrozev commented Dec 14, 2023

We don't use ppc, so we're unlikely to implement the suggested changes, but contributions are welcome

@fitzsim
Copy link

fitzsim commented Dec 17, 2023

We don't use ppc, so we're unlikely to implement the suggested changes, but contributions are welcome

OK, I just posted jitsi/jitsi-srtp#49. I will work on a similar patch for jitsi-sctp.

@fitzsim
Copy link

fitzsim commented Dec 17, 2023

We don't use ppc, so we're unlikely to implement the suggested changes, but contributions are welcome

OK, I just posted jitsi/jitsi-srtp#49. I will work on a similar patch for jitsi-sctp.

Done, here is the pull request for jitsi-sctp: jitsi/jitsi-sctp#20.

@fitzsim
Copy link

fitzsim commented Jun 30, 2024

jitsi-srtp and jitsi-sctp are in good shape on ppc64le now.

I noticed that the new jitsi/dcsctp4j does not have ppc64le support yet, so I filed jitsi/dcsctp4j#6.

@bgrozev
Copy link
Member

bgrozev commented Jul 9, 2024

@fitzsim @kop316 be aware that since #2181 dcsctp is used by default

@fitzsim
Copy link

fitzsim commented Jul 14, 2024

@fitzsim @kop316 be aware that since #2181 dcsctp is used by default

OK, I will probably be working on my ppc64le Jitsi configuration this week. If I can configure usrsctp to work on current nightly then I will report back here and close this issue.

@tpearson-ssc
Copy link

tpearson-ssc commented Aug 7, 2024

Just hit this again due to the dcsctp change. TEMPORARY workaround is to edit /etc/jitsi/videobridge/jvb.conf as follows:

videobridge {
    <other config arrays>
    sctp {
        use-usrsctp = true
    }
}

@fitzsim
Copy link

fitzsim commented Oct 26, 2024

I just did a fresh install of jitsi-videobridge2 2.3-173-g7245c6a7-1 and can confirm the workaround is now automatically installed on ppc64le. I think this issue can be closed now. Thank you for the help!

I will watch for progress on jitsi/dcsctp4j#6 and test that if anything becomes available.

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