sco0ter / babbler

Java library for XMPP clients using JAXB
http://docs.xmpp.rocks
MIT License
7 stars 2 forks source link

Presence and IQ responses not recognized in Multi-User-Chat #12

Closed sco0ter closed 9 years ago

sco0ter commented 9 years ago

Original report by Anonymous.


Bug appears when entering chat room. Debug log (JIDs redacted) shows the presence stanza is received, but it doesn't seem to be recognized:

#!xml

OUT: <presence to="lobby@conference.example.com/bot"><x xmlns="http://jabber.org/protocol/muc"></x></presence>
[...]
IN : <presence from="lobby@conference.example.com/bot" to="user@example.com/bot"><x xmlns="http://jabber.org/protocol/muc#user"><item affiliation="none" jid="user@example.com/bot" role="participant"></item></x></presence>
[...]

After a short time this exception is thrown:

#!java
rocks.xmpp.core.session.NoResponseException: Timeout reached, while waiting on a response.
    at rocks.xmpp.core.session.XmppSession.sendAndAwaitPresence(XmppSession.java:597)
    at rocks.xmpp.core.session.XmppSession.sendAndAwaitPresence(XmppSession.java:556)
    at rocks.xmpp.extensions.muc.ChatRoom.enter(ChatRoom.java:409)
    at rocks.xmpp.extensions.muc.ChatRoom.enter(ChatRoom.java:356)

The IQ stanzas aren't recognized either, leading to multiple of these:

#!java

Jan 22, 2015 8:43:37 AM rocks.xmpp.extensions.caps.EntityCapabilitiesManager$3 handle
Warnung: Timeout reached, while waiting on a response.
rocks.xmpp.core.session.NoResponseException: Timeout reached, while waiting on a response.
    at rocks.xmpp.core.session.XmppSession.sendAndAwaitIQ(XmppSession.java:531)
    at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:472)
    at rocks.xmpp.core.session.XmppSession.query(XmppSession.java:452)
    at rocks.xmpp.extensions.disco.ServiceDiscoveryManager.discoverInformation(ServiceDiscoveryManager.java:382)
    at rocks.xmpp.extensions.caps.EntityCapabilitiesManager$3.handle(EntityCapabilitiesManager.java:180)
    at rocks.xmpp.extensions.caps.EntityCapabilitiesManager$3.handle(EntityCapabilitiesManager.java:136)
    at rocks.xmpp.core.session.XmppSession.notifyStanzaListeners(XmppSession.java:407)
    at rocks.xmpp.core.session.XmppSession.access$600(XmppSession.java:80)
    at rocks.xmpp.core.session.XmppSession$9.run(XmppSession.java:961)
    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:744)
sco0ter commented 9 years ago

Original comment by Christian Schudt (Bitbucket: sco0ter, GitHub: sco0ter).


Thank you for your bug report!

The latter issue (EntityCapabilities) was a known issue, which already has been fixed with b1bbea55cf19f9fae62f545fbd902f7df0f8efdc

The first issue (ChatRoom enter) might be related to the first one. From the code perspective the returned stanza should been caught and entering should therefore succeed. Maybe it's related to the other issue, too, or it was related to this fix: 14244768776266ecdaae437c9db36b1f9c7448f2 I can test it again.

sco0ter commented 9 years ago

Original comment by Christian Schudt (Bitbucket: sco0ter, GitHub: sco0ter).


This should be fixed in version 0.5.0 (which is now in Maven Central). If you think it's not, please reopen.