Bug 114870

Summary: (gaim-0.75 crash) reconnect irc accounts
Product: [Fedora] Fedora Reporter: Luciano Rocha <lfrocha+rhbugzilla>
Component: gaimAssignee: Daniel Reed <djr>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-05-05 04:13:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
add irc->timer only if not already added none

Description Luciano Rocha 2004-02-03 19:43:56 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040117 Firebird/0.7+

Description of problem:
When an IRC account exists and is online, a disconnect (by network
problems, in my case) causes gaim to crash a few seconds after a new
connect (either automatic or manual reconnect)



Version-Release number of selected component (if applicable):
gaim-0.75-1

How reproducible:
Always

Steps to Reproduce:
1. create an irc account
2. log in at that account
3. disconnect network cable
4. try to send something to a channel
5. gaim disconnects the account for connection errors
6. reconnect network cable
7. login again at that account
8. gaim crashes
    

Additional info:

gdb traceback:

#0  0x009cca52 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0x009cca52 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x0047d789 in raise () from /lib/tls/libc.so.6
#2  0x0047f1a2 in abort () from /lib/tls/libc.so.6
#3  0x080efcd6 in sighandler ()
#4  <signal handler called>
#5  0x00207afb in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
#6  0x009be7d4 in irc_blist_timeout () from /usr/lib/gaim/libirc.so
#7  0x00213fcc in g_main_context_wakeup () from /usr/lib/libglib-2.0.so.0
#8  0x0021146d in unblock_source () from /usr/lib/libglib-2.0.so.0
#9  0x00212538 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#10 0x00212870 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#11 0x00212fd1 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0x007d4e03 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x08cb2c58 in ?? ()

Comment 1 Warren Togami 2004-03-17 08:38:49 UTC
Please retest with the gaim-0.75.99 snapshot in rawhide real soon and
report back your findings.

Comment 2 Luciano Rocha 2004-03-30 18:16:37 UTC
gaim-0.75.99-20040318cvs.2.src.rpm, build date: Wed 17 Mar 2004
10:02:08, still crashes:
bt
#0  0x00fc97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00c39199 in raise () from /lib/tls/libc.so.6
#2  0x00c3abb2 in abort () from /lib/tls/libc.so.6
#3  0x080f1175 in sighandler ()
#4  <signal handler called>
#5  0x005244e6 in g_hash_table_foreach () from
/usr/lib/libglib-2.0.so.0
#6  0x009d6274 in irc_blist_timeout () from /usr/lib/gaim/libirc.so
#7  0x005308ac in g_main_context_wakeup () from
/usr/lib/libglib-2.0.so.0
#8  0x0052de4a in g_main_depth () from /usr/lib/libglib-2.0.so.0
#9  0x0052ef28 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#10 0x0052f260 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#11 0x0052f8a3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0x002b8403 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x080f1aa0 in main ()
(gdb)
~

Comment 3 Luciano Rocha 2004-04-01 18:25:15 UTC
gaim-0.75.99-20040328cvs still shows this behaviour

Comment 4 Luciano Rocha 2004-05-04 15:52:39 UTC
gaim 0.77 also has this bug. I had a few hours today and hunted it
down. patch to be attached soon.

Comment 5 Luciano Rocha 2004-05-04 15:55:19 UTC
Created attachment 99958 [details]
add irc->timer only if not already added

Fixes the bug:
function irc_msg_endmotd@src/protocols/irc/msgs.c was called twice. I didn't
bother to check the reason for that, possibly the parsing of server messages.

What I did was to check first if irc->timer is already set, and if not, then
add the timer for irc_blist_timeout.

Regards,
Luciano Rocha

Comment 6 Warren Togami 2004-05-04 20:12:03 UTC
http://people.redhat.com/wtogami/temp/
checked into gaim-0.77-5.  Please test on all FC2 archs.