-
From provided logs I cannot tell what caused this issue, however I'm sure that [2] is not responsible for this issue as there is a call to
setPacketFrom
which only sets internal address of packet without setting or changing from attribute of stanza. So this is not responsible for this issue.However I see a few things which look a little weird:
-
same packet is processed 3 times by
sess-man
and alwayspacketFrom
is null which looks like this packet was loaded from repository 3 times - this may not be causing issue but looks suspicious. -
first processing of packet "after 20 min" is with
packetFrom
set to null and there is nosession@, see: @TYPE=chat, connection: null
- when packet is loaded from offline store it should be already a XMPPResourceConnection (session) which loaded this packet
One more thing - this "new"
from
attribute of element is not copied fromto
attribute of original message stanza but is set from JID of new connection as this is full JID with resource part - 2aa60150c7cacc53568e5923b1f365d6661acc65@beta.kontalk.net/70476da0cb463300 -
-
Andrzej Wójcik wrote:
- same packet is processed 3 times by
sess-man
and alwayspacketFrom
is null which looks like this packet was loaded from repository 3 times - this may not be causing issue but looks suspicious.
That's because the delivery failed 3 times (it can happen very often with mobile connections) and the message got back into offline storage.
- first processing of packet "after 20 min" is with
packetFrom
set to null and there is nosession@, see: @TYPE=chat, connection: null
- when packet is loaded from offline store it should be already a XMPPResourceConnection (session) which loaded this packet
I'm sorry I didn't explain: although it says "Restoring packet", that log is from the savePacketForOfflineUser method [1], so it is going to offline storage again (I know it's going again because of the presence of the delay element which was injected the first time the message was stored, see from #L361).
One more thing - this "new"
from
attribute of element is not copied fromto
attribute of original message stanza but is set from JID of new connection as this is full JID with resource part - 2aa60150c7cacc53568e5923b1f365d6661acc65@beta.kontalk.net/70476da0cb463300Indeed. You gave me some hints to do some more research on this. I'll get back to you. If anything pops into your mind in the meantime please share.
- same packet is processed 3 times by
-
I think I got it.
2015-11-12 09:54:18.044 [in_0-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: sess-man@beta.kontalk.net, from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hH4D3gAqhpvIqQISAgMEBBOyV4TtW9A+6QC6M/c/sR6UXGaao1fK+bjAndHt6WgZjNmMMMirKtSRy0a4Z64gQ9SuLHRllNvIm/OdExdP6jBwCiUpVLLXF8Kh3+R3wiYkL9LSsXG1TB+k45tdJwgkfdKG7s/0rMcrXRpLafC0fOzS6AEm/imYX017Zohc+75Z4ziHHhGpEcXQM0o/Z2OpmO6Ce7gg0FsvGDvcTglGD0k1lS4K9lS+SPuRF9JFXZa6qv5AGltD25zP1azf+Gq6oZDMyEUb7IZzoekwMke6U7C0mQz+WynfHLvOf9QRiuD5pMxm9m5KqhipVkP3v43Stmreoeg7+O/SEUSnIuh3ZekIx99d+D8Ql4If0JZUI5P/nT7582SgIpem2IW/GHhdxrg4k6AoNqnjSmZ9QQHQpKinApQNB8uP/3CeQx0WQoJMgTEyncP84HAy9bsv7/kAAessK6n/CWcruRx+okGLCh7LCQ4U1H37ek4OwNvTsj926OFb2tyFq9NXd+ldkQ3h5aGczr8n2GRQxXnUbxwJItPxwfUMFX8whjxB9fIXfRN/g4AeQaHE+RnDnCdFL554nWCSoFhy6xNhWg/EXikfTl8RWabTIidPed0qqG130Q==</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-12 09:54:18.044 [in_4-sess-man] SessionManager.processPacket() FINEST: Received packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-12 09:54:18.044 [in_4-sess-man] SessionManager.processPacket() FINEST: processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat, connection: XMPPResourceConnection=[user_jid=476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da, packets=20, connectioId=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, domain=beta.kontalk.net, authState=AUTHORIZED, isAnon=false, isTmp=false] 2015-11-12 09:54:18.044 [in_4-sess-man] StartTLS.preProcess() FINEST: VHost: Domain: beta.kontalk.net, enabled: true, anonym: false, register: true, maxusers: 0, tls: false, s2sSecret: e8349573-6a2d-4484-b33d-bf573c77fe59, domainFilter: ALL, domainFilterDomains: null, c2sPortsAllowed: null, saslAllowedMechanisms: null 2015-11-12 09:54:18.045 [in_4-sess-man] BindResource.preProcess() FINEST: Setting correct from attribute: 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da 2015-11-12 09:54:18.045 [in_4-sess-man] DomainFilter.preProcess() FINEST: Processing: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" from="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hH4D3gAqhpvIqQISAgMEBBOyV4TtW9A+6QC6M/c/sR6UXGaao1fK+bjAndHt6WgZjNmMMMirKtSRy0a4Z64gQ9SuLHRllNvIm/OdExdP6jBwCiUpVLLXF8Kh3+R3wiYkL9LSsXG1TB+k45tdJwgkfdKG7s/0rMcrXRpLafC0fOzS6AEm/imYX017Zohc+75Z4ziHHhGpEcXQM0o/Z2OpmO6Ce7gg0FsvGDvcTglGD0k1lS4K9lS+SPuRF9JFXZa6qv5AGltD25zP1azf+Gq6oZDMyEUb7IZzoekwMke6U7C0mQz+WynfHLvOf9QRiuD5pMxm9m5KqhipVkP3v43Stmreoeg7+O/SEUSnIuh3ZekIx99d+D8Ql4If0JZUI5P/nT7582SgIpem2IW/GHhdxrg4k6AoNqnjSmZ9QQHQpKinApQNB8uP/3CeQx0WQoJMgTEyncP84HAy9bsv7/kAAessK6n/CWcruRx+okGLCh7LCQ4U1H37ek4OwNvTsj926OFb2tyFq9NXd+ldkQ3h5aGczr8n2GRQxXnUbxwJItPxwfUMFX8whjxB9fIXfRN/g4AeQaHE+RnDnCdFL554nWCSoFhy6xNhWg/EXikfTl8RWabTIidPed0qqG130Q==</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipt ... , SIZE=1038, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat
The first line in the log shows the message stanza as coming from the sender, so without a from attribute.
But then there is this line:
2015-11-12 09:54:18.045 [in_4-sess-man] BindResource.preProcess() FINEST: Setting correct from attribute: 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da
The line after that shows the message having the from attribute just that value. I don't think it's a coincidence.
I guess something weird happens if the recipient is still logging in while delivering the message.
Am I getting this right?
-
This code should be run only on the established, authorised sessions, for packets that were send by the user of that session (i.e. incoming packets) in order to be in line with specification witch enforces that all packets should have correct from set.
From that excerpt it looks like the user sent the packet to it's on BareJID.
-
Ok, just to give you a wider view:
2015-11-12 09:54:18.042 [pool-11-thread-1] ClientConnectionManager.processSocketData() FINEST: Processing socket data: from=null, to=null, DATA=<message type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=934, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat from connection: c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823 2015-11-12 09:54:18.043 [pool-11-thread-1] ClientConnectionManager.processSocketData() FINEST: XMLNS set for packet: from=null, to=null, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat from connection: c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823 2015-11-12 09:54:18.043 [in_0-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hH4D3gAqhpvIqQISAgMEBBOyV4TtW9A+6QC6M/c/sR6UXGaao1fK+bjAndHt6WgZjNmMMMirKtSRy0a4Z64gQ9SuLHRllNvIm/OdExdP6jBwCiUpVLLXF8Kh3+R3wiYkL9LSsXG1TB+k45tdJwgkfdKG7s/0rMcrXRpLafC0fOzS6AEm/imYX017Zohc+75Z4ziHHhGpEcXQM0o/Z2OpmO6Ce7gg0FsvGDvcTglGD0k1lS4K9lS+SPuRF9JFXZa6qv5AGltD25zP1azf+Gq6oZDMyEUb7IZzoekwMke6U7C0mQz+WynfHLvOf9QRiuD5pMxm9m5KqhipVkP3v43Stmreoeg7+O/SEUSnIuh3ZekIx99d+D8Ql4If0JZUI5P/nT7582SgIpem2IW/GHhdxrg4k6AoNqnjSmZ9QQHQpKinApQNB8uP/3CeQx0WQoJMgTEyncP84HAy9bsv7/kAAessK6n/CWcruRx+okGLCh7LCQ4U1H37ek4OwNvTsj926OFb2tyFq9NXd+ldkQ3h5aGczr8n2GRQxXnUbxwJItPxwfUMFX8whjxB9fIXfRN/g4AeQaHE+RnDnCdFL554nWCSoFhy6xNhWg/EXikfTl8RWabTIidPed0qqG130Q==</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-12 09:54:18.043 [in_0-message-router] MessageRouter.getLocalComponent() FINEST: Called for : 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net 2015-11-12 09:54:18.043 [in_0-message-router] MessageRouter.getLocalComponent() FINEST: No componentID matches (fast lookup against exact address): 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net, for map: [network@beta.kontalk.net, probe@beta.kontalk.net, push@beta.kontalk.net, s2s@beta.kontalk.net, c2s@beta.kontalk.net, stats@beta.kontalk.net, upload@beta.kontalk.net, vhost-man@beta.kontalk.net, sess-man@beta.kontalk.net, monitor@beta.kontalk.net, basic-conf@beta.kontalk.net]; trying VHost lookup 2015-11-12 09:54:18.043 [in_0-message-router] MessageRouter.getLocalComponent() FINEST: No component name matches (VHost lookup against component name): 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net, for map: [vhost-man, c2s, upload, monitor, push, network, probe, s2s, stats, basic-conf, sess-man, message-router], for all VHosts: [beta.kontalk.net]; trying other forms of addressing 2015-11-12 09:54:18.044 [in_0-message-router] MessageRouter.getLocalComponent() FINEST: Component match failed: 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net, for comp: [vhost-man, c2s, upload, monitor, push, network, probe, s2s, stats, basic-conf, sess-man, message-router], basename: kontalk.net 2015-11-12 09:54:18.044 [in_0-message-router] MessageRouter.getLocalComponent() FINEST: Called for : sess-man@beta.kontalk.net 2015-11-12 09:54:18.044 [in_0-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: sess-man@beta.kontalk.net, from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hH4D3gAqhpvIqQISAgMEBBOyV4TtW9A+6QC6M/c/sR6UXGaao1fK+bjAndHt6WgZjNmMMMirKtSRy0a4Z64gQ9SuLHRllNvIm/OdExdP6jBwCiUpVLLXF8Kh3+R3wiYkL9LSsXG1TB+k45tdJwgkfdKG7s/0rMcrXRpLafC0fOzS6AEm/imYX017Zohc+75Z4ziHHhGpEcXQM0o/Z2OpmO6Ce7gg0FsvGDvcTglGD0k1lS4K9lS+SPuRF9JFXZa6qv5AGltD25zP1azf+Gq6oZDMyEUb7IZzoekwMke6U7C0mQz+WynfHLvOf9QRiuD5pMxm9m5KqhipVkP3v43Stmreoeg7+O/SEUSnIuh3ZekIx99d+D8Ql4If0JZUI5P/nT7582SgIpem2IW/GHhdxrg4k6AoNqnjSmZ9QQHQpKinApQNB8uP/3CeQx0WQoJMgTEyncP84HAy9bsv7/kAAessK6n/CWcruRx+okGLCh7LCQ4U1H37ek4OwNvTsj926OFb2tyFq9NXd+ldkQ3h5aGczr8n2GRQxXnUbxwJItPxwfUMFX8whjxB9fIXfRN/g4AeQaHE+RnDnCdFL554nWCSoFhy6xNhWg/EXikfTl8RWabTIidPed0qqG130Q==</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-12 09:54:18.044 [in_4-sess-man] SessionManager.processPacket() FINEST: Received packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-12 09:54:18.044 [in_4-sess-man] SessionManager.processPacket() FINEST: processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 640</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/></message>, SIZE=956, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat, connection: XMPPResourceConnection=[user_jid=476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da, packets=20, connectioId=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, domain=beta.kontalk.net, authState=AUTHORIZED, isAnon=false, isTmp=false] 2015-11-12 09:54:18.044 [in_4-sess-man] StartTLS.preProcess() FINEST: VHost: Domain: beta.kontalk.net, enabled: true, anonym: false, register: true, maxusers: 0, tls: false, s2sSecret: e8349573-6a2d-4484-b33d-bf573c77fe59, domainFilter: ALL, domainFilterDomains: null, c2sPortsAllowed: null, saslAllowedMechanisms: null 2015-11-12 09:54:18.045 [in_4-sess-man] BindResource.preProcess() FINEST: Setting correct from attribute: 476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da 2015-11-12 09:54:18.045 [in_4-sess-man] DomainFilter.preProcess() FINEST: Processing: from=c2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823, to=sess-man@beta.kontalk.net, DATA=<message xmlns="jabber:client" from="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da" type="chat" to="476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net" id="b3V73UXC8H8i1VoupC67KlPMpI624p"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hH4D3gAqhpvIqQISAgMEBBOyV4TtW9A+6QC6M/c/sR6UXGaao1fK+bjAndHt6WgZjNmMMMirKtSRy0a4Z64gQ9SuLHRllNvIm/OdExdP6jBwCiUpVLLXF8Kh3+R3wiYkL9LSsXG1TB+k45tdJwgkfdKG7s/0rMcrXRpLafC0fOzS6AEm/imYX017Zohc+75Z4ziHHhGpEcXQM0o/Z2OpmO6Ce7gg0FsvGDvcTglGD0k1lS4K9lS+SPuRF9JFXZa6qv5AGltD25zP1azf+Gq6oZDMyEUb7IZzoekwMke6U7C0mQz+WynfHLvOf9QRiuD5pMxm9m5KqhipVkP3v43Stmreoeg7+O/SEUSnIuh3ZekIx99d+D8Ql4If0JZUI5P/nT7582SgIpem2IW/GHhdxrg4k6AoNqnjSmZ9QQHQpKinApQNB8uP/3CeQx0WQoJMgTEyncP84HAy9bsv7/kAAessK6n/CWcruRx+okGLCh7LCQ4U1H37ek4OwNvTsj926OFb2tyFq9NXd+ldkQ3h5aGczr8n2GRQxXnUbxwJItPxwfUMFX8whjxB9fIXfRN/g4AeQaHE+RnDnCdFL554nWCSoFhy6xNhWg/EXikfTl8RWabTIidPed0qqG130Q==</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipt ... , SIZE=1038, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat
Let's analyze it together (correct me if I'm wrong)
-
At line 1 the packet comes in from the sender client socket
-
Line 2 sets the correct XMLNS to
jabber:client
-
At line 3 packetFrom is set with the connection ID of the sender and packetTo is set to sess-man (stanza from is still not set)
-
At lines 9, 10 and 11 the SessionManager begins to process the packet (still no sign of the stanza from attribute - shouldn't it had been set at this point?)
-
At line 12 StartTLS module comes in and logs a call to preProcess
-
At line 13 BindResource sets the stanza from to the current session JID (which is still the sender session right? packetFrom hasn't changed yet)
-
What happened here?
-
-
Daniele Ricci wrote:
Ok, just to give you a wider view:
Let's analyze it together (correct me if I'm wrong)
Ok :-)
- At line 1 the packet comes in from the sender client socket
Correct
- Line 2 sets the correct XMLNS to
jabber:client
Correct
- At line 3 packetFrom is set with the connection ID of the sender and packetTo is set to sess-man (stanza from is still not set)
Correct
- At lines 9, 10 and 11 the SessionManager begins to process the packet (still no sign of the stanza from attribute - shouldn't it had been set at this point?)
No, those are entries from the SessionManager component itself - it performs some processing before calling the plugins. And after that plugins are executed in the documented way (all preProcessors, then processors for registered types, then postProcessors if there wasn't any processor for the given stanza, then filters)
- At line 12 StartTLS module comes in and logs a call to preProces
Correct, all preProcessors are executed.
- At line 13 BindResource sets the stanza from to the current session JID (which is still the sender session right? packetFrom hasn't changed yet)
This is correct; The packet came from the user
476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net
which established connection under4e397f25420672da
resource. If you could check rest of the logs for the entries with fullJID476e700b78af828bdd53df8c2497c73ec80f473c@beta.kontalk.net/4e397f25420672da
and the CIDc2s@beta.kontalk.net/178.62.44.19_5222_83.43.19.100_42823
you should see the association.- What happened here?
Well, everything seems in order. Main question is - are you sure you are logging in with the different JID for this account??
-
Wojciech Kapcia wrote:
Well, everything seems in order. Main question is - are you sure you are logging in with the different JID for this account??
I'm quite sure yes :)
It just happened again with a friend, I'm analyzing the logs. I might know what is happening.
-
I thought the issue was fixed by this:
https://github.com/kontalk/tigase-extension/commit/68a378062b89947cb7ddb903a03b77a3a7822afe
and it actually made sense, but I've received a report just yesterday of this issue happening again.
Unfortunately, the user reported the issue too late for the logs to be still there (they rotated - I've activated almost maximum verbosity to debug this so they grow very quickly).
I'll keep you posted.
-
I got another case (among many, I'll take one as example as I've already inspected two more, they happen in the same situation).
Sender: e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net
Recipient: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net
This is the case story.
The recipient got his message, but it can't ack it (Session Mngt) because he loses his connection. At this time, probably the connection was already broken, but the server still doesn't realize that.
2015-11-26 13:06:13.566 [in_3-c2s] ConnectionManager.writePacketToSocket() FINEST: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add, Writing packet: from=sess-man@beta.kontalk.net, to=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net/237877240a4e1575" xmlns="jabber:client"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hQEMA1ZSzqhr9kXbAQgAiVC/I09yJwYElxQbr0UOrfHIEpypiWa0bQlODH60B5NzHeYH92t7WzrjfNTNze7XHvaa6tNdH2sJJrA2k/4rxlgg/LTDmVs6/hNMPS6fT8J5WAr78CF+6zyjRTGQTc0nmECIHuy5sciMyYp/WDQhhRmOpU8TPEaY0TjPILe336Ay3m75wnRy4/s+ykp4FyZVAxETZlSBQIYOQBEa5q+qEkjTEcUDme0S30SoY5Z/dFeF/g34Y/7caEuFVPSyxR3GxeGWvlcLnMOHoRdOaWGnXYRTrE55Vpw4gffVknFlUOEcgCH6Z0MX3htcLTcXo1988IsC/AV6yHhUHZXnw6VpQdLoATO04dKrIZaAG9S1752VmmZPjycAJZElT2PadpRpZOvJfrv3JslDaGsxCJh/27+QQcwROE2Dm4CdEkf3eoXHwwDKjMJc6uFe+cqauE7nt87bmgjgZmTv/tAIw+NUdzwYMLU5NtLQ0h3iylsiFvOBkkFex3f8Qc442WxT7OUJCpE+uR/0Vz0wAo+tZ0ITbUC9kv5BNr6Y+VtjNrRm1lc9CHlj1Af0haqw3Y8s41Sgq45kGQ6bwdYG1sXOw+iofPhCf8ANRbrNd0w3VAqRttKBx10F0YjpYPXxZhPAnqUwHfvT+9ipnYw2Mo7gEXwQ3gPtT92SsozBNZ3Mk4kxTWlS7+jfPN4KeA/xkpqo5xjQ4z1R6KSEC ... , SIZE=1586, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=AUTH, TYPE=chat
And here is the server finally realizing the connection is broken:
2015-11-26 13:06:13.777 [pool-11-thread-1] StreamManagementIOProcessor.serviceStopped() FINEST: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add, service stopped - resumption disabled, sending unacked packets 2015-11-26 13:06:13.777 [pool-11-thread-1] ConnectionManager.serviceStopped() FINER: [[c2s]] Connection stopped: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add 2015-11-26 13:06:13.777 [pool-11-thread-1] ClientConnectionManager.xmppStreamClosed() FINER: Stream closed: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 2015-11-26 13:06:13.777 [pool-11-thread-1] ClientConnectionManager.xmppStreamClosed() FINE: Service stopped, sending packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<iq to="sess-man@beta.kontalk.net" type="set" from="c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788" id="9675c04a-55e1-4c0b-ba71-128f4459ae9f"><command node="STREAM_CLOSED" xmlns="http://jabber.org/protocol/commands"><x type="submit" xmlns="jabber:x:data"><field var="user-jid"><value>301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add</value></field></x></command></iq>, SIZE=406, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set 2015-11-26 13:06:13.777 [pool-11-thread-1] StreamManagementIOProcessor.serviceStopped() FINEST: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add, service stopped - resumption disabled, sending unacked packets 2015-11-26 13:06:13.777 [pool-11-thread-1] ConnectionManager.serviceStopped() FINER: [[c2s]] Connection stopped: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add 2015-11-26 13:06:13.777 [pool-11-thread-1] ConnectionManager.serviceStopped() FINER: [[c2s]] Attempt to stop incorrect service: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, type: accept, Socket: ZLIB: TLS: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 Socket[addr=/176.83.204.136,port=56788,localport=5222], jid: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add 2015-11-26 13:06:13.777 [pool-11-thread-1] ClientConnectionManager.xmppStreamClosed() FINER: Stream closed: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 2015-11-26 13:06:13.778 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<iq to="sess-man@beta.kontalk.net" type="set" from="c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788" id="9675c04a-55e1-4c0b-ba71-128f4459ae9f"><command node="STREAM_CLOSED" xmlns="http://jabber.org/protocol/commands"><x type="submit" xmlns="jabber:x:data"><field var="user-jid"><value>301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add</value></field></x></command></iq>, SIZE=406, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set
At this step I don't understand why this log is printed twice: "service stopped - resumption disabled, sending unacked packets". But let's continue for now.
The message is routed again (this time by StreamManagementIOProcessor handling the unacked packets). I can't see the whole stanza, but a few log lines later I will see this packet has the delivery-error tag (injected by ClientConnectionManager).
2015-11-26 13:06:13.778 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=null, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net/237877240a4e1575" xmlns="jabber:client"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hQEMA1ZSzqhr9kXbAQgAiVC/I09yJwYElxQbr0UOrfHIEpypiWa0bQlODH60B5NzHeYH92t7WzrjfNTNze7XHvaa6tNdH2sJJrA2k/4rxlgg/LTDmVs6/hNMPS6fT8J5WAr78CF+6zyjRTGQTc0nmECIHuy5sciMyYp/WDQhhRmOpU8TPEaY0TjPILe336Ay3m75wnRy4/s+ykp4FyZVAxETZlSBQIYOQBEa5q+qEkjTEcUDme0S30SoY5Z/dFeF/g34Y/7caEuFVPSyxR3GxeGWvlcLnMOHoRdOaWGnXYRTrE55Vpw4gffVknFlUOEcgCH6Z0MX3htcLTcXo1988IsC/AV6yHhUHZXnw6VpQdLoATO04dKrIZaAG9S1752VmmZPjycAJZElT2PadpRpZOvJfrv3JslDaGsxCJh/27+QQcwROE2Dm4CdEkf3eoXHwwDKjMJc6uFe+cqauE7nt87bmgjgZmTv/tAIw+NUdzwYMLU5NtLQ0h3iylsiFvOBkkFex3f8Qc442WxT7OUJCpE+uR/0Vz0wAo+tZ0ITbUC9kv5BNr6Y+VtjNrRm1lc9CHlj1Af0haqw3Y8s41Sgq45kGQ6bwdYG1sXOw+iofPhCf8ANRbrNd0w3VAqRttKBx10F0YjpYPXxZhPAnqUwHfvT+9ipnYw2Mo7gEXwQ3gPtT92SsozBNZ3Mk4kxTWlS7+jfPN4KeA/xkpqo5xjQ4z1R6KSEC ... , SIZE=1754, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat
Here is what raises a doubt: the packet "from" is the recipient's connectionId. I guess it's the only way to do it, but it could bring problems later for what I can see. I know I'm just speculating for now, but let's go ahead in our log.
2015-11-26 13:06:13.779 [in_3-message-router] MessageRouter.processPacket() FINEST: 2. Packet will be processed by: sess-man@beta.kontalk.net, from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=null, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net/237877240a4e1575" xmlns="jabber:client"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hQEMA1ZSzqhr9kXbAQgAiVC/I09yJwYElxQbr0UOrfHIEpypiWa0bQlODH60B5NzHeYH92t7WzrjfNTNze7XHvaa6tNdH2sJJrA2k/4rxlgg/LTDmVs6/hNMPS6fT8J5WAr78CF+6zyjRTGQTc0nmECIHuy5sciMyYp/WDQhhRmOpU8TPEaY0TjPILe336Ay3m75wnRy4/s+ykp4FyZVAxETZlSBQIYOQBEa5q+qEkjTEcUDme0S30SoY5Z/dFeF/g34Y/7caEuFVPSyxR3GxeGWvlcLnMOHoRdOaWGnXYRTrE55Vpw4gffVknFlUOEcgCH6Z0MX3htcLTcXo1988IsC/AV6yHhUHZXnw6VpQdLoATO04dKrIZaAG9S1752VmmZPjycAJZElT2PadpRpZOvJfrv3JslDaGsxCJh/27+QQcwROE2Dm4CdEkf3eoXHwwDKjMJc6uFe+cqauE7nt87bmgjgZmTv/tAIw+NUdzwYMLU5NtLQ0h3iylsiFvOBkkFex3f8Qc442WxT7OUJCpE+uR/0Vz0wAo+tZ0ITbUC9kv5BNr6Y+VtjNrRm1lc9CHlj1Af0haqw3Y8s41Sgq45kGQ6bwdYG1sXOw+iofPhCf8ANRbrNd0w3VAqRttKBx10F0YjpYPXxZhPAnqUwHfvT+9ipnYw2Mo7gEXwQ3gPtT92SsozBNZ3Mk4kxTWlS7+jfPN4KeA/xkpqo5xjQ4z1R6KSEC ... , SIZE=1754, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-26 13:06:13.779 [in_3-message-router] MessageRouter.processPacket() FINEST: Processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<iq to="sess-man@beta.kontalk.net" type="set" from="c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788" id="e8b35e61-b09b-46c0-8380-256596bb4fd4"><command node="STREAM_FINISHED" xmlns="http://jabber.org/protocol/commands"/></iq>, SIZE=237, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=set 2015-11-26 13:06:13.779 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : sess-man@beta.kontalk.net 2015-11-26 13:06:13.779 [in_3-message-router] MessageRouter.getLocalComponent() FINEST: Called for : sess-man@beta.kontalk.net 2015-11-26 13:06:13.779 [in_3-message-router] MessageRouter.processPacket() FINEST: 1. Packet will be processed by: sess-man@beta.kontalk.net, from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<iq to="sess-man@beta.kontalk.net" type="set" from="c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788" id="e8b35e61-b09b-46c0-8380-256596bb4fd4"><command node="STREAM_FINISHED" xmlns="http://jabber.org/protocol/commands"/></iq>, SIZE=237, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=set 2015-11-26 13:06:13.779 [in_15-sess-man] SessionManager.processPacket() FINEST: Received packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<iq to="sess-man@beta.kontalk.net" type="set" from="c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788" id="9675c04a-55e1-4c0b-ba71-128f4459ae9f"><command node="STREAM_CLOSED" xmlns="http://jabber.org/protocol/commands"><x type="submit" xmlns="jabber:x:data"><field var="user-jid"><value>CData size: 74</value></field></x></command></iq>, SIZE=406, XMLNS=null, PRIORITY=SYSTEM, PERMISSION=NONE, TYPE=set 2015-11-26 13:06:13.779 [in_15-sess-man] SessionManager.processCommand() FINER: STREAM_CLOSED command from: c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788 2015-11-26 13:06:13.779 [in_15-sess-man] SessionManager.processPacket() FINEST: Received packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=null, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net/237877240a4e1575" xmlns="jabber:client"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 1188</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/><delay from="beta.kontalk.net" stamp="2015-11-26T13:06:13.777Z" xmlns="urn:xmpp:delay"/><delivery-error stamp="1448543173566" xmlns="http://tigase.org/delivery-error"/></message>, SIZE=1754, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat 2015-11-26 13:06:13.779 [in_15-sess-man] SessionManager.processPacket() FINEST: processing packet: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="e893c4e88ccd497d019cf0391b12065f65a6bc1c@beta.kontalk.net/237877240a4e1575" xmlns="jabber:client"><body>CData size: 9</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">CData size: 1188</e2e><active xmlns="http://jabber.org/protocol/chatstates"/><request xmlns="urn:xmpp:receipts"/><delay from="beta.kontalk.net" stamp="2015-11-26T13:06:13.777Z" xmlns="urn:xmpp:delay"/><delivery-error stamp="1448543173566" xmlns="http://tigase.org/delivery-error"/></message>, SIZE=1754, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat, connection: XMPPResourceConnection=[user_jid=301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add, packets=70, connectioId=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, domain=beta.kontalk.net, authState=AUTHORIZED, isAnon=false, isTmp=false] 2015-11-26 13:06:13.779 [in_15-sess-man] StartTLS.preProcess() FINEST: VHost: Domain: beta.kontalk.net, enabled: true, anonym: false, register: true, maxusers: 0, tls: false, s2sSecret: ac388384-19ae-4efd-867b-aa98afdaa3b2, domainFilter: ALL, domainFilterDomains: null, c2sPortsAllowed: null, saslAllowedMechanisms: null 2015-11-26 13:06:13.780 [in_15-sess-man] BindResource.preProcess() FINEST: Setting correct from attribute: 301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add 2015-11-26 13:06:13.780 [in_15-sess-man] DomainFilter.preProcess() FINEST: Processing: from=c2s@beta.kontalk.net/178.62.44.19_5222_176.83.204.136_56788, to=sess-man@beta.kontalk.net, DATA=<message to="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net" type="chat" id="Nxfighae8M83SgmHsFtkYFwPCKsU6B" from="301ec9a675d58bb2a9fa22f900ead23c443e0c21@beta.kontalk.net/1e6565933f887add" xmlns="jabber:client"><body>(cifrado)</body><e2e xmlns="urn:ietf:params:xml:ns:xmpp-e2e">hQEMA1ZSzqhr9kXbAQgAiVC/I09yJwYElxQbr0UOrfHIEpypiWa0bQlODH60B5NzHeYH92t7WzrjfNTNze7XHvaa6tNdH2sJJrA2k/4rxlgg/LTDmVs6/hNMPS6fT8J5WAr78CF+6zyjRTGQTc0nmECIHuy5sciMyYp/WDQhhRmOpU8TPEaY0TjPILe336Ay3m75wnRy4/s+ykp4FyZVAxETZlSBQIYOQBEa5q+qEkjTEcUDme0S30SoY5Z/dFeF/g34Y/7caEuFVPSyxR3GxeGWvlcLnMOHoRdOaWGnXYRTrE55Vpw4gffVknFlUOEcgCH6Z0MX3htcLTcXo1988IsC/AV6yHhUHZXnw6VpQdLoATO04dKrIZaAG9S1752VmmZPjycAJZElT2PadpRpZOvJfrv3JslDaGsxCJh/27+QQcwROE2Dm4CdEkf3eoXHwwDKjMJc6uFe+cqauE7nt87bmgjgZmTv/tAIw+NUdzwYMLU5NtLQ0h3iylsiFvOBkkFex3f8Qc442WxT7OUJCpE+uR/0Vz0wAo+tZ0ITbUC9kv5BNr6Y+VtjNrRm1lc9CHlj1Af0haqw3Y8s41Sgq45kGQ6bwdYG1sXOw+iofPhCf8ANRbrNd0w3VAqRttKBx10F0YjpYPXxZhPAnqUwHfvT+9ipnYw2Mo7gEXwQ3gPtT92SsozBNZ3Mk4kxTWlS7+jfPN4KeA/xkpqo5xjQ4z1R6KSEC ... , SIZE=1754, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat
The message continues its journey through the handling chain (a STREAM_CLOSED command is coming through too, that's from ClientConnectionManager IIRC) until it reaches BindResource.preProcess, which tries to handle the message because:
if (session.getConnectionId().equals(packet.getPacketFrom())) {
And the packet is indeed from the this session, so the if block goes through. The rest is self-explainatory in the code of BindResource.preProcess, until it finally reaches these lines:
if ( log.isLoggable( Level.FINEST ) ){ log.log( Level.FINEST, "Setting correct from attribute: {0}", from_jid ); } packet.initVars( from_jid, packet.getStanzaTo() );
Am I making any sense here?
Type |
Bug
|
Priority |
Major
|
Assignee | |
RedmineID |
3689
|
Spent time |
0
|
I have a strange issue reported by a few users and I'm trying to find proof on the server logs.
I wrote a custom OfflineMessages module which is quite similar to the Tigase one [1] which does not alter the from attribute ever. Code is 90% copied from yours and it adds message expiration + a custom database repository.
Message IDs are unique (generated by clients), I'll examine a message with ID 50HeViNirO5Cp57PqRC47Eld7z7AG4 for this bug report.
That message has been apparently delivered with the sender being the recipient of the message. I can see the original (right) message reported by the OfflineMessages module after a storage loop (that is, failed to deliver because of broken connection client, then stored and then failed again: the delay element is detected by the OfflineMessages module and it doesn't add another one):
As you can see, sender is e77aa2d04b00be2002badacf9a176d31373c42e4@beta.kontalk.net/91c86d2c35575f42,
recipient is 2aa60150c7cacc53568e5923b1f365d6661acc65@beta.kontalk.net.
20 minutes later, another log appears:
The message comes from 20 minutes before (as of the delay element), but the sender has changed.
Inspecting Tigase's Message module, I can see only one point where the from might be changed [2] (release branch).
I've recently removed my custom message delivery code because you've done some modifications to improve that so I didn't need my custom code anymore. The only custom thing concerning messages is the OfflineMessages module.
Thanks for the help. If you need anything to debug this just ask. I will continue my log analysis in the meantime and keep you updated on my latest findings.
[1] https://github.com/kontalk/tigase-extension/blob/master/src/main/java/org/kontalk/xmppserver/messages/OfflineMessages.java
[2] https://projects.tigase.org/projects/tigase-server/repository/revisions/release/entry/src/main/java/tigase/xmpp/impl/Message.java#L187