#33 Crash with 256-color

closed-fixed
nobody
None
5
2011-03-19
2011-03-19
Anonymous
No

256 color doesn't seem to be functional. Adding the k256 plugin didn't do anything, and using the option to ::showcolors() didn't show any colors at all (entirely grey scale). Using a MUD that displays 256-color, the client instantly crashes with a segfault.

I am using svn revision 1150, and Ubuntu 11.04.

The segfault from actual game output causes the following:

(gdb) run
Starting program: /home/.../kildclient/src/kildclient
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ccbb70 (LWP 20794)]
[New Thread 0xb72ffb70 (LWP 20795)]
[New Thread 0xb308db70 (LWP 20801)]
[Thread 0xb308db70 (LWP 20801) exited]

Program received signal SIGSEGV, Segmentation fault.
0x0030b151 in gtk_text_buffer_apply_tag () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) bt
#0 0x0030b151 in gtk_text_buffer_apply_tag () from /usr/lib/libgtk-x11-2.0.so.0
#1 0x08061fd4 in ansitextview_append_formatted (buffer=0x80d2d00, iter=0xbfffe6a8, text=<value optimized out>, len=4, ta=0x8103cc8,
extra_tag=0x0) at ansitextview.c:846
#2 0x08062637 in ansitextview_verify_urls_and_add (gui=0x8103c48, pos=<value optimized out>, len=<value optimized out>,
text=<value optimized out>) at ansitextview.c:656
#3 0x08062a12 in ansitextview_insert_ansi_string (gui=0x8103c48, pos=<value optimized out>,
str=0x89ed898 " \033[38;5;0md \033[38;5;1mr \033[38;5;2mg \033[38;5;3my \033[38;5;4mb \033[38;5;5mp \033[38;5;6mc \033[38;5;7mw \033[38;5;8mD \033[38;5;9mR \033[38;5;10mG \033[38;5;11mY \033[38;5;12mB \033[38;5;13mP \033[38;5;14mC"..., len=217)
at ansitextview.c:305
#4 0x08062f85 in ansitextview_append_echoed_string (gui=0x8103c48,
str=0x89ed898 " \033[38;5;0md \033[38;5;1mr \033[38;5;2mg \033[38;5;3my \033[38;5;4mb \033[38;5;5mp \033[38;5;6mc \033[38;5;7mw \033[38;5;8mD \033[38;5;9mR \033[38;5;10mG \033[38;5;11mY \033[38;5;12mB \033[38;5;13mP \033[38;5;14mC"..., len=217)
at ansitextview.c:411
#5 0x080963ab in XS_echo (my_perl=0x83160c8, perlcv=0x8625f98) at perlscript.c:920
#6 0x00b08a5b in Perl_pp_entersub () from /usr/lib/libperl.so.5.10
#7 0x00affff2 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
#8 0x00a9e85a in Perl_eval_sv () from /usr/lib/libperl.so.5.10
#9 0x0807dfd6 in process_command (world=0x82ec800, cmd=<value optimized out>, len=<value optimized out>) at parser.c:181
#10 0x0807e283 in process_aliases (world=0x82ec800, cmdline=<value optimized out>, start=<value optimized out>, end=37) at parser.c:161
#11 0x0807e428 in parse_commands (world=0x82ec800, cmdline=0x86cfc38 "/channels::check($_[0], \"$colorline\")", totallen=37) at parser.c:87
#12 0x0807fafa in match_triggers (world=0x82ec800, line=0xbfffeff4, colorline=0xbfffeffc, output_len=0xbfffeff8, gag_output=0xbfffefec,
gag_log=0xbfffefe8, n_matches=0xbfffefe4, trigger_response=0x0) at triggers.c:262
#13 0x08058169 in process_recv_line (world=0x82ec800, start=<value optimized out>, end=<value optimized out>, incomplete=0) at net.c:1051
#14 0x08059b34 in data_ready_cb (iochan=0x89e0c30, cond=G_IO_IN, data=0x82ec800) at net.c:913
#15 0x00a1878b in ?? () from /lib/libglib-2.0.so.0
#16 0x009d0aa8 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#17 0x009d1270 in ?? () from /lib/libglib-2.0.so.0
#18 0x009d192b in g_main_loop_run () from /lib/libglib-2.0.so.0
#19 0x00261b99 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x08057777 in main (argc=1, argv=0xbffff364, env=0xbffff36c) at main.c:219

Discussion

  • There was indeed a bug with some specific sequences. It was fixed in revision 1151.

     
    • status: open --> closed-fixed