cryptodotis / irssi-otr

LibOTR functionality in Irssi.
GNU General Public License v2.0
183 stars 24 forks source link

assertion failure when sending long messages #36

Closed ghost closed 11 years ago

ghost commented 11 years ago

Just tried git HEAD (cab3fc91) and ran into problems when trying to send long messages. If the message I'm sending is longer than 49 characters, this happens:

Breakpoint 1, irssi_send_message (irssi=irssi@entry=0x0, recipient=recipient@entry=0x89b37c0 "somenick",
    msg=msg@entry=0x907ed70 "?OTR,00001,00002,?OTR:AA"...) at module.c:296
296                     IRSSI_MSG("ERROR: irssi is NULL in irssi_send_message()");
(gdb) bt
#0  irssi_send_message (irssi=irssi@entry=0x0, recipient=recipient@entry=0x89b37c0 "somenick", 
    msg=msg@entry=0x907ed70 "?OTR,00001,00002,?OTR:AA"...) at module.c:296
#1  0x00007a908f794934 in ops_inject_msg (opdata=0x0, accountname=<optimized out>, protocol=<optimized out>, 
    recipient=0x89b37c0 "somenick", 
    message=0x907ed70 "?OTR,00001,00002,?OTR:AA"...) at otr-ops.c:58
#2  0x00007a908f55b33b in fragment_and_send (opdata=opdata@entry=0x0, context=context@entry=0x8ce2900, message=<optimized out>, 
    fragPolicy=fragPolicy@entry=OTRL_FRAGMENT_SEND_ALL_BUT_LAST, returnFragment=returnFragment@entry=0x7e0d15e61320, 
    ops=0x7a908f99a320 <otr_ops>, ops=0x7a908f99a320 <otr_ops>) at message.c:106
#3  0x00007a908f55bd8c in otrl_message_sending (us=<optimized out>, ops=0x7a908f99a320 <otr_ops>, opdata=opdata@entry=0x457a400, 
    accountname=accountname@entry=0x87e44a0 "me@some.network.test", protocol=protocol@entry=0x7a908f795e45 "IRC", 
    recipient=recipient@entry=0x902bfa7 "somenick", their_instag=their_instag@entry=1, 
    original_msg=original_msg@entry=0x902bfb1 "123456789 123456789 123456789 123456789 123456789 12", tlvs=tlvs@entry=0x0, 
    messagep=messagep@entry=0x7e0d15e61320, fragPolicy=fragPolicy@entry=OTRL_FRAGMENT_SEND_ALL_BUT_LAST, 
    contextp=contextp@entry=0x7e0d15e612e0, add_appdata=add_appdata@entry=0x7a908f79233e <add_peer_context_cb>, 
    data=data@entry=0x457a400) at message.c:444
#4  0x00007a908f79272e in otr_send (irssi=irssi@entry=0x457a400, 
    msg=msg@entry=0x902bfb1 "123456789 123456789 123456789 123456789 123456789 12", to=to@entry=0x902bfa7 "somenick", 
    otr_msg=otr_msg@entry=0x7e0d15e61320) at otr.c:359
#5  0x00007a908f7952fc in sig_server_sendmsg (server=0x457a400, target=0x902bfa7 "somenick", 
    msg=0x902bfb1 "123456789 123456789 123456789 123456789 123456789 12", target_type_p=0x1) at module.c:71
#6  0x000000000048e31a in signal_emit_real ()
#7  0x000000000048e7cd in signal_emit ()
#8  0x0000000000490705 in cmd_msg ()
#9  0x000000000048e31a in signal_emit_real ()
#10 0x000000000048e7cd in signal_emit ()
#11 0x000000000043b160 in event_text ()
#12 0x000000000048e31a in signal_emit_real ()
#13 0x000000000048e7cd in signal_emit ()
#14 0x000000000048e31a in signal_emit_real ()
#15 0x000000000048e7cd in signal_emit ()
#16 0x000000000041c1eb in key_send_line ()
#17 0x000000000048e31a in signal_emit_real ()
#18 0x000000000048e7cd in signal_emit ()
#19 0x000000000044ec27 in sig_multi ()
#20 0x000000000048e31a in signal_emit_real ()
#21 0x000000000048e7cd in signal_emit ()
#22 0x000000000044f5f3 in key_pressed ()
#23 0x000000000041ba9e in sig_gui_key_pressed ()
#24 0x000000000048e31a in signal_emit_real ()
#25 0x000000000048e7cd in signal_emit ()
#26 0x000000000041cece in sig_input ()
dgoulet commented 11 years ago

This is the same issue as #21 and recently #35.

Unfortunately, libotr has not been released with the fix but it is at least upstream. You need the latest git HEAD of libotr's master branch. (commit: d748757e581b74e7298df155ad49174cb914102b)

ghost commented 11 years ago

libotr git HEAD seems to work so far, indeed