You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When my laptop wakes up from sleep, Profanity can hang on trying to disconnect after connection is already lost.
Backtrace:
(gdb) bt
#0 0x00007fa61bf7f198 in nanosleep () from /lib64/libc.so.6
#1 0x00007fa61bfac2c4 in usleep () from /lib64/libc.so.6
#2 0x00007fa61ebff549 in xmpp_run_once (ctx=0x556634d82290, timeout=10) at src/event.c:214
#3 0x00005566340e3a7d in connection_disconnect () at src/xmpp/connection.c:203
#4 0x00005566340e2c83 in session_disconnect () at src/xmpp/session.c:231
#5 0x00005566340f2ade in ev_disconnect_cleanup () at src/event/common.c:54
#6 0x00005566340f2d5b in sv_ev_lost_connection () at src/event/server_events.c:215
#7 0x00005566340e2fb9 in session_lost_connection () at src/xmpp/session.c:362
#8 0x00005566340e3693 in _connection_handler (xmpp_conn=<optimized out>, status=<optimized out>, error=<optimized out>, stream_error=<optimized out>,
userdata=<optimized out>) at src/xmpp/connection.c:498
#9 0x00007fa61ebff4e0 in xmpp_run_once (ctx=0x556634d82290, timeout=10) at src/event.c:273
#10 0x00005566340ddfd5 in prof_run (log_level=<optimized out>, account_name=<optimized out>) at src/profanity.c:127
#11 0x00005566340da79f in main (argc=<optimized out>, argv=<optimized out>) at src/main.c:170
So, as we can see, libstrophe closes socket and fires connection handler with XMPP_CONN_DISCONNECT. It is not connected anymore. But Profanity calls xmpp_disconnect() and runs xmpp_run_once() in a loop. Profanity waits for some event that is not occurs (need to check the code to find it out).
It is just a guess, but maybe closing connection after XMPP_CONN_DISCONNECT is the root cause and should be done at all.
The text was updated successfully, but these errors were encountered:
When my laptop wakes up from sleep, Profanity can hang on trying to disconnect after connection is already lost.
Backtrace:
Logs:
So, as we can see, libstrophe closes socket and fires connection handler with
XMPP_CONN_DISCONNECT
. It is not connected anymore. But Profanity callsxmpp_disconnect()
and runsxmpp_run_once()
in a loop. Profanity waits for some event that is not occurs (need to check the code to find it out).It is just a guess, but maybe closing connection after XMPP_CONN_DISCONNECT is the root cause and should be done at all.
The text was updated successfully, but these errors were encountered: