powered by Jive Software

Openfire v4.2.3 throws out of order sm ack and closes the stream unexpectedly


#1

XMPP client aTalk with smack 4.4.0 with an account registered on example.ru service which runs on openfire v4.2.3:
Following decribes the observation:

  1. while the user test@example.ru is in standby, and aTalk is receiving ping from the server. Everything is working fine at this stage.
  2. User activates a chat session with babai@example.ru; aTalk auto init a check for buddy capabilities including omemo support.
  3. Openfire throws stream error indicated that there is an out-of-order sm ack.

<stream:error xmlns:stream=“http://etherx.jabber.org/streams”>You acknowledged stanzas that we didn’t send. Your Ack h: 39, our last stanza: 21</stream:error>

  1. All this while, aTalk testing has been carried out with own home server ejabberd v18.03, it never encounters this problem before.

  2. Look like the sm ack out of error also occurs while aTalk is trying to request for server chatRoom info.

  3. The above is also not being observed while user is using openfire v4.1.6, prior to him upgraded the server to use v4.2.3 yesterday.

========== aTalk log when accessing omemo messaging ========
09-06 08:12:05.440 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="get" id="948-4056" from="example.ru" to="test@example.ru/atalk"><ping xmlns="urn:xmpp:ping"/></iq>
09-06 08:12:05.460 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='example.ru' id='948-4056' type='result'></iq><r xmlns='urn:xmpp:sm:3'/>
09-06 08:12:05.873 14439-14551/org.atalk.android D/SMACK: RECV (0): <a xmlns='urn:xmpp:sm:3' h='35' />
09-06 08:12:21.130 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="get" id="535-4059" from="example.ru" to="test@example.ru/atalk"><ping xmlns="urn:xmpp:ping"/></iq>
09-06 08:12:21.145 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='example.ru' id='535-4059' type='result'></iq>
09-06 08:12:36.799 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="get" id="352-4063" from="example.ru" to="test@example.ru/atalk"><ping xmlns="urn:xmpp:ping"/></iq>
09-06 08:12:36.814 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='example.ru' id='352-4063' type='result'></iq>
09-06 08:12:38.978 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='example.ru' id='rLXRF-117' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
09-06 08:12:39.137 14439-14439/org.atalk.android I/aTalk: [2] org.jivesoftware.smackx.avatar.AvatarManager.getAvatarImageByJid() Fetching avatar from local storage for: 09-06 08:12:39.458 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="rLXRF-117" from="example.ru" to="test@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="server" name="Openfire Server" type="im"/><identity category="pubsub" type="pep"/><feature var="http://jabber.org/protocol/pubsub#retrieve-default"/><feature var="http://jabber.org/protocol/pubsub#purge-nodes"/><feature var="vcard-temp"/><feature var="http://jabber.org/protocol/pubsub#subscribe"/><feature var="http://jabber.org/protocol/pubsub#subscription-options"/><feature var="http://jabber.org/protocol/pubsub#create-nodes"/><feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/><feature var="msgoffline"/><feature var="http://jabber.org/protocol/pubsub#get-pending"/><feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/><feature var="http://jabber.org/protocol/pubsub#presence-notifications"/><feature var="urn:xmpp:ping"/><feature var="jabber:iq:register"/><feature var="http://jabber.org/protocol/pubsub#delete-nodes"/><feature var="http://jabber.org/protocol/pubsub#config-node"/><feature var="http://jabber.org/protocol/pubsub#retrieve-items"/><feature var="http://jabber.org/protocol/pubsub#auto-create"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="http://jabber.org/protocol/pubsub#item-ids"/><feature var="http://jabber.org/protocol/pubsub#meta-data"/><feature var="jabber:iq:roster"/><feature var="http://jabber.org/protocol/pubsub#instant-nodes"/><feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/><feature var="http://jabber.org/protocol/pubsub#persistent-items"/><feature var="http://jabber.org/protocol/pubsub#create-and-configure"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/><feature var="http://jabber.org/protocol/pubsub#access-open"/><feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/><feature var="jabber:iq:version"/><feature var="http://jabber.org/protocol/pubsub#retract-items"/><feature var="urn:xmpp:time"/><feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/><feature var="jabber:iq:privacy"/><feature var="jabber:iq:last"/><feature var="http://jabber.org/protocol/commands"/><feature var="http://jabber.org/protocol/offline"/><feature var="urn:xmpp:carbons:2"/><feature var="http://jabber.org/protocol/address"/><feature var="http://jabber.org/protocol/pubsub#publish"/><feature var="http://jabber.org/protocol/pubsub#collections"/><feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="jabber:iq:private"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
09-06 08:12:43.280 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='babai@example.ru' id='rLXRF-119' type='get'><query xmlns='http://jabber.org/protocol/disco#info' node='eu.siacs.conversations.axolotl.devicelist'></query></iq>
09-06 08:12:43.763 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="rLXRF-119" from="babai@example.ru" to="test@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info" node="eu.siacs.conversations.axolotl.devicelist"><identity category="pubsub" type="leaf"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/disco#info"/><x xmlns="jabber:x:data" type="result"><field var="FORM_TYPE" type="hidden"><value>http://jabber.org/protocol/pubsub#meta-data</value></field><field var="pubsub#title" type="text-single" label="Краткое имя узла"><value></value></field><field var="pubsub#description" type="text-single" label="Описание узла"><value></value></field><field var="pubsub#node_type" type="text-single" label="Является ли узел листом (по умолчанию) или сборкой"><value>leaf</value></field><field var="pubsub#collection" type="text-single" label="Сборник, с которой связан узел."/><field var="pubsub#subscribe" type="boolean" label="Разрешить подписку на узел"><value>1</value></field><field var="pubsub#subscription_required" type="boolean" label="Новые подписки требуют настройки"><value>0</value></field><field var="pubsub#deliver_payloads" type="boolean" label="Отправлять полезную нагрузку с уведомлениями о событиях"><value>1</value></field><field var="pubsub#notify_config" type="boolean" label="Уведомлять подписчиков при изменении конфигурации узла"><value>1</value></field><field var="pubsub#notify_delete" type="boolean" label="Уведомлять подписчиков при удалении узла"><value>1</value></field><field var="pubsub#notify_retract" type="boolean" label="Уведомлять подписчиков при удалении элементов из узла"><value>1</value></field><field var="pubsub#presence_based_delivery" type="boolean" label="Отправлять уведомления только доступным пользователям"><value>0</value></field><field var="pubsub#type" type="text-single" label="Тип данных полезной нагрузки, которые будут предоставлены на этом узле"><value></value></field><field var="pubsub#body_xslt" type="text-single" label="Тело сообщения XSLT"><value></value></field><field var="pubsub#dataform_xslt" type="text-single" label="Полезная нагрузка XSLT"><value></value></field><field var="pubsub#access_model" type="list-single" label="Укажите, кто может подписываться и получать элементы"><option><value>authorize</value></option><option><value>open</value></option><option><value>presence</value></option><option><value>roster</value></option><option><value>whitelist</value></option><value>presence</value></field><field var="pubsub#publish_model" type="list-single" label="Модель издателя"><option><value>publishers</value></option><option><value>subscribers</value></option><option><value>open</value></option><value>publishers</value></field><field var="pubsub#roster_groups_allowed" type="list-multi" label="Группам списков разрешено подписываться"/><field var="pubsub#contact" type="jid-multi" label="Люди, с которыми можно связаться"/><field var="pubsub#language" type="text-single" label="Язык по умолчанию"><value>English</value></field><field var="pubsub#owner" type="jid-multi" label="Владельцы узлов"><value>babai@example.ru</value></field><field var="pubsub#publisher" type="jid-multi" label="Издатели узлов"/><field var="pubsub#itemreply" type="list-single" label="Выберите объект, который должен получать ответы на элементы"><option><value>owner</value></option><option><value>publisher</valu
09-06 08:12:43.806 14439-14550/org.atalk.android D/SMACK: SENT (0): <iq to='babai@example.ru' id='rLXRF-121' type='get'><pubsub xmlns='http://jabber.org/protocol/pubsub'><items node='eu.siacs.conversations.axolotl.devicelist'/></pubsub></iq><r xmlns='urn:xmpp:sm:3'/>
09-06 08:12:44.172 14439-14551/org.atalk.android D/SMACK: RECV (0): <r xmlns='urn:xmpp:sm:3' />
09-06 08:12:44.180 14439-14550/org.atalk.android D/SMACK: SENT (0): <a xmlns='urn:xmpp:sm:3' h='39'/>
09-06 08:12:44.687 14439-14551/org.atalk.android D/SMACK: RECV (0): <iq type="result" id="rLXRF-121" from="babai@example.ru" to="test@example.ru/atalk"><pubsub xmlns="http://jabber.org/protocol/pubsub"><items node="eu.siacs.conversations.axolotl.devicelist"/></pubsub></iq>
09-06 08:12:44.713 14439-14551/org.atalk.android D/SMACK: RECV (0): <a xmlns='urn:xmpp:sm:3' h='40' />
09-06 08:12:44.719 14439-14551/org.atalk.android D/SMACK: RECV (0): <stream:error xmlns:stream="http://etherx.jabber.org/streams"><undefined-condition xmlns="urn:ietf:params:xml:ns:xmpp-streams"/><text xmlns="urn:ietf:params:xml:ns:xmpp-streams">You acknowledged stanzas that we didn't send. Your Ack h: 39, our last stanza: 21</text></stream:error>
09-06 08:12:44.754 14439-14551/org.atalk.android W/aTalk: [7568] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[test@example.ru/atalk] (0) closed with error
    org.jivesoftware.smack.XMPPException$StreamErrorException: undefined-condition You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
    <stream:error><undefined-condition xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>You acknowledged stanzas that we didn&apos;t send. Your Ack h: 39, our last stanza: 21</text></stream:error>
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1057)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:993)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1009)
        at java.lang.Thread.run(Thread.java:764)
09-06 08:12:44.781 14439-14439/org.atalk.android I/aTalk: [2] org.jivesoftware.smackx.avatar.AvatarManager.getAvatarImageByJid() Fetching avatar from local storage for: (test@example.ru) => null
09-06 08:12:44.792 14439-14551/org.atalk.android D/SMACK: XMPPConnection closed due to an exception (XMPPTCPConnection[test@example.ru/atalk] (0))
    org.jivesoftware.smack.XMPPException$StreamErrorException: undefined-condition You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
    <stream:error><undefined-condition xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>You acknowledged stanzas that we didn&apos;t send. Your Ack h: 39, our last stanza: 21</text></stream:error>
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1057)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:993)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1009)
        at java.lang.Thread.run(Thread.java:764)
09-06 08:12:44.803 14439-14439/org.atalk.android I/aTalk: [2] org.jivesoftware.smackx.avatar.AvatarManager.getAvatarImageByJid() Fetching avatar from local storage for: (test@example.ru) => null
09-06 08:12:44.817 14439-14439/org.atalk.android I/aTalk: [2] org.jivesoftware.smackx.avatar.AvatarManager.getAvatarImageByJid() Fetching avatar from local storage for: (test@example.ru) => null
09-06 08:12:45.807 14439-14831/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (0)) will reconnect in 4
09-06 08:12:46.810 14439-14831/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (0)) will reconnect in 3
09-06 08:12:47.813 14439-14831/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (0)) will reconnect in 2
09-06 08:12:48.815 14439-14831/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (0)) will reconnect in 1
09-06 08:12:49.818 14439-14831/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (0)) will reconnect in 0
09-06 08:13:36.819 14439-14843/org.atalk.android D/SMACK: SENT (0): <stream:stream xmlns='jabber:client' to='example.ru' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
09-06 08:13:37.216 14439-14844/org.atalk.android D/SMACK: RECV (0): <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="example.ru" id="88fsbh1um9" xml:lang="en" version="1.0">

================ aTalk log while request for server chatRoom ============
09-06 08:58:09.058 17633-18241/org.atalk.android D/SMACK: RECV (2): <iq type="get" id="726-4762" from="example.ru" to="test@example.ru/atalk"><ping xmlns="urn:xmpp:ping"/></iq>
09-06 08:58:09.071 17633-18240/org.atalk.android D/SMACK: SENT (2): <iq to='example.ru' id='726-4762' type='result'></iq>
09-06 08:58:10.435 17633-18240/org.atalk.android D/SMACK: SENT (2): <iq to='example.ru' id='8EH6x-122' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq><r xmlns='urn:xmpp:sm:3'/>
09-06 08:58:10.900 17633-18241/org.atalk.android D/SMACK: RECV (2): <iq type="result" id="8EH6x-122" from="example.ru" to="test@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="server" name="Openfire Server" type="im"/><identity category="pubsub" type="pep"/><feature var="http://jabber.org/protocol/pubsub#retrieve-default"/><feature var="http://jabber.org/protocol/pubsub#purge-nodes"/><feature var="vcard-temp"/><feature var="http://jabber.org/protocol/pubsub#subscribe"/><feature var="http://jabber.org/protocol/pubsub#subscription-options"/><feature var="http://jabber.org/protocol/pubsub#create-nodes"/><feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/><feature var="msgoffline"/><feature var="http://jabber.org/protocol/pubsub#get-pending"/><feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/><feature var="http://jabber.org/protocol/pubsub#presence-notifications"/><feature var="urn:xmpp:ping"/><feature var="jabber:iq:register"/><feature var="http://jabber.org/protocol/pubsub#delete-nodes"/><feature var="http://jabber.org/protocol/pubsub#config-node"/><feature var="http://jabber.org/protocol/pubsub#retrieve-items"/><feature var="http://jabber.org/protocol/pubsub#auto-create"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="http://jabber.org/protocol/pubsub#item-ids"/><feature var="http://jabber.org/protocol/pubsub#meta-data"/><feature var="jabber:iq:roster"/><feature var="http://jabber.org/protocol/pubsub#instant-nodes"/><feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/><feature var="http://jabber.org/protocol/pubsub#persistent-items"/><feature var="http://jabber.org/protocol/pubsub#create-and-configure"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/><feature var="http://jabber.org/protocol/pubsub#access-open"/><feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/><feature var="jabber:iq:version"/><feature var="http://jabber.org/protocol/pubsub#retract-items"/><feature var="urn:xmpp:time"/><feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/><feature var="jabber:iq:privacy"/><feature var="jabber:iq:last"/><feature var="http://jabber.org/protocol/commands"/><feature var="http://jabber.org/protocol/offline"/><feature var="urn:xmpp:carbons:2"/><feature var="http://jabber.org/protocol/address"/><feature var="http://jabber.org/protocol/pubsub#publish"/><feature var="http://jabber.org/protocol/pubsub#collections"/><feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="jabber:iq:private"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
09-06 08:58:10.916 17633-18240/org.atalk.android D/SMACK: SENT (2): <iq to='example.ru' id='8EH6x-124' type='get'><query xmlns='http://jabber.org/protocol/disco#items'></query></iq>
09-06 08:58:11.311 17633-18241/org.atalk.android D/SMACK: RECV (2): <a xmlns='urn:xmpp:sm:3' h='30' />
09-06 08:58:11.823 17633-18241/org.atalk.android D/SMACK: RECV (2): <iq type="result" id="8EH6x-124" from="example.ru" to="test@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#items"><item jid="conference.example.ru" name="Public Chatrooms"/><item jid="pubsub.example.ru" name="Publish-Subscribe service"/></query></iq>
09-06 08:58:11.834 17633-18241/org.atalk.android D/SMACK: RECV (2): <r xmlns='urn:xmpp:sm:3' />
09-06 08:58:11.850 17633-18240/org.atalk.android D/SMACK: SENT (2): <iq to='conference.example.ru' id='8EH6x-126' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq><a xmlns='urn:xmpp:sm:3' h='31'/>
09-06 08:58:12.334 17633-18241/org.atalk.android D/SMACK: RECV (2): <iq type="result" id="8EH6x-126" from="conference.example.ru" to="test@example.ru/atalk"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="conference" name="Public Chatrooms" type="text"/><identity category="directory" name="Public Chatroom Search" type="chatroom"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="jabber:iq:search"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
09-06 08:58:12.346 17633-18241/org.atalk.android D/SMACK: RECV (2): <stream:error xmlns:stream="http://etherx.jabber.org/streams"><undefined-condition xmlns="urn:ietf:params:xml:ns:xmpp-streams"/><text xmlns="urn:ietf:params:xml:ns:xmpp-streams">You acknowledged stanzas that we didn't send. Your Ack h: 31, our last stanza: 21</text></stream:error>
09-06 08:58:12.356 17633-18240/org.atalk.android D/SMACK: SENT (2): <iq to='pubsub.example.ru' id='8EH6x-128' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
09-06 08:58:12.369 17633-18241/org.atalk.android W/aTalk: [7648] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[test@example.ru/atalk] (2) closed with error
    org.jivesoftware.smack.XMPPException$StreamErrorException: undefined-condition You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
    <stream:error><undefined-condition xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>You acknowledged stanzas that we didn&apos;t send. Your Ack h: 31, our last stanza: 21</text></stream:error>
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1057)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:993)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1009)
        at java.lang.Thread.run(Thread.java:764)
09-06 08:58:12.398 17633-18241/org.atalk.android D/SMACK: XMPPConnection closed due to an exception (XMPPTCPConnection[test@example.ru/atalk] (2))
    org.jivesoftware.smack.XMPPException$StreamErrorException: undefined-condition You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
    <stream:error><undefined-condition xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>You acknowledged stanzas that we didn&apos;t send. Your Ack h: 31, our last stanza: 21</text></stream:error>
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1057)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:993)
        at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1009)
        at java.lang.Thread.run(Thread.java:764)
09-06 08:58:13.403 17633-18299/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (2)) will reconnect in 4
09-06 08:58:14.405 17633-18299/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (2)) will reconnect in 3
09-06 08:58:15.408 17633-18299/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (2)) will reconnect in 2
09-06 08:58:16.410 17633-18299/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (2)) will reconnect in 1
09-06 08:58:17.413 17633-18299/org.atalk.android D/SMACK: XMPPConnection (XMPPTCPConnection[test@example.ru/atalk] (2)) will reconnect in 0
09-06 08:58:19.928 17633-18305/org.atalk.android D/SMACK: SENT (2): <stream:stream xmlns='jabber:client' to='example.ru' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>

Smack Omemo deviceList error handler implementation
#2

To me this looks like a known bug - https://issues.igniterealtime.org/browse/OF-1497

The fix has yet to be released, but in the meantime you can workaround it by setting the system property stream.management.active to false

Greg


#3

I am not sure if both issues are related; I am unable to disable the ping function on server to verify as this is customer server. However the sm ack out of order problem can also happen even before the server ping cycle starts.

Please note by disabling the sm feature on server, all xmpp clients with mobile devices will face a serious problem in the communication reliability - with messages not being received at times.


#4

This is true, but if you don’t disable the SM feature then all XMPP clients will face a serious problem in the communication reliability as the SM feature is broken in 4.2.3.

Greg


#5

If we are able to confirm that the cause is due to server ping, I would prefer to disable ping rather than sm. I believe most of the mobile xmpp clients have ping function implemented. The client can enable the ping function in place of server ping.

We had bad experience with sm being not available on server many years back, mobile clients doing chat while moving will experience frequent messages lost when they enter a network fringe area, or in a lift etc.