Jicofo failing to start due to config error

I tried several past unstable docker builds including today (unstable-2022-10-31) too but jicofo is failing to start due to following config key error:

java.lang.RuntimeException: Failed to create conference with room name __jicofo-health-check-bc2c2301a02383b@muc.jitsi.meet:No suppliers found a value:
org.jitsi.metaconfig.ConfigException$UnableToRetrieve$NotFound: Key 'org.jitsi.jicofo.XMPP_DOMAIN' not found in source 'sip communicator props'
org.jitsi.metaconfig.ConfigException$UnableToRetrieve$NotFound: Key 'jicofo.xmpp.client.xmpp-domain' not found in source 'typesafe config (reloaded 1 times)'

Last stable build (stable-7882) works fine.

My jicofo config.

jicofo {


    // Configuration related to jitsi-videobridge
    bridge {







      selection-strategy = "RegionBasedBridgeSelectionStrategy"



      health-checks {
        enabled = true
      }


      brewery-jid = "jvbbrewery@internal-muc.jitsi.meet"
    }
    // Configure the codecs and RTP extensions to be used in the offer sent to clients.
    codec {
      video {

        vp8 {
          enabled = "true"
        }


        vp9 {
          enabled = "true"
        }


        h264 {
          enabled = "true"
        }

      }
    }

    conference {

      enable-auto-owner = false





    }


    // Configuration for the internal health checks performed by jicofo.
    health {
      // Whether to perform health checks.
      enabled = true
    }



    jibri {
      brewery-jid = "jibribrewery@internal-muc.jitsi.meet"

      pending-timeout = "90"
    }




    octo {
      // Whether or not to use Octo. Note that when enabled, its use will be determined by
      // $jicofo.bridge.selection-strategy. There's a corresponding flag in the JVB and these
      // two MUST be in sync (otherwise bridges will crash because they won't know how to
      // deal with octo channels).
      enabled = true

      id = "1"
    }

    sctp {
      enabled = false
    }

    xmpp {
      client {
        enabled = true
        hostname = "jitsi-prosody"
        port = "5222"
        domain = "auth.jitsi.meet"
        username = "focus"
        password = "PASS%sOAs:-10*"
        conference-muc-jid = "muc.jitsi.meet"
        client-proxy = "focus.jitsi.meet"
        disable-certificate-verification = true
      }

      trusted-domains = [ "recorder.jitsi.meet" ]

    }
}

@Boris_Grozev Any ideas?

Yep, I broke that with my changes to jicofo’s config. This should fix it. Can someone help get it tested?

1 Like

Thanks, I’ll update tomorrow as updated docker image will be only available on 24 hour interval.

Looks fine.

1 Like

Hi

I just updated our Jitsi Installation on our Ubuntu 20.04 Server to Release 2.0.8044. Our package versions are:

jicofo/stable,now 1.0-954-1 all [installed]
jitsi-meet-prosody/stable,now 1.0.6776-1 all [installed,automatic]
jitsi-meet-web-config/stable,now 1.0.6776-1 all [installed,automatic]
jitsi-meet-web/stable,now 1.0.6776-1 all [installed,automatic]
jitsi-meet/stable,now 2.0.8044-1 all [installed]
jitsi-videobridge2/stable,now 2.2-61-g98c9f868-1 all [installed,automatic]

After the installation jicofo started to log these messages:

Jicofo 2022-11-25 09:30:26.432 SEVERE: [22] HealthChecker.run#175: Health check failed in PT0.015359S:
java.lang.RuntimeException: Failed to create conference with room name __jicofo-health-check-51618c10616fc79@conference.<domain>:No suppliers found a value:
  org.jitsi.metaconfig.ConfigException$UnableToRetrieve$NotFound: Key 'org.jitsi.jicofo.XMPP_DOMAIN' not found in source 'sip communicator props'
  org.jitsi.metaconfig.ConfigException$UnableToRetrieve$NotFound: Key 'jicofo.xmpp.client.xmpp-domain' not found in source 'typesafe config (reloaded 1 times)'
        at org.jitsi.jicofo.health.JicofoHealthChecker.check(JicofoHealthChecker.java:176)
        at org.jitsi.jicofo.health.JicofoHealthChecker.performCheck(JicofoHealthChecker.java:112)
        at org.jitsi.health.HealthChecker.run(HealthChecker.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$1.run(RecurringRunnableExecutor.java:328)

Content of our /etc/jitsi/jicofo/jicofo.conf:

// Reference: https://github.com/jitsi/jicofo/blob/master/src/main/resources/reference.conf

jicofo {
    bridge {
        // communicate with videobridge via internal MUC (we don't use videobridge in xmpp component mode)
        brewery-jid = "JvbBrewery@internal.auth.<domain>"
    }

    health {
        // enable internal health checks
        enabled = true
    }

jibri {
        brewery-jid = "jibribrewery@internal.auth.<domain>"
    }

    octo {
        // set this to avoid a warning on start
        id = 1
    }

    xmpp {
        // configure the XMPP connection and JID used to connect to conferences
        client {
            hostname = "localhost"
            domain = "auth.<domain>"
            username = "focus"
            password = "<redacted>"

            conference-muc-jid = "conference.<domain>"
            client-proxy = "focus.<domain>"

            disable-certificate-verification = false
        }

        // configure the XMAPP connection used to communicate with other jitsi services (like
        // videobridges)
        server {
            // disabling this will make jicofo use the same connection as above, which is what
            // we want in our current setup.
            enabled = false

            // the JID(s) of the internal MUC(s) are configured in their respective section (e.g.
            // in the "bridge" section in case of the videobridge MUC)
        }
    }
}

We didn’t change anything in the jicofo config and starting and using conferences works as expected. Is the fix suggested above already active in this release, or do you have any hints on what might be wrong on our side?

You don’t have jicofo.xmpp.client.xmpp-domain in your config. You only have auth domain for jicofo, but not the main xmpp domain. Just add

xmpp-domain = "<domain>"

after the “auth.domain” line

1 Like

Thank you so much! That resolved the issue.