I've been getting this the last week or so when gaim finally figures
out that I've been disconnected from IRC. (Keep reading for more info
after the bt)
Program received signal SIGABRT, Aborted.
0x00002b738b7f3de0 in raise () from /lib/libc.so.6
(gdb) bt full
#0 gaim_connection_error (gc=0x9843d0,
text=0x2b738ea57c89 "Server has disconnected") at connection.c:425
ops = <value optimized out>
__PRETTY_FUNCTION__ = "gaim_connection_error"
#1 0x00002b738ea512c8 in irc_send (irc=0x95fb30,
buf=0x971f40 "QUIT :Leaving.\r\n") at irc.c:148
ret = -1
buflen = <value optimized out>
#2 0x00002b738ea53696 in irc_cmd_quit (irc=0x95fb30,
cmd=<value optimized out>, target=<value optimized out>,
args=<value optimized out>) at cmds.c:371
buf = 0x2b738ea57c89 "Server has disconnected"
#3 0x00002b738ea504f9 in irc_close (gc=0x9843d0) at irc.c:446
irc = (struct irc_conn *) 0x9843d0
#4 0x000000000043cbb7 in gaim_connection_destroy (gc=0x9843d0)
at connection.c:188
account = (GaimAccount *) 0x681be0
__PRETTY_FUNCTION__ = "gaim_connection_destroy"
#5 0x000000000043033d in gaim_account_disconnect (account=0x681be0)
at account.c:1019
gc = (GaimConnection *) 0x9843d0
__PRETTY_FUNCTION__ = "gaim_account_disconnect"
#6 0x000000000043c6e9 in gaim_connection_disconnect_cb (data=0x681be0)
at connection.c:417
account = (GaimAccount *) 0x9843d0
password = <value optimized out>
#7 0x00002b738af5299b in g_timeout_dispatch (source=0xffd180,
callback=0x2b738ea57c89 <_fini+225>, user_data=0x20) at gmain.c:3292
timeout_source = <value optimized out>
So... I added a breakpoint at gaim_connection_error() (see second
backtrace below), which happens immediately prior to the above bt (the
following bt happened *before* the above one). What is happening is
that the connection is getting destroyed and then trying to disconnect
again.
It seems like what needs to happen not to report failure when the IRC
Quit command fails (specifically when the quit is the result of an
error). The only problem is that is already supposed to be happening!
So... what am I missing?
(gdb) bt
#0 gaim_connection_error (gc=0x9843d0,
text=0x2b738ea57c89 "Server has disconnected") at connection.c:425
#1 0x00002b738ea512c8 in irc_send (irc=0x95fb30,
buf=0x971f40 "QUIT :Leaving.\r\n") at irc.c:148
#2 0x00002b738ea53696 in irc_cmd_quit (irc=0x95fb30,
cmd=<value optimized out>, target=<value optimized out>,
args=<value optimized out>) at cmds.c:371
#3 0x00002b738ea504f9 in irc_close (gc=0x9843d0) at irc.c:446
#4 0x000000000043cbb7 in gaim_connection_destroy (gc=0x9843d0)
at connection.c:188
#5 0x000000000043033d in gaim_account_disconnect (account=0x681be0)
at account.c:1019
#6 0x000000000043c6e9 in gaim_connection_disconnect_cb (data=0x681be0)
at connection.c:417
#7 0x00002b738af5299b in g_timeout_dispatch (source=0xffd180,
callback=0x2b738ea57c89 <_fini+225>, user_data=0x20) at gmain.c:3292
#8 0x00002b738af50afd in IA__g_main_context_dispatch (context=0x64e090)
at gmain.c:1916
#9 0x00002b738af53dc5 in g_main_context_iterate (context=0x64e090, block=1,
dispatch=1, self=<value optimized out>) at gmain.c:2547
#10 0x00002b738af5408a in IA__g_main_loop_run (loop=0x925950) at gmain.c:2751
#11 0x00002b7389720252 in IA__gtk_main () at gtkmain.c:1003
#12 0x00000000004a8d5f in main (argc=3, argv=0x7ffffff20178) at gtkmain.c:769
(gdb) bt full
#0 gaim_connection_error (gc=0x9843d0,
text=0x2b738ea57c89 "Server has disconnected") at connection.c:425
ops = <value optimized out>
__PRETTY_FUNCTION__ = "gaim_connection_error"
#1 0x00002b738ea512c8 in irc_send (irc=0x95fb30,
buf=0x971f40 "QUIT :Leaving.\r\n") at irc.c:148
ret = -1
buflen = <value optimized out>
#2 0x00002b738ea53696 in irc_cmd_quit (irc=0x95fb30,
cmd=<value optimized out>, target=<value optimized out>,
args=<value optimized out>) at cmds.c:371
buf = 0x2b738ea57c89 "Server has disconnected"
#3 0x00002b738ea504f9 in irc_close (gc=0x9843d0) at irc.c:446
irc = (struct irc_conn *) 0x9843d0
#4 0x000000000043cbb7 in gaim_connection_destroy (gc=0x9843d0)
at connection.c:188
account = (GaimAccount *) 0x681be0
__PRETTY_FUNCTION__ = "gaim_connection_destroy"
#5 0x000000000043033d in gaim_account_disconnect (account=0x681be0)
at account.c:1019
gc = (GaimConnection *) 0x9843d0
__PRETTY_FUNCTION__ = "gaim_account_disconnect"
#6 0x000000000043c6e9 in gaim_connection_disconnect_cb (data=0x681be0)
at connection.c:417
account = (GaimAccount *) 0x9843d0
password = <value optimized out>
#7 0x00002b738af5299b in g_timeout_dispatch (source=0xffd180,
callback=0x2b738ea57c89 <_fini+225>, user_data=0x20) at gmain.c:3292
timeout_source = <value optimized out>
#8 0x00002b738af50afd in IA__g_main_context_dispatch (context=0x64e090)
at gmain.c:1916
|