Patches item #1078151, was opened at 2004-12-03 02:40
Message generated for change (Comment added) made by nosnilmot
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300235&aid=1078151&group_id=235
Category: segfault
Group: None
>Status: Closed
>Resolution: Accepted
Priority: 7
Submitted By: Felipe Contreras (revo)
Assigned to: Stu Tomlinson (nosnilmot)
Summary: [MSN] Real bugfix
Initial Comment:
Well, I found it out.
User Dislpay messages, and other less used, did not set
an slpcall, so the callback that should not be called,
was called (in some very special cases).
So it's a real bug fix, and an even more efficient
implementation ;).
BTW. Someone should grammatically check this:
"The slpcall in which this slp message was sent"
----------------------------------------------------------------------
>Comment By: Stu Tomlinson (nosnilmot)
Date: 2004-12-12 12:38
Message:
Logged In: YES
user_id=309779
That seems to have fixed a bug I was able to reproduce
relatively reliably, thanks!
----------------------------------------------------------------------
Comment By: Felipe Contreras (revo)
Date: 2004-12-11 22:19
Message:
Logged In: YES
user_id=158337
Attached a new patch, it might fix the bugs, but I'm not sure.
----------------------------------------------------------------------
Comment By: Stu Tomlinson (nosnilmot)
Date: 2004-12-11 14:21
Message:
Logged In: YES
user_id=309779
I found at least one regression with this:
If you start a conversation with someone who is using the
official client, have typing notifications turned on, and
start typing a 2nd message before receiving the JOI from the
server, messages will be silently dropped (without this
patch, we're told the messages didn't go through). If you
then close that conversation, Gaim goes boom:
(14:05:19) msn: C: SB 005: USR 1 gaimuser@...
44875.1102791893.1128
(14:05:20) msn: S: SB 005: USR 1 OK gaimuser@... Stu
(14:05:20) msn: C: SB 005: CAL 2 officialclient@...
(14:05:20) msn: S: SB 005: CAL 2 RINGING 44875
(14:05:20) msn: Unhandled command 'CAL'
(14:05:22) msn: C: SB 005: MSG 3 U 96
(14:05:22) msn: Last command was: MSG 3 U 96
(14:05:23) msn: Appending message to queue.
(14:05:23) msn: C: SB 005: MSG 4 U 96
(14:05:23) msn: Appending message to queue.
(14:05:24) msn: C: SB 005: MSG 5 U 96
(14:05:24) msn: Appending message to queue.
(14:05:25) msn: C: SB 005: MSG 6 U 96
(14:05:25) msn: Appending message to queue.
(14:05:39) msn: C: SB 005: MSG 7 U 96
(14:05:40) msn: Appending message to queue.
(14:06:10) msn: C: NS 000: PNG
(14:06:10) msn: S: NS 000: QNG 45
(14:06:11) msn: C: SB 005: MSG 8 U 96
(14:06:12) msn: Appending message to queue.
(14:07:10) msn: C: NS 000: PNG
(14:07:10) msn: S: NS 000: QNG 50
(14:07:53) msn: C: SB 005: OUT
(14:07:53) msn: slpcall destroy: tryping slp_msg (0x8426578)
(14:07:53) msn: End User Display
(14:07:53) msn: buddy_icon_window=5
(14:07:53) msn: Releasing buddy icon request
(14:07:53) msn: Switchboard with unnasigned conversation
(14:07:53) msn: Switchboard with unnasigned conversation
(14:07:53) msn: Switchboard with unnasigned conversation
(14:07:53) msn: Switchboard with unnasigned conversation
(14:07:53) msn: Switchboard with unnasigned conversation
Program received signal SIGSEGV, Segmentation fault.
0x42075b99 in free () from /lib/i686/libc.so.6
(gdb) bt
#0 0x42075b99 in free () from /lib/i686/libc.so.6
#1 0x406253de in g_free () from /usr/lib/libglib-2.0.so.0
#2 0x4061882f in g_hash_table_size () from
/usr/lib/libglib-2.0.so.0
#3 0x40617b0b in g_hash_table_destroy () from
/usr/lib/libglib-2.0.so.0
#4 0x40c09d22 in msn_message_destroy (msg=0x831c868) at
msg.c:75
#5 0x40c19559 in msn_switchboard_destroy (swboard=0x8381f40)
at switchboard.c:94
#6 0x40c0dad9 in msn_convo_closed (gc=0x8295428,
who=0x838c628 "officialclient@...") at msn.c:1229
#7 0x08077bcc in gaim_conversation_destroy (conv=0x837d530)
at conversation.c:888
#8 0x080c4b6b in close_conv_cb (w=0x83a3ad8, d=0x837d530)
at gtkconv.c:154
----------------------------------------------------------------------
Comment By: Eduardo Pérez (eperez)
Date: 2004-12-08 10:16
Message:
Logged In: YES
user_id=60347
May also be the same as:
https://sourceforge.net/tracker/index.php?func=detail&aid=1080557&group_id=235&atid=100235
If it's the same please close both when applied.
----------------------------------------------------------------------
Comment By: Felipe Contreras (revo)
Date: 2004-12-07 15:34
Message:
Logged In: YES
user_id=158337
Here it goes the real real one, as far as I can tell.
Cleaning + organizing + documentation + hard bug fix = big
patch.
----------------------------------------------------------------------
Comment By: Felipe Contreras (revo)
Date: 2004-12-03 12:32
Message:
Logged In: YES
user_id=158337
Yeah, it's supposed to fix that.
After a "FLN user@..." you should get a "Unlink
slpmsg callbacks", if you do not then you'll crash when you
receive an ACK, which doesn't happen very often but it happens.
I don't know what could be causing this, I'll recheck the code.
----------------------------------------------------------------------
Comment By: Stu Tomlinson (nosnilmot)
Date: 2004-12-03 10:14
Message:
Logged In: YES
user_id=309779
Was this supposed to fix the 'User signs off while we're
receiving their buddy icon' bug? I just managed to reproduce
that *with* this patch applied.
<...>
(10:08:00) msn: S: SB 002: MSG user@... Stu 1344
(10:08:01) msn: S: SB 001: MSG user@... Stu 1350
(10:08:01) msn: S: SB 001: ACK 6
(10:08:01) msn: S: SB 002: MSG user@... Stu 1344
(10:08:01) msn: S: NS 000: FLN user@...
(10:08:01) msn: End User Display
(10:08:01) msn: buddy_icon_window=5
(10:08:01) msn: Releasing buddy icon request
(10:08:01) msn: Couldn't find slpmsg
(10:08:01) g_log: file slplink.c: line 527
(msn_slplink_process_msg): should not be reached
(10:08:01) msn: S: SB 002: ACK 6
Program received signal SIGSEGV, Segmentation fault.
0x4061ef3c in g_list_remove () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x4061ef3c in g_list_remove () from
/usr/lib/libglib-2.0.so.0
#1 0x40d38ff1 in msn_slpmsg_destroy (slpmsg=0x8852198) at
slpmsg.c:66
#2 0x40d38415 in msg_ack (data=0x8852198) at slplink.c:249
#3 0x40d39ef8 in msg_ack (cmdproc=0x84da470, cmd=0x8852198)
at switchboard.c:529
#4 0x40d2b1e6 in msn_cmdproc_process_cmd
(cmdproc=0x84da470, cmd=0x8272350) at cmdproc.c:309
#5 0x40d2b30f in msn_cmdproc_process_cmd_text
(cmdproc=0x84da470, command=0x1 <Address 0x1 out of bounds>)
at cmdproc.c:342
#6 0x40d36028 in read_cb (data=0x8847d38, source=8,
cond=GAIM_INPUT_READ) at servconn.c:414
#7 0x080bb13d in gaim_gtk_io_invoke (source=0x8650bb8,
condition=142942616, data=0x885cd80) at gtkeventloop.c:61
#8 0x4063e18f in g_vsnprintf () from /usr/lib/libglib-2.0.so.0
#9 0x406214b6 in unblock_source () from
/usr/lib/libglib-2.0.so.0
#10 0x406223e9 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#11 0x406226ef in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#12 0x40622d4e in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
#13 0x401ce95b in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x080df390 in main (argc=3, argv=0xbffff144) at main.c:965
#15 0x42015967 in __libc_start_main () from /lib/i686/libc.so.6
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=300235&aid=1078151&group_id=235
|