[OTR-dev] Crash when receiving message after canceling encrypted chat (with gdb backtrace)
Evan Schoenberg
evan.s at dreskin.net
Wed Feb 9 03:39:46 EST 2005
I get this crash in 1.9.9 every time I take the following steps with
two accounts, A and B. The crash seems to only occur if I handle and
return 0 in my display_otr_message UI callback.
A messages B. OTR session begins.
A then cancels encryption. B is told that A is no longer using
encryption.
Without canceling encryption, B messages A. B is told that he sent
encrypted data to A when A wasn't expecting it. B then promptly
crashes.
(meanwhile, A is told that an encrypted message was received but
unreadable... and then the OTR connected callback is called again,
indicating I suppose that encryption was re-negotiated).
Here's the backtrace from B.
(gdb) bt
#0 0x9000d280 in strcat ()
#1 0x075032c0 in otrl_proto_create_data (encmessagep=0xf0130ed4,
context=0x285de00, msg=0x71de368 "[resent] [resent] [resent] [resent]
[resent] [resent] [resent] [resent] [resent] [resent] [resent] [resent]
[resent] [resent] [resent] [resent] [resent] [resent] [resent] [resent]
[resent] [resent] [r"..., tlvs=0x0) at
/Users/evands/libgaim/Libraries/libotr/src/proto.c:832
#2 0x074ff99c in otrl_message_receiving (us=0x5f2e7f0, ops=0x773b5ec,
opdata=0x0, accountname=0x5f59dd0 "[ACCOUNTNAME B]", protocol=0x5f5a4d0
"prpl-oscar", sender=0x8518480 "[ACCOUNTNAME A]", message=0x2995600
"?OTR:AAEKAAAAAIDsMkToII3TCsxkkgpxpGxfdVufygvmrQv+cP0Baz/
ae58HNuUFmWbXCygaI++jO4Hn81N5vVMS5AhFKFvzSayYiQr7tTB/
y6gEUk7JmIbSSG+MjmBm9BlbcxV4nECIZA1GaS2rocIhZTMz56NxbLV5rPTA921CezTANSJl
gqPYrwAAABTtzgwsoBV"..., newmessagep=0xf0130f60, tlvsp=0xf0130f64,
add_appdata=0, data=0x0) at
/Users/evands/libgaim/Libraries/libotr/src/message.c:533
#3 0x074fc780 in process_receiving_im (account=0x5f59e10,
who=0xf0131130, message=0xf0131134, flags=0xf0131194, m=0x0) at
/Users/evands/libgaim/Gaim projects/gaim-otr/otr-plugin.c:359
#4 0x07486074 in gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
(cb=0x74fc654 <process_receiving_im>, args=0xf0131110
"\360\023\0210\360\023\021\224\220", data=0x0, return_val=0xf013105c)
at /Users/evands/libgaim/Libgaim/src/signals.c:824
#5 0x07485098 in gaim_signal_emit_vargs_return_1 (instance=0x7742234,
signal=0x761129c "receiving-im-msg", args=0xf0131100
"\005\365\236\020\360\023\0210\360\023\0214\360\023\021\224\360\023\0210
\360\023\021\224\220") at
/Users/evands/libgaim/Libgaim/src/signals.c:526
#6 0x07484e8c in gaim_signal_emit_return_1 (instance=0x7742234,
signal=0x761129c "receiving-im-msg") at
/Users/evands/libgaim/Libgaim/src/signals.c:477
#7 0x07481984 in serv_got_im (gc=0x7112c10, who=0x8526760
"[ACCOUNTNAME A]", msg=0x2a24e00
"?OTR:AAEKAAAAAIDsMkToII3TCsxkkgpxpGxfdVufygvmrQv+cP0Baz/
ae58HNuUFmWbXCygaI++jO4Hn81N5vVMS5AhFKFvzSayYiQr7tTB/
y6gEUk7JmIbSSG+MjmBm9BlbcxV4nECIZA1GaS2rocIhZTMz56NxbLV5rPTA921CezTANSJl
gqPYrwAAABTtzgwsoBV"..., imflags=0, mtime=1107937497) at
/Users/evands/libgaim/Libgaim/src/server.c:872
#8 0x074440d4 in incomingim_chan1 (sess=0x296e000, conn=0x712b700,
userinfo=0xf01313d0, args=0xf0131320) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/oscar.c:3371
#9 0x07445f2c in gaim_parse_incoming_im (sess=0x296e000, fr=0x71b9410)
at /Users/evands/libgaim/Libgaim/src/protocols/oscar/oscar.c:3915
#10 0x07433a04 in incomingim_ch1 (sess=0x296e000, mod=0x712cab0,
rx=0x71b9410, snac=0xf0131530, channel=1, userinfo=0xf01313d0,
bs=0x71b941c, cookie=0xf01313b8 "\323\376\355\245\325\363\331\344") at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/im.c:1521
#11 0x07434b58 in incomingim (sess=0x296e000, mod=0x712cab0,
rx=0x71b9410, snac=0xf0131530, bs=0x71b941c) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/im.c:2018
#12 0x07435ab0 in snachandler (sess=0x296e000, mod=0x712cab0,
rx=0x71b9410, snac=0xf0131530, bs=0x71b941c) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/im.c:2352
#13 0x0745300c in consumesnac (sess=0x296e000, rx=0x71b9410) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/rxhandlers.c:138
#14 0x07453c14 in aim_rxdispatch (sess=0x296e000) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/rxhandlers.c:525
#15 0x0743e578 in oscar_callback (data=0x712b700, source=41,
condition=GAIM_INPUT_READ) at
/Users/evands/libgaim/Libgaim/src/protocols/oscar/oscar.c:1578
#16 0x064331dc in socketCallback (s=0x713b410,
callbackType=kCFSocketReadCallBack, address=0x0, data=0x0,
infoVoid=0x71642e0) at /Users/evands/adium/Plugins/Gaim
Service/adiumGaimEventloop.m:207
#17 0x901a2948 in __CFSocketPerform ()
#18 0x90193ca8 in __CFRunLoopDoSources0 ()
#19 0x90191560 in __CFRunLoopRun ()
#20 0x90195e8c in CFRunLoopRunSpecific ()
#21 0x901ff328 in CFRunLoopRun ()
#22 0x0641e520 in -[SLGaimCocoaAdapter init] (self=0x5f1a750,
_cmd=0x9083ed94) at /Users/evands/adium/Plugins/Gaim
Service/SLGaimCocoaAdapter.m:136
#23 0x0641e108 in +[SLGaimCocoaAdapter createThreadedGaimCocoaAdapter]
(self=0x644672c, _cmd=0x643afe4) at /Users/evands/adium/Plugins/Gaim
Service/SLGaimCocoaAdapter.m:73
#24 0x90a39b74 in forkThreadForFunction ()
#25 0x900246e8 in _pthread_body ()
More information about the OTR-dev
mailing list