From: Araki K. <j00...@ip...> - 2002-02-18 14:17:02
|
荒木です:-) 高橋全さんより、かなり厄介そうなバグレポートをいただいております。 症状としましては、UTF-8 エンコーディングにて、EUC-JP などの非 UTF-8 なフ ァイルを、UTF-8 非対応なビューワ(jed + slang や ng + ncursesなど)で表示し、 画面をスクロールさせたときに、core dump してしまうというものです。 # ちなみに、not_use_unicode_font オプションを true にしておられるそうです。 mozilla のような重いアプリケーションを起動した状態で、長めの EUC-JP なフ ァイルを jed で表示した場合に、発生しやすいそうです。 (後藤さんの指摘された問題と似てる?) mlterm は、主に mutt 上で使用されているそうでして、euc-jp なテキストが、 octet-stream で添付されている場合に、 "| iconv -f eucjp -t utf-8" とパイプして表示しようとした場合も、ある程度 の長さがあるときに落ちるそうです。 ただ、困ったことに、わたしの手元で、jed および cat によるスクロールをテ ストしてみたところでは、これらの問題を再現できませんでした。 mozilla と emacs を起動してメモリーきつきつな状況下でも試してみましたが、 テコでも落ちてくれません。 さすがに、かなりクリティカルなバグですので、なんとか原因を突きとめたいの ですが、こういう環境で再現できた、ここが怪しいんじゃないか、等、何でも情 報をいただけると助かります。 ちなみに、高橋さんの環境は、 > OS は Linux 2.4.17 で、Kondara MNU/Linux 2.1 RC2 相当。 > X は XFree86-4.0.3 で、同 2.0。(freetype でなく xtt を使用) > glibc は 2.2.2, gcc は 2.96で、同 2.0。 で、core dump したときの backtrace は、添付の [backtrace 1] ような感じだ そうです。 # malloc の中で落ちてるというのが、謎なんですが.... それからもう一点問題がありまして、-A オプションで、アンチエイリアスを使用 しようとする場合、 files nexted too deeply というエラーメッセージのあと、[backtrace 2] のような core を吐いて終了して しまうそうです。 これにつきましても、再現できた方がいらっしゃれば、情報を提供していただける と助かります。 # この backtrace を見るかぎり、ありえない個所で core dump しているようです # が.... # 川端さんの、タイトルバーが化ける問題もありますし、ここに来ていやらしい # バグが続出ですねぇ ^_^; では -- kiken j00...@ip... [backtrace 1] (gdb) bt #0 chunk_alloc (ar_ptr=0x4053b5e0, nb=136) at malloc.c:2979 #1 0x40493e80 in __libc_malloc (bytes=128) at malloc.c:2714 #2 0x40286b8b in kik_mem_malloc (size=128, file=0x808042b "ml_char.c", line=120, func=0x8080420 "ml_str_new") at kik_mem.c:110 #3 0x08052df0 in ml_str_new (size=16) at ml_char.c:120 #4 0x08068183 in ml_imgline_init (line=0x80c3ff4, num_of_chars=16) at ml_image_line.c:52 #5 0x080681d4 in ml_imgline_clone (clone=0x80c3ff4, orig=0x80b94bc, num_of_chars=16) at ml_image_line.c:69 #6 0x080598e5 in ml_log_add (logs=0x80b9184, line=0x80b94bc) at ml_logs.c:224 #7 0x08063f7c in receive_scrolled_out_line (p=0x80b8f58, line=0x80b94bc) at ml_term_screen.c:3928 #8 0x0806e9f3 in receive_scrolled_out_line (p=0x80b8f58, line=0x80b94bc) at ml_sb_term_screen.c:213 #9 0x0805d6c9 in scroll_upward_region (image=0x80b9074, boundary_beg=0, boundary_end=27, size=1) at ml_image_scroll.c:141 #10 0x0805de90 in ml_imgscrl_scroll_upward (image=0x80b9074, size=1) at ml_image_scroll.c:368 #11 0x080578d6 in ml_image_scroll_upward (image=0x80b9074, size=1) at ml_image.c:1438 #12 0x080588ad in ml_cursor_go_downward (image=0x80b9074, flag=6) at ml_image.c:1923 #13 0x0807a619 in ml_vt100_cmd_line_feed (termscr=0x80b8f58) at ml_vt100_command.c:140 #14 0x0805bcd1 in parse_vt100_escape_sequence (vt100_parser=0x80c5270) at ml_vt100_parser.c:1885 #15 0x0805c771 in ml_parse_vt100_sequence (vt100_parser=0x80c5270) at ml_vt100_parser.c:2427 #16 0x08076269 in receive_next_event (term_man=0xbffff480) at ml_term_manager.c:1803 #17 0x080770ab in ml_term_manager_event_loop (term_man=0xbffff480) at ml_term_manager.c:2295 #18 0x0806a8d5 in main (argc=1, argv=0xbffff6a4) at main.c:51 #19 0x404381be in __libc_start_main (main=0x806a820 <main>, argc=1, ubp_av=0xbffff6a4, init=0x804c020 <_init>, fini=0x807fda8 <_fini>, rtld_fini=0x4000ddf0 <_dl_fini>, stack_end=0xbffff69c) at ../sysdeps/generic/libc-start.c:129 (gdb) f 2 #2 0x40286b8b in kik_mem_malloc (size=128, file=0x808042b "ml_char.c", line=120, func=0x8080420 "ml_str_new") at kik_mem.c:110 110 if( ( log->ptr = malloc( size)) == NULL) (gdb) l 105 if( ( log = malloc( sizeof( mem_log_t))) == NULL) 106 { 107 return NULL ; 108 } 109 110 if( ( log->ptr = malloc( size)) == NULL) 111 { 112 free( log) ; 113 114 return NULL ; [backtrace 2] (gdb) bt #0 0x4049a791 in strlen () from /lib/libc.so.6 #1 0x4026ba69 in _XftSaveString () at eval.c:88 #2 0x4026ad6a in XftPatternAdd () at eval.c:88 #3 0x4026b7e8 in XftPatternAddString () at eval.c:88 #4 0x4026c6db in XftFreeTypeQuery () at eval.c:88 #5 0x4026c52b in XftDirScan () at eval.c:88 #6 0x4026ce3d in XftInitFtLibrary () at eval.c:88 #7 0x40265c00 in XftFontOpen () at eval.c:88 #8 0x08070779 in get_xft_col_width (font=0x808b4e8, family=0x8084bf5 "", fontsize=16) at ml_font.c:428 #9 0x08070c1c in ml_font_set_xft_font (font=0x808b4e8, fontname=0x0, fontsize=16, col_width=0, use_medium_for_bold=0) at ml_font.c:689 #10 0x0806acaf in set_xfont (font_man=0x808b190, font=0x808b4e8, fontname=0x0, fontsize=16, col_width=0, use_medium_for_bold=0) at ml_font_manager.c:188 #11 0x0806af73 in get_font_intern (font_man=0x808b190, fontattr=86113, cache_null_if_not_found=0) at ml_font_manager.c:291 #12 0x0806b80a in ml_get_usascii_font (font_man=0x808b190) at ml_font_manager.c:539 #13 0x0806b8b1 in ml_font_manager_reload (font_man=0x808b190) at ml_font_manager.c:583 #14 0x0806b711 in ml_font_manager_change_font_present (font_man=0x808b190, font_present=FONT_AA) at ml_font_manager.c:490 #15 0x080641d5 in ml_term_screen_new (cols=80, rows=30, font_man=0x808b190, color_table=0x808b478, brightness=100, fade_ratio=100, keymap=0xbffff550, termcap=0xbffff5a4, num_of_log_lines=128, tab_size=8, screen_width_ratio=100, screen_height_ratio=100, xim_open_in_startup=1, mod_meta_mode=MOD_META_NONE, bel_mode=BEL_SOUND, copy_paste_via_ucs=0, pic_file_path=0x0, use_transbg=0, font_present=FONT_AA, use_bidi=1, vertical_mode=0, use_vertical_cursor=0, big5_buggy=0, conf_menu_path=0x0, iscii_lang=ISCIILANG_MALAYALAM) at ml_term_screen.c:4060 #16 0x080734fd in open_term (term_man=0xbffff4a0) at ml_term_manager.c:304 #17 0x0807707b in ml_term_manager_event_loop (term_man=0xbffff4a0) at ml_term_manager.c:2281 #18 0x0806a8d5 in main (argc=2, argv=0xbffff6c4) at main.c:51 #19 0x404381be in __libc_start_main (main=0x806a820 <main>, argc=2, ubp_av=0xbffff6c4, init=0x804c020 <_init>, fini=0x807fda8 <_fini>, rtld_fini=0x4000ddf0 <_dl_fini>, stack_end=0xbffff6bc) at ../sysdeps/generic/libc-start.c:129 |