Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issuing command /buffer close twice at the same time with multiline.ok causes WeeChat to crash. #27

Closed
Mikaela opened this Issue Mar 18, 2014 · 1 comment

Comments

Projects
None yet
2 participants
@Mikaela
Copy link
Contributor

Mikaela commented Mar 18, 2014

Backtrace:

#0  0x00000229dd952475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        pid = <optimized out>
        selftid = <optimized out>
#1  0x00000229dd9556f0 in *__GI_abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {2378834754332, 57023536, 2378837945952, 0, 0, 2378834275232, 2378859544576, 1, 4294967295, 56855296, 5, 7115648, 0, 150357184, 1, 0}}, sa_flags = -554345998, sa_restorer = 0x5}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x000000000045e740 in weechat_shutdown (return_code=1, crash=1) at /home/users/mkaysi/src/git/weechat/weechat/src/core/weechat.c:407
No locals.
#3  <signal handler called>
No symbol table info available.
#4  gui_line_prefix_is_same_nick_as_previous (line=0x8b010c0) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-line.c:141
        nick = <optimized out>
        nick_previous = <optimized out>
        prev_line = <optimized out>
#5  0x0000000000452ae4 in gui_line_get_prefix_for_display (line=line@entry=0x8b010c0, prefix=prefix@entry=0x0, length=length@entry=0x38c7e3b7ff8, color=color@entry=0x0, prefix_is_nick=prefix_is_nick@entry=0x38c7e3b7ffc) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-line.c:194
        tag_prefix_nick = 0x36206f0 "\340{a\003"
#6  0x00000000004533c1 in gui_line_remove_from_list (buffer=buffer@entry=0x58ae9a0, lines=0x8f644c0, line=0x8b010c0, free_data=free_data@entry=1) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-line.c:969
        ptr_win = 0x0
        ptr_scroll = <optimized out>
        prefix_length = <optimized out>
        prefix_is_nick = <optimized out>
#7  0x0000000000453638 in gui_line_free (buffer=buffer@entry=0x58ae9a0, line=<optimized out>) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-line.c:1105
        ptr_line = <optimized out>
#8  0x0000000000453668 in gui_line_free_all (buffer=buffer@entry=0x58ae9a0) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-line.c:1117
No locals.
#9  0x0000000000440b10 in gui_buffer_close (buffer=buffer@entry=0x58ae9a0) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-buffer.c:2559
        ptr_window = <optimized out>
        ptr_buffer = <optimized out>
        ptr_back_to_buffer = 0x0
        ptr_buffer_visited_buffer = <optimized out>
        index = 0
        i = <optimized out>
        ptr_buffer_visited = 0x38c7e3b7ff8
#10 0x0000000000463d15 in command_buffer (data=<optimized out>, buffer=0x58ae9a0, argc=2, argv=0x8d6e280, argv_eol=0x3baf550) at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-command.c:807
        ptr_buffer = <optimized out>
        ptr_buffer2 = <optimized out>
        ptr_prev_buffer = <optimized out>
        weechat_buffer = 0x3ba3a80
        number = <optimized out>
        number1 = <optimized out>
        number2 = <optimized out>
        numbers = {144628272, 4798781, 98}
        error = <optimized out>
        value = <optimized out>
        pos = <optimized out>
        str_number1 = <optimized out>
        pos_number2 = <optimized out>
        error_main_buffer = <optimized out>
        num_buffers = <optimized out>
        count = <optimized out>
        prev_number = <optimized out>
#11 0x0000000000480529 in hook_command_exec (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=plugin@entry=0x8900230, string=string@entry=0x588c8f0 "/buffer close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-hook.c:777
        ptr_hook = 0x35ef8d0
        next_hook = 0x0
        hook_plugin = <optimized out>
        hook_other_plugin = 0x35ef8d0
        hook_other_plugin2 = 0x0
        argv = 0x8d6e280
        argv_eol = 0x3baf550
        ptr_command_name = 0x8f41711 "buffer"
        argc = 2
        rc = -1
        count_other_plugin = 1
#12 0x0000000000486ae8 in input_exec_command (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=0x8900230, string=string@entry=0x8c68d10 "/buffer close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:100
        command = 0x588c8f0 "/buffer close"
        command_name = 0x8aaf8e0 "/buffer"
        pos = <optimized out>
#13 0x0000000000486e6c in input_data (buffer=buffer@entry=0x58ae9a0, data=data@entry=0x8ed2e50 "/buffer close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:209
        pos = 0x0
        buf = <optimized out>
        str_buffer = "0x58ae9a0\000\331\b\000\000\000\000\001\000\000\000\000\000\000\000\000˝\b\000\000\000\000`n\312\335)\002\000\000\016\000\000\000\000\000\000\000\240\315\303\b\000\000\000\000`\303\331\b\000\000\000\000\240\320\311\b\000\000\000\000\000\274\231\335)\002", '\000' <repeats 11 times>, "˝\b\000\000\000\000\016\000\000\000\000\000\000\000\000˝\b\000\000\000\000\240\315\303\b\000\000\000\000B\f\232\335)\002\000"
        new_data = 0x8c68d10 "/buffer close"
        ptr_data = <optimized out>
        ptr_data_for_buffer = 0x0
        length = <optimized out>
        char_size = <optimized out>
#14 0x000000000045cf1c in plugin_api_command (plugin=<optimized out>, buffer=0x58ae9a0, command=0x89dcb00 "/buffer close") at /home/users/mkaysi/src/git/weechat/weechat/src/plugins/plugin-api.c:275
        command2 = 0x8ed2e50 "/buffer close"
#15 0x00000229d821c875 in alias_run_command (buffer=buffer@entry=0x38c7e3b8398, command=0x8d9c360 "/buffer close") at /home/users/mkaysi/src/git/weechat/weechat/src/plugins/alias/alias.c:314
        string = 0x89dcb00 "/buffer close"
        old_current_buffer = 0x8c3cda0
        new_current_buffer = <optimized out>
#16 0x00000229d821cb2d in alias_cb (data=0x6f3ca10, buffer=0x0, argc=2, argv=<optimized out>, argv_eol=0x588f180) at /home/users/mkaysi/src/git/weechat/weechat/src/plugins/alias/alias.c:397
        ptr_alias = 0x6f3ca10
        commands = 0x8f27b70
        ptr_cmd = 0x8f27b70
        ptr_next_cmd = 0x8f27b78
        args_replaced = 0x8d9de70 "/buffer"
        alias_command = <optimized out>
        some_args_replaced = 0
        length1 = <optimized out>
        length2 = <optimized out>
#17 0x0000000000480529 in hook_command_exec (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=plugin@entry=0x8900230, string=string@entry=0x8a0e130 "/b close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-hook.c:777
        ptr_hook = 0x6b9ef10
        next_hook = 0x0
        hook_plugin = <optimized out>
        hook_other_plugin = 0x6b9ef10
        hook_other_plugin2 = 0x0
        argv = 0x8ae7d00
        argv_eol = 0x588f180
        ptr_command_name = 0x8ca64a1 "b"
        argc = 2
        rc = -1
        count_other_plugin = 1
#18 0x0000000000486ae8 in input_exec_command (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=0x8900230, string=string@entry=0x8ed1709 "/b close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:100
        command = 0x8a0e130 "/b close"
        command_name = 0x8b296b0 "/b"
        pos = <optimized out>
#19 0x0000000000486e6c in input_data (buffer=0x58ae9a0, data=data@entry=0x8f715b0 "/b close\n/b close") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:209
        pos = 0x0
        buf = <optimized out>
        str_buffer = "0x58ae9a0\000D\000\000\000\000\000\260\031\273\b\000\000\000\000\372\246D\000\000\000\000\000\060x58ae9a0\000\367\b\000\000\000\000\267\025\367\b\000\000\000\000p\343\212\005\000\000\000\000`n\312\335)\002\000\000`n\312\335)\002\000\000\240\351\212\005\000\000\000\000\240\351\212\005\000\000\000\000\200\063\363\b\000\000\000\000\060\002\220\b", '\000' <repeats 12 times>, "\034\273\231\335)\002\000"
        new_data = 0x8ed1700 "/b close\n/b close"
        ptr_data = <optimized out>
        ptr_data_for_buffer = 0x0
        length = <optimized out>
        char_size = <optimized out>
#20 0x000000000044c04e in gui_input_return (buffer=buffer@entry=0x58ae9a0) at /home/users/mkaysi/src/git/weechat/weechat/src/gui/gui-input.c:440
        window = 0x3ba6700
        command = 0x8f715b0 "/b close\n/b close"
#21 0x0000000000461b28 in command_input (data=<optimized out>, buffer=0x58ae9a0, argc=2, argv=0x588c040, argv_eol=0x8f33380) at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-command.c:2709
No locals.
#22 0x0000000000480529 in hook_command_exec (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=plugin@entry=0x8900230, string=string@entry=0x590c4e0 "/input return") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-hook.c:777
        ptr_hook = 0x35f62b0
        next_hook = 0x0
        hook_plugin = <optimized out>
        hook_other_plugin = 0x35f62b0
        hook_other_plugin2 = 0x0
        argv = 0x588c040
        argv_eol = 0x8f33380
        ptr_command_name = 0x8ab6a61 "input"
        argc = 2
        rc = -1
        count_other_plugin = 1
#23 0x0000000000486ae8 in input_exec_command (buffer=buffer@entry=0x58ae9a0, any_plugin=any_plugin@entry=1, plugin=0x8900230, string=string@entry=0x8f28a60 "/input return") at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:100
        command = 0x590c4e0 "/input return"
        command_name = 0x7848980 "/input"
        pos = <optimized out>
#24 0x0000000000486e6c in input_data (buffer=0x58ae9a0, data=<optimized out>) at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-input.c:209
        pos = 0x0
        buf = <optimized out>
        str_buffer = "0x58ae9a0\000;~\214\003\000\000\070\207;~\214\003\000\000<\207;~\214\003\000\000\060\207;~\214\003\000\000\230\363\031\336)\002\000\000\060#\241\b", '\000' <repeats 12 times>, "\030\000\000\000\000\000\000\000`\207;~\214\003\000\000\020\207;~\214\003\000\000\000\000\000\000\000\000\000\000\260\242\306\b\000\000\000\000\020ī\b\000\000\000\000@\207;~\214\003\000\000\021X\026\337)\002\000"
        new_data = 0x8f28a60 "/input return"
        ptr_data = <optimized out>
        ptr_data_for_buffer = 0x0
        length = <optimized out>
        char_size = <optimized out>
#25 0x000000000045f85e in command_wait_timer_cb (data=0x8d9b130, remaining_calls=<optimized out>) at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-command.c:6026
        timer_args = 0x8d9b130
        i = <optimized out>
        ptr_buffer = <optimized out>
#26 0x0000000000483d5f in hook_timer_exec () at /home/users/mkaysi/src/git/weechat/weechat/src/core/wee-hook.c:1147
        tv_time = {tv_sec = 1395135098, tv_usec = 368856}
        ptr_hook = 0x8e22ec0
        next_hook = 0x0
#27 0x000000000042e37f in gui_main_loop () at /home/users/mkaysi/src/git/weechat/weechat/src/gui/curses/gui-curses-main.c:469
        hook_fd_keyboard = 0x8a12330
        tv_timeout = {tv_sec = 0, tv_usec = 0}
        read_fds = {fds_bits = {0 <repeats 16 times>}}
        write_fds = {fds_bits = {0 <repeats 16 times>}}
        except_fds = {fds_bits = {0 <repeats 16 times>}}
        max_fd = <optimized out>
        ready = <optimized out>
#28 0x00000000004250f1 in main (argc=5, argv=0x38c7e3b8a78) at /home/users/mkaysi/src/git/weechat/weechat/src/core/weechat.c:477
No locals.

@flashcode flashcode added the bug label Mar 18, 2014

@flashcode

This comment has been minimized.

Copy link
Member

flashcode commented Mar 18, 2014

Same crash with such command: /input insert /buffer close\x0a/buffer close

@flashcode flashcode closed this in 476729b Mar 18, 2014

@flashcode flashcode added this to the 1.0 milestone Nov 16, 2014

@flashcode flashcode self-assigned this Nov 16, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.