Project

General

Profile

MUC server host broken

Julia Zashchitina
Added almost 4 years ago

Hi

We have an issue with disabling following MUC setting:

muc/message-filter-enabled=false

When this property is set, MUC component gets broken because of malformed host address.

2015-02-06 08:23:44.699 [pool-13-thread-2]  CIDConnections.openOutgoingConnections()  INFO: Remote host not found: muc.X.X.X.X, for: X.X.X.X@muc.X.X.X.X
java.net.UnknownHostException: muc.X.X.X.X: Name or service not known

Our tigase domain name is equal to server IP.

Could you please tell us what is the reason MUC host gets corrupted and how to fix that?

Thank you


Replies (6)

Added by Wojciech Kapcia TigaseTeam almost 4 years ago

Julia Zashchitina wrote:

Our tigase domain name is equal to server IP.

First of all - this should be avoided

Could you please tell us what is the reason MUC host gets corrupted and how to fix that?

Mentioned option should not result in such exception. More likely it's a result of other misconfiguration, most likely in area of VHost configuration.

Added by Julia Zashchitina almost 4 years ago

After re-installing tigase with regular domain name we still experience the same error.

Could you please review init.properties and log attachments to help us solve the issue.

init.properties:

--virt-hosts = mycompany
--user-db-uri = jdbc:mysql://localhost/tigaseDevDb?user=username&password=password
--user-db = mysql
--admins = admin@mycompany
config-type = --gen-config-def
--cluster-mode = true
--sm-plugins = +message-archive-xep-0136
--debug = server
--comp-name-1 = muc
--comp-class-1 = tigase.muc.MUCComponent
--comp-name-2 = pubsub
--comp-class-2 = tigase.pubsub.PubSubComponent
--comp-name-3 = proxy
--comp-class-3 = tigase.socks5.Socks5ProxyComponent
--comp-name-4 = message-archive
--comp-class-4 = tigase.archive.MessageArchiveComponent

--comp-name-5 = rest
--comp-class-5 = tigase.http.rest.RestMessageReceiver

muc/message-filter-enabled=false

Tigase log:

2015-02-09 18:56:38.066 [in_1-message-router]  MessageRouter.processPacket()  FINEST:   2. Packet will be processed by: s2s@ubuntu14, from=sess-man@ubuntu14, to=null, 
DATA=<presence from="myuser@mycompany/tigase-18" xmlns="jabber:client" to="557d0b6263c14ddbbb082fe83e2da181@muc.10.11.0.133/myuser"><x xmlns="http://jabber.org/protocol/muc"/><x xmlns="vcard-temp:x:update"><photo/></x></presence>, 
SIZE=233, XMLNS=jabber:client, PRIORITY=PRESENCE, PERMISSION=AUTH, TYPE=null
2015-02-09 18:56:38.066 [in_1-s2s]         S2SConnectionManager.processPacket()  FINEST: Processing packet: from=sess-man@ubuntu14, to=null, 
DATA=<presence from="myuser@mycompany/tigase-18" xmlns="jabber:client" to="557d0b6263c14ddbbb082fe83e2da181@muc.10.11.0.133/myuser"><x xmlns="http://jabber.org/protocol/muc"/><x xmlns="vcard-temp:x:update"><photo/></x></presence>, 
SIZE=233, XMLNS=jabber:client, PRIORITY=PRESENCE, PERMISSION=AUTH, TYPE=null
2015-02-09 18:56:38.066 [in_1-s2s]         S2SConnectionManager.processPacket()  FINEST: Connection ID is: mycompany@muc.10.11.0.133
2015-02-09 18:56:38.067 [in_1-s2s]         CIDConnections.sendPacket()        FINEST:   Sending packets.
2015-02-09 18:56:38.067 [in_1-s2s]         CIDConnections.sendPacket()        FINEST:   There is no connection available to send the packet: from=null, to=null, 
DATA=<presence from="myuser@mycompany/tigase-18" to="557d0b6263c14ddbbb082fe83e2da181@muc.10.11.0.133/myuser"><x xmlns="http://jabber.org/protocol/muc"/><x xmlns="vcard-temp:x:update"><photo/></x></presence>, 
SIZE=211, XMLNS=jabber:client, PRIORITY=PRESENCE, PERMISSION=NONE, TYPE=null
2015-02-09 18:56:38.067 [in_1-s2s]         CIDConnections.sendPacket()        FINEST:   No packet could be sent, trying to open more connections: mycompany@muc.10.11.0.133
2015-02-09 18:56:38.067 [in_1-s2s]         CIDConnections.checkOpenConnections()  FINEST: Scheduling task for openning a new connection for: mycompany@muc.10.11.0.133
2015-02-09 18:56:38.067 [pool-13-thread-1]  CIDConnections$2.run()            FINEST:   Running scheduled task for openning a new connection for: mycompany@muc.10.11.0.133
2015-02-09 18:56:38.067 [pool-13-thread-1]  CIDConnections.openOutgoingConnections()  FINEST: Checking DNS for host: muc.10.11.0.133 for: mycompany@muc.10.11.0.133
2015-02-09 18:56:38.075 [pool-13-thread-1]  CIDConnections.openOutgoingConnections()  INFO: Remote host not found: muc.10.11.0.133, for: mycompany@muc.10.11.0.133
java.net.UnknownHostException: muc.10.11.0.133: Name or service not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1246)
    at java.net.InetAddress.getAllByName(InetAddress.java:1162)
    at java.net.InetAddress.getAllByName(InetAddress.java:1098)
    at tigase.util.DNSResolver.getHostIPs(DNSResolver.java:292)
    at tigase.util.DNSResolver.getHostIP(DNSResolver.java:275)
    at tigase.util.DNSResolver.getHostSRV_Entries(DNSResolver.java:407)
    at tigase.util.DNSResolver.getHostSRV_Entries(DNSResolver.java:319)
    at tigase.server.xmppserver.CIDConnections.openOutgoingConnections(CIDConnections.java:796)
    at tigase.server.xmppserver.CIDConnections.access$400(CIDConnections.java:64)
    at tigase.server.xmppserver.CIDConnections$2.run(CIDConnections.java:679)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam almost 4 years ago

With the short excerpt from the log it is hard to tell for sure, but there might be nothing wrong with the server or server's configuration. It looks like the client/user sends a packet to a MUC addressed: muc.10.11.0.133 or more specifically to MUC's room: 557d0b6263c14ddbbb082fe83e2da181@muc.10.11.0.133. If you have somehow hardcoded this address in your client, then this might be the source of the problem as the server cannot find MUC component with such an address locally and attempts to reach a remote service with this address.

Added by Julia Zashchitina almost 4 years ago

Thank you for your reply. You were probably right about some preconfigured jid on the client side.

However, when client performs items discovery request and muc/message-filter-enabled=false option is set, MUC component is not included in response.

<iq type="get" to="54.68.53.184" id="32FE0D40-4AD5-4D2B-B9E8-5F7C2668DF27">
 <query xmlns="http://jabber.org/protocol/disco#items"/>
</iq>

#muc/message-filter-enabled=false

<__NSArrayM 0x7fa6d3c53c40>(
<item jid="proxy@54.68.53.184" name="Socks5 Bytestreams Service"/>
)

#muc/message-filter-enabled is not set

<__NSArrayM 0x7f8376029ba0>(
<item jid="proxy@54.68.53.184" name="Socks5 Bytestreams Service"/>,
<item jid="muc.54.68.53.184" name="Multi User Chat"/>
)

Looks like the MUC component is not registered properly. Please, see also the attached log file.

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam almost 4 years ago

Unfortunately the log excerpt is too short to tell anything. Most likely the muc config options is incorrectly set, which causes the MUC component to fail at startup. I am not sure if this helps but please try this line instead:

muc/message-filter-enabled[B]=false

In any case, I created a ticket to improve the wiki page describing MUC configuration: #2705, please add yourself to watchers to monitor progress of the task.

Added by Julia Zashchitina almost 4 years ago

Adding [B] fixed the issue, thank you so much!

    (1-6/6)