Need help to update prosody to 0.11

Hi,

I have a Jitsi server, and I would like to test some new features with prosody 0.11.5.
Unfortunately I don’t understand how to update the package without brake anything.
Do I install Jitsi then upgrade prosody ? And how ?
Do I install prosody and then install jitsi-meet ?
Or anything else… ? :slight_smile:
Thanks for your help !

I updated prosody to 0.11.5 after having installed jitsi-meet and it works perfectly. Your config files remain unchanged after the update.
See New install on Ubuntu 18.04 not working

Thanks for your help.
I’ve tried. I have updated prosody to 0.11.5, but unfortunatelly, jitsi doesn’t work anymore after this upgrade.
I can open 2 differents tabs to same room, nothing happened, each seems in different room, with "“You have been disconnected” message before reload the page…

Did you restart all services after the update (prosody, jicofo, videobridge and webserver) ?
You can also ckeck the various logs and share them here so that the comunity can try to help you

Yes, I have restarted services and server.

Just checked prosody logs and error, I can see this :
Apr 05 18:59:22 certmanager error SSL/TLS: Failed to load ‘/etc/prosody/certs/localhost.key’: Check that the permissions allow Prosody to read this file. (for localhost)
Apr 05 18:59:22 localhost:tls error Error creating context for c2s: error loading private key (Permission denied)
Apr 05 18:59:22 certmanager error SSL/TLS: Failed to load ‘/etc/prosody/certs/localhost.key’: Previous error (see logs), or other system error. (for localhost)
Apr 05 18:59:22 localhost:tls error Error creating contexts for s2sout: error loading private key (system lib)
Apr 05 18:59:22 certmanager error SSL/TLS: Failed to load ‘/etc/prosody/certs/localhost.key’: Previous error (see logs), or other system error. (for localhost)
Apr 05 18:59:22 localhost:tls error Error creating contexts for s2sin: error loading private key (system lib)
Apr 05 18:59:23 c2s55dd7381c620 info Client connected
Apr 05 18:59:23 c2s55dd7381c620 info Client disconnected: connection closed
Apr 05 18:59:27 c2s55dd73825e00 info Client connected
Apr 05 18:59:27 c2s55dd73825e00 info Client disconnected: connection closed
Apr 05 18:59:28 c2s55dd7382e9d0 info Client connected

I am checking others logs… It’s not really clean in Jicofo too… ^^

Jicofo 2020-04-05 19:25:56.812 SEVERE: [35] org.jitsi.meet.ComponentMain.log() java.net.ConnectException: Connection refused (Connection refused), host:localhost, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused (Connection refused)
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:296)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:242)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:222)
at org.jitsi.meet.ComponentMain.lambda$getConnectCallable$0(ComponentMain.java:285)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:174)
… 11 more
Jicofo 2020-04-05 19:25:59.020 SEVERE: [88] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect().315 Failed to connect/login: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
stream:errorThis server does not serve auth.xxx.xxxx.xxx</stream:error>
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
stream:errorThis server does not serve auth.xxx.xxxx.xxx</stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1059)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
Jicofo 2020-04-05 19:25:59.023 WARNING: [169] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[not-authenticated] (0) closed with error
org.jivesoftware.smack.XMPPException$StreamErrorException: host-unknown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
stream:errorThis server does not serve auth.xxx.xxxx.xxx</stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1064)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
~

Does this file exist?

What ownership and permissions does it have, and what user is prosody running under?

files exist, just changed permission to 777 to try.
But on another server without prosody upgrade, I have :
lrwxrwxrwx 1 root root 37 Jan 30 2016 localhost.crt -> …/…/ssl/certs/ssl-cert-snakeoil.pem
lrwxrwxrwx 1 root root 39 Jan 30 2016 localhost.key -> …/…/ssl/private/ssl-cert-snakeoil.key

I’ve been having the same issue.

I got this log to stop by making the localhost.key owned by root:prosody, then adding u+r to the file. This didn’t fix the underlying issue and I continued having almost the exact same errors within Jicofo as you.

Damencho suggested in the linked thread that I change storage = "memory" which I took to mean that would be changed in /etc/prosody/conf.d/meet.domain.com.cfg.lua - This also had no affect as far as I can see and I additionally tried storage = "null" and reversion to storage = "none" with no results.

I even tried changing changing the /etc/hosts file seeing if there was Jicofo might be relying on DNS to find the prosody server. No effect, and I’m clearly at my wits end.

I checked for the 315 Failed to connect/login: host-unknown in Jicofo logs at the link it refers to. But the link didn’t have anything that I could make use of, even after looking at /etc/jitsi/jicofo/config.

Hmm…ok !
Great news, I am not alone ; bad news, we don’t have the fix ! :wink:
I have also checked all of these… dns, storage=none, etc… I am also on Ubuntu 18.04, but I don’t understand how it can be related…

The provided logs suggest that the certificate configuration of Prosody is messed up – as far as I understand the logs,

  • Prosody could not load the key and
  • Prosody does not have a certificate to serve the auth.xxx.xxx domain that was requested in the SNI of Jicofo’s connection attempt.

If you run

prosodyctl check

this should give some information about the certificates configured for each component (works for Prosody > 0.9).

You can also try to regenerate self-signed certificates for prosody using

prosodyctl cert generate example.org auth.example.org

(replace example.org and omit the auth.example.org domain if you don’t use a secure domain setup). This will place the new certificates and key in prosody’s data folder (the output tells you where exactly) and you can either adjust your prosody config or move the generated key and cert to the path provided in the configuration.

Note however, that this may not actually be the root cause of your issues, its just what I understand from looking over the provided logfile snippets.

Does file /etc/prosody/prosody.cfg.lua contain Include "conf.d/*.cfg.lua" ?

Plotka, I tried out the cert renewal for both the localhost cert and the domain cert and continued to get the same error in regards to the localhost.key.

I followed @plokta’s suggestion of renewing the certs. Doing so made no immediately noticeable difference, not even removing the error for the localhost key.

I tried @poemat’s suggestion of adding Include "conf.d/*.cfg.lua" to /etc/prosody/prosody.cfg.lua

Doing this causes a big dump of errors in prosody.err:

Apr 12 14:58:19 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    Apr 12 14:58:34 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    Apr 12 14:58:35 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    Apr 12 14:58:50 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    Apr 12 14:58:54 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    Apr 12 14:58:56 mod_bosh	error	Traceback[bosh]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'dispatch_stanza'
    	/usr/lib/prosody/modules/mod_bosh.lua:305: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    stack traceback:
    	/usr/lib/prosody/util/async.lua:211: in function 'run'
    	/usr/lib/prosody/modules/mod_bosh.lua:447: in function 'cb_handlestanza'
    	/usr/lib/prosody/util/xmppstream.lua:182: in function </usr/lib/prosody/util/xmppstream.lua:162>
    	[C]: in function 'parse'
    	/usr/lib/prosody/util/xmppstream.lua:282: in function 'feed'
    	/usr/lib/prosody/modules/mod_bosh.lua:133: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/net/http/server.lua:228: in function </usr/lib/prosody/net/http/server.lua:176>
    	[C]: in function 'xpcall'
    	/usr/lib/prosody/net/http/server.lua:108: in function 'process_next'
    	/usr/lib/prosody/net/http/server.lua:124: in function 'success_cb'
    	/usr/lib/prosody/net/http/parser.lua:177: in function 'feed'
    	/usr/lib/prosody/net/http/server.lua:155: in function </usr/lib/prosody/net/http/server.lua:154>
    	(...tail calls...)
    	/usr/lib/prosody/net/server_select.lua:915: in function </usr/lib/prosody/net/server_select.lua:899>
    	[C]: in function 'xpcall'
    	/usr/bin/prosody:76: in function 'loop'
    	/usr/bin/prosody:86: in main chunk
    	[C]: in ?
    Apr 12 14:59:08 mod_bosh	error	Traceback[bosh]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'dispatch_stanza'
    	/usr/lib/prosody/modules/mod_bosh.lua:305: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
    stack traceback:
    	/usr/lib/prosody/util/async.lua:211: in function 'run'
    	/usr/lib/prosody/modules/mod_bosh.lua:447: in function 'cb_handlestanza'
    	/usr/lib/prosody/util/xmppstream.lua:182: in function </usr/lib/prosody/util/xmppstream.lua:162>
    	[C]: in function 'parse'
    	/usr/lib/prosody/util/xmppstream.lua:282: in function 'feed'
    	/usr/lib/prosody/modules/mod_bosh.lua:133: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/net/http/server.lua:228: in function </usr/lib/prosody/net/http/server.lua:176>
    	[C]: in function 'xpcall'
    	/usr/lib/prosody/net/http/server.lua:108: in function 'process_next'
    	/usr/lib/prosody/net/http/server.lua:124: in function 'success_cb'
    	/usr/lib/prosody/net/http/parser.lua:177: in function 'feed'
    	/usr/lib/prosody/net/http/server.lua:155: in function </usr/lib/prosody/net/http/server.lua:154>
    	(...tail calls...)
    	/usr/lib/prosody/net/server_select.lua:915: in function </usr/lib/prosody/net/server_select.lua:899>
    	[C]: in function 'xpcall'
    	/usr/bin/prosody:76: in function 'loop'
    	/usr/bin/prosody:86: in main chunk
    	[C]: in ?
    Apr 12 14:59:09 c2s5567465c1180	error	Traceback[c2s]: /usr/lib/prosody/util/cache.lua:66: table index is nil
    stack traceback:
    	/usr/lib/prosody/util/cache.lua:66: in function 'set'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:176: in function 'track_room'
    	/usr/lib/prosody/modules/muc/mod_muc.lua:204: in function </usr/lib/prosody/modules/muc/mod_muc.lua:191>
    	(...tail calls...)
    	/usr/lib/prosody/modules/muc/mod_muc.lua:433: in function '?'
    	/usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
    	(...tail calls...)
    	/usr/lib/prosody/core/stanza_router.lua:180: in function 'core_post_stanza'
    	/usr/lib/prosody/core/stanza_router.lua:127: in function 'core_process_stanza'
    	/usr/lib/prosody/modules/mod_c2s.lua:275: in function 'func'
    	/usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>

I went into /etc/prosody/conf.d/domain.com.cfg.lua and changes storage="empty" to
storage="memory". Suddenly it started working.

I had done all but the prosodyctl cert change with no luck before. Including the “include” statement with the memory change. Im wondering if when I ran prosodyctl check it changed some permissions or a configuration in addition to what I did.
to.

Im curious what other people find.

Hey guys,

I had the same issue and I fixed it by changing storage=“memory” under /etc/prosody/conf.avail/meet.abc.com.cfg.lua

I believe after upgrading prosody version, new version does not support storage=“none” that’s why we need to add memory there.

Thank you

Yes, I had the same and changing storage=“memory” under /etc/prosody/conf.avail/domain.cfg.lua worked. There are two of them, under conference. and .internal.
Dont deal with localhost cert issue, I think localhost is not used with jitsi. The cause, I think in default jitsi installation prosody runs as root and the files owned by root.
I’ve changed user of prosody in init.d script, the error is gone but i do not know it’s useful in any case.

Interestingly for me this did the trick. I installed initially from jitsi meets repo. But for some reason I guess they still aren’t bumping to prosody 11.5 there?

Anyways to get to 11.5 where the ghost user issue is supposedly gone. I had to move to official prosody repo.

Doing that caused nothing to come up. I saw errors related to auth.mydomain not being accepted in my jvb.log. This made me realize my config likely wasn’t loaded.

I also happened to see storage = “null” was also set in my config file so I changed those to “memory”

1 Like