ortuman/jackal

User can get stuck in online state, yet no way to go offline

Closed this issue · 5 comments

After a while of running server with about 3 testing users, one user get stuck in online state, even if there was no client connected to that user. Server stop sending pings, so the user cannot even timeout and disconnect. Incoming messages to this stucked user was treated by server as if it was online, yet no pings were sent.

This stucked user never disconnect. When client loged in to this stucked user, it can send the messages, but was unable to receive new messages (only OTR session control messages). It is difficult to spot this issue by users, as delivery reports working and showing that message was received even when it is not !

From this point, there was no help, not even logout and login again, remove user from contact and authorize it back again from both sides.

There is only fix when this happens to restart the server. Nothing clients can do about this stucked user

I was able to catch this issue with [debug] loging on.
It has started with error:
[ERR] stream:803 - read tcp 11.22.33.44:5222->55.66.77.88:48934: i/o timeout
after that, user user_1 get stuck online.

Attaching [debug] log
log.txt

Ok. Thanks for the report. I'll study the case asap.

I have tested the latest version:
jackal version: 0.1.5
but the issue is remain the same.
Everything goes wrong after that
[ERR] stream:803
After that, user get stuck online there

new version 0.1.5 bring ability to stucked user to comunicate once it really come back online. This is new as on earlier version user was not able to receive message.
User is still stucked online and stay that way even if login and logout properly.

many thanks @ortuman
in jackal version: 0.1.6
this issue is resolved