smack request might be not acknowledged (resulting in connection termination)
Sometimes smack requests are not acknowledged. Like here:
...
10/10/2017 13:07:01 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<a h='38' xmlns='urn:xmpp:sm:2'/>
_____________
10/10/2017 13:07:01 (D) nbxmpp.smacks Got ack for outgoing stanzas (our h: 74, server h: 38), removing 1 messages from queue...
10/10/2017 13:07:01 (I) nbxmpp.transports_nb pollin called, state == CONNECTED
10/10/2017 13:07:01 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<a h='39' xmlns='urn:xmpp:sm:2'/>
_____________
10/10/2017 13:07:01 (D) nbxmpp.smacks Got ack for outgoing stanzas (our h: 74, server h: 39), removing 1 messages from queue...
10/10/2017 13:07:01 (I) nbxmpp.transports_nb pollin called, state == CONNECTED
10/10/2017 13:07:01 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<r xmlns='urn:xmpp:sm:2'/>
_____________
10/10/2017 13:07:01 (I) nbxmpp.transports_nb Plugging fd 19, W:True, R:True
10/10/2017 13:07:01 (I) nbxmpp.transports_nb pollin called, state == CONNECTED
10/10/2017 13:07:01 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
...
[ much more only DATA RECEIVED ]
...
10/10/2017 13:07:02 (I) nbxmpp.transports_nb pollout called, state == CONNECTED
10/10/2017 13:07:02 (I) nbxmpp.transports_nb Plugging fd 19, W:True, R:True
10/10/2017 13:07:02 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<r xmlns="urn:xmpp:sm:2" />
_____________
10/10/2017 13:07:02 (I) nbxmpp.transports_nb pollout called, state == CONNECTED
10/10/2017 13:07:02 (I) nbxmpp.transports_nb Plugging fd 19, W:True, R:True
10/10/2017 13:07:02 (I) nbxmpp.client_nb raising event from transport: :::::DATA SENT::::
_____________
<iq xmlns="jabber:client" to="chat@dino.im/NICKNAME" type="get" id="199bc810-39f9-4146-9804-4bd2c95f8901"><query xmlns="http://jabber.org/protocol/disco#info" /></iq>
_____________
...
[ much more similar DATA SENT mixed with DATA RECEIVED ]
...
10/10/2017 13:07:04 (I) nbxmpp.transports_nb pollin called, state == CONNECTED
10/10/2017 13:07:04 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
<stream:error><policy-violation xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-streams'>Too many unacked stanzas</text></stream:error>
_____________
10/10/2017 13:07:04 (W) nbxmpp.dispatcher_nb Unknown stanza: error
10/10/2017 13:07:04 (I) nbxmpp.transports_nb pollin called, state == CONNECTED
10/10/2017 13:07:04 (I) nbxmpp.client_nb raising event from transport: :::::DATA RECEIVED::::
_____________
</stream:stream>
_____________
10/10/2017 13:07:04 (I) nbxmpp.client_nb Disconnecting NBClient: policy-violation
10/10/2017 13:07:04 (I) nbxmpp.transports_nb Error while disconnecting socket: Transport endpoint is not connected
10/10/2017 13:07:04 (D) nbxmpp.client_nb Client disconnected..
10/10/2017 13:07:04 (D) nbxmpp.client_nb Calling disconnect handler <bound method Connection._disconnectedReconnCB of <common.connection.Connection object at 0x7f9265999950>>
10/10/2017 13:07:04 (I) gajim.c.connection disconnectedReconnCB called
10/10/2017 13:07:04 (I) gajim.c.connection Reconnect to jabber.ccc.de in 15s
10/10/2017 13:07:04 (I) nbxmpp.transports_nb pollend called, state == DISCONNECTED
This is on a normal bandwidth network. On a low bandwidth network the stream termination message has no chance to arrive at all and the connection breaks with OpenSSL error ECONNRESET.