Latest JVB 2.0 throws "No XMPP components" error when running from command line

Hi,

I am investigating the way to upgrade JVB 1.0 based system to support DTLS 1.2.

I downloaded and build the latest JVB from source code, and run it from command line with old Prosody and Jicofo.

The following error was thrown out,

2019-09-23 16:30:57.254 WARNING: [11] Videobridge.start#910: No authorized source regexp configured. Will accept requests from any source.

2019-09-23 16:30:57.255 SEVERE: [25] Health.doRun#375: Health check failed in 1ms:

java.lang.Exception: No XMPP components

at org.jitsi.videobridge.health.Health.checkXmppConnection(Health.java:229)

at org.jitsi.videobridge.health.Health.doCheck(Health.java:189)

at org.jitsi.videobridge.health.Health.doRun(Health.java:341)

at org.jitsi.utils.concurrent.PeriodicRunnableWithObject.run(PeriodicRunnableWithObject.java:87)

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)

2019-09-23 16:30:57.390 INFO: [11] OctoRelayService.start#107: Octo relay not configured.

2019-09-23 16:30:57.523 INFO: [30] ComponentBase.loadConfig#202: Component org.jitsi.videobridge. config:

2019-09-23 16:30:57.524 INFO: [30] ComponentBase.loadConfig#203: ping interval: 10000 ms

2019-09-23 16:30:57.524 INFO: [30] ComponentBase.loadConfig#204: ping timeout: 5000 ms

2019-09-23 16:30:57.524 INFO: [30] ComponentBase.loadConfig#205: ping threshold: 3

Any idea?

Thanks for help,

/Kaiduan

This is jvb off of master, right? How are you running it? (what command line arguments)

java -Djavalibrary.path=./lib/native/linux-64 -Djava.util.logging.config.file=./lib/logging.properties -cp “./jitsi-videobridge.jar:./lib/*” org.jitsi.videobridge.Main --host=localhost --domain=abcd --port=5347 --secret=fO@OAfyH --apis=xmpp,rest

Do you actually want the xmpp api enabled? I think that’s only for the bridge running in component mode (as opposed to MUC).

In current production, we run bridge 1.0 with xmpp api with Jicofo.

Ok, is it using the same config file? I think this can happen when the xmpp api is enabled but the component isn’t configured in the config.

Yeah, we used the same configuration file, Jicofo even detects videobridge component.

New component discovered: jitsi- videobridge

Ok, maybe we broke something there as we don’t use that mode anymore. It looks like the ComponentImpl service isn’t getting registered or something, as this error happens when it’s not found.

What mode of JVB jitsi team use now?

We have the JVB join a MUC instead of connect as a component. I can repro this issue locally, though; trying to see if I can find anything.

Do you see this exception only once? Or do you see it repeatedly (each time the health check runs)?

This exception only happens when JVB starts.

With JVB joining MUC, which party sends the Colibri message to allocate channel on JVB for SDK?

Ah ok, if you only see it once then I think it’s likely that the service just wasn’t loaded by the time the first health check ran.

With JVB joining MUC, which party sends the Colibri message to allocate channel on JVB for SDK?

It’s still Jicofo, it’s just that the MUC gives more flexibility–specifically in regards to spinning up JVBs whenever needed as they don’t need to be pre-configured as components (they can all just join the MUC–it basically functions as a pool of available JVBs)