[Pidgin] #6160: Lockup on Jabber connection close
Pidgin
trac at pidgin.im
Tue Jun 24 06:42:42 EDT 2008
#6160: Lockup on Jabber connection close
--------------------------+-------------------------------------------------
Reporter: jankratochvil | Owner: seanegan
Type: defect | Status: new
Priority: minor | Component: Google Talk
Version: 2.3.1 | Keywords:
Pending: 0 |
--------------------------+-------------------------------------------------
Pidgin sometimes hangs - eats 100% CPU but even does not refresh the X
windows content (displayed as empty).
Found out it is due to a TCP connection close to the Jabber server.
Further found it is probably not a common problem as it occurs due to some
connection problem (such as connection refused) which gets translated to a
pure connection close by my local squid proxy (which cannot transfer the
connection errors to its clients).
I have lousy connections sometimes over GPRS or unreliable WiFi etc. which
may explain the connection errors resulting in the Pidgin hangs.
I do not have certainity it really fixed the problem of mine but surely
there is a bug in this part of the code. And I expect it is the cause as
it had this backtrace during the busylooping before:
{{{
#0 pt_Recv (fd=<value optimized out>, buf=<value optimized out>,
amount=<value optimized out>, flags=<value optimized out>,
timeout=<value optimized out>) at
../../../mozilla/nsprpub/pr/src/pthreads/ptio.c:1822
#1 0x0000003b3dc181ad in ssl_DefRecv (ss=<value optimized out>,
buf=<value optimized out>, len=<value optimized out>,
flags=<value optimized out>) at ssldef.c:94
#2 0x0000003b3dc1341a in ssl3_GatherCompleteHandshake (ss=<value
optimized out>, flags=<value optimized out>)
at ssl3gthr.c:90
#3 0x0000003b3dc135ca in ssl3_GatherAppDataRecord (ss=<value optimized
out>, flags=<value optimized out>) at ssl3gthr.c:235
#4 0x0000003b3dc1c547 in ssl_SecureRecv (ss=<value optimized out>,
buf=<value optimized out>, len=<value optimized out>,
flags=<value optimized out>) at sslsecur.c:552
#5 0x0000003b3dc204e1 in ssl_Read (fd=<value optimized out>, buf=<value
optimized out>, len=<value optimized out>)
at sslsock.c:1467
#6 0x00007fc16a173b02 in ssl_nss_read (gsc=<value optimized out>,
data=0x7fc162e06798, len=5) at ssl-nss.c:361
#7 0x00007fc169905bf4 in jabber_recv_cb_ssl (data=0x7fc1640ff240,
gsc=0x7fc162e35510, cond=<value optimized out>)
at jabber.c:437
#8 0x000000000046933e in pidgin_io_invoke (source=<value optimized out>,
condition=<value optimized out>,
data=0x7fc162dae820) at gtkeventloop.c:78
#9 0x0000003b93a3749b in IA__g_main_context_dispatch (context=<value
optimized out>) at gmain.c:2009
#10 0x0000003b93a3ac7d in g_main_context_iterate (context=<value optimized
out>, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>) at
gmain.c:2642
#11 0x0000003b93a3b1ad in IA__g_main_loop_run (loop=<value optimized out>)
at gmain.c:2850
#12 0x0000003bac183a98 in IA__gtk_main () at gtkmain.c:1163
#13 0x0000000000481f5b in main (argc=1, argv=0x7fff7a429dc8) at
gtkmain.c:890
}}}
jabber_recv_cb_ssl gets there LEN set to 0 but accidentally ERRNO is that
time accidentally EAGAIN, probably from some other call before.
Problem happened on: pidgin-2.4.2-1.fc9.x86_64
Testing build available at:
http://koji.fedoraproject.org/koji/taskinfo?taskID=677687
http://koji.fedoraproject.org/scratch/jkratoch/task_677687/
--
Ticket URL: <http://developer.pidgin.im/ticket/6160>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list