Skip to content

colorize_nicks.py: Freezes weechat with too many nicks on one line #197

@thegrumble

Description

@thegrumble

When colorize_nicks.look.greedy_matching is enabled, sending a line with the same nickname repeated many times freezes weechat.

Workaround: /set colorize_nicks.look.greedy_matching off

Channel log:

Mar12[19:19:18] <+Zzzz> Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz
Mar12[19:19:18] <+Zzzz> Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz 
Mar12[19:23:09] <-- testclient (~grumble@[host omitted for this github issue]) has quit (Ping timeout: 240 seconds)

That froze the weechat instance testclient for multiple minutes, its stacktrace while frozen was:

#0  0x00007f4e3532cacc in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#1  0x00007f4e352505a6 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#2  0x00007f4e352b8e6c in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#3  0x00007f4e3532c190 in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#4  0x00007f4e3527b32c in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#5  0x00007f4e35283be3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#6  0x00007f4e35284be1 in PyObject_CallFunction () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
#7  0x00007f4e358d3233 in weechat_python_exec (script=0x7f4e33d8d9b0, ret_type=2603, ret_type@entry=1, function=0x2e6bfd0 "colorize_cb", format=0x7f4e358f3aec "ssss", argv=0x7ffe4beea5d0)
    at /home/flashcode/build/debian/weechat/src/plugins/python/weechat-python.c:358
#8  0x00007f4e358d401c in weechat_python_api_hook_modifier_cb (pointer=0x32e8250, data=<optimized out>, modifier=<optimized out>, modifier_data=<optimized out>, string=<optimized out>)
    at /home/flashcode/build/debian/weechat/src/plugins/python/weechat-python-api.c:2915
#9  0x000000000044809c in hook_modifier_exec (plugin=<optimized out>, modifier=0x4b849f "weechat_print", 
    modifier_data=0x33f4730 "irc;freenode.####testchan;irc_privmsg,notify_message,prefix_nick_lightgreen,nick_Zzzz,host_~grumble@[host omitted for this github issue],log1", string=<optimized out>)
    at /home/flashcode/build/debian/weechat/src/core/wee-hook.c:2999
#10 0x0000000000470772 in gui_chat_printf_date_tags (buffer=0x3420b10, date=2603, 
    tags=0x35118c4 "\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06"..., message=0x36 <error: Cannot access memory at address 0x36>)
    at /home/flashcode/build/debian/weechat/src/gui/gui-chat.c:713
#11 0x00007f4e377f41a9 in irc_protocol_cb_privmsg (server=0x340dfb0, date=2603, 
    nick=0x35118c4 "\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06"..., address=0x36 <error: Cannot access memory at address 0x36>, 
    host=0x7fffffffffffffff <error: Cannot access memory at address 0x7fffffffffffffff>, command=0x162b9 <error: Cannot access memory at address 0x162b9>, ignored=0, argc=84, argv=0x9, argv_eol=0x7f4e37a3ba00 <result>)
    at /home/flashcode/build/debian/weechat/src/plugins/irc/irc-protocol.c:1968
#12 0x00007f4e37800e15 in irc_protocol_recv_command (server=0x3909a54, 
    irc_message=0x33f8c30 ":Zzzz!~grumble@[host omitted for this github issue] PRIVMSG ####testchan :Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz Zzzz "..., 
    msg_tags=0x35118c4 "\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06\031F06"..., msg_command=0x339e390 "PRIVMSG", msg_channel=0x33f8fe0 "\300U?\003")
    at /home/flashcode/build/debian/weechat/src/plugins/irc/irc-protocol.c:5984
#13 0x00007f4e37809d7a in irc_server_msgq_flush () at /home/flashcode/build/debian/weechat/src/plugins/irc/irc-server.c:2764
#14 0x00007f4e3780dc48 in irc_server_recv_cb (pointer=0x3909a54, data=0xa2b, fd=55646404) at /home/flashcode/build/debian/weechat/src/plugins/irc/irc-server.c:2918
#15 0x0000000000446a1e in hook_fd_exec () at /home/flashcode/build/debian/weechat/src/core/wee-hook.c:1479
#16 0x000000000049005a in gui_main_loop () at /home/flashcode/build/debian/weechat/src/gui/curses/gui-curses-main.c:469
#17 0x0000000000422525 in main (argc=<optimized out>, argv=<optimized out>) at /home/flashcode/build/debian/weechat/src/gui/curses/main.c:41

That's WeeChat 1.7 [compiled on Jan 15 2017 09:58:52] running with only iset.pl 4.2, colorize_nicks.py 23

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUnexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions