bug is actually in glibc
** Changed in: irssi (Ubuntu)
Status: New => Invalid
** Also affects: glibc via
http://sourceware.org/bugzilla/show_bug.cgi?id=5277
Importance: Unknown
Status: Unknown
** Summary changed:
- Infinite loop in irssi converting to ISO-2022-JP
+ Some conversions to iso-2022-jp can hang iconv
** Description changed:
- Binary package hint: irssi-text
-
- With irssi global settings:
- 04:43 recode_autodetect_utf8 = ON
- 04:43 recode_fallback = sjis
- 04:43 recode = ON
- 04:43 recode_out_default_charset =
- 04:43 recode_transliterate = ON
- 04:43 term_charset = UTF-8
-
- and a local channel /recode entry setting the channel to ISO-2022-JP, typing
"オマエモナー(=゚ω゚)つ)゚∀゚)グァ" triggers a reproducable infinite loop deep in gconv:
- 0xb7ad7b21 in __gconv_transliterate () from /lib/tls/i686/cmov/libc.so.6
- (gdb) bt
- #0 0xb7ad7b21 in __gconv_transliterate () from /lib/tls/i686/cmov/libc.so.6
- #1 0xb7886d46 in gconv () from /usr/lib/gconv/ISO-2022-JP.so
- #2 0xb7ad50f5 in __gconv_transform_utf8_internal () from
/lib/tls/i686/cmov/libc.so.6
- #3 0xb7ad0645 in __gconv () from /lib/tls/i686/cmov/libc.so.6
- #4 0xb7acfbfa in iconv () from /lib/tls/i686/cmov/libc.so.6
- #5 0xb7da6593 in g_iconv () from /usr/lib/libglib-2.0.so.0
- #6 0xb7da673d in g_convert_with_iconv () from /usr/lib/libglib-2.0.so.0
- #7 0xb7da69d4 in g_convert () from /usr/lib/libglib-2.0.so.0
- #8 0x080cfe30 in recode_out ()
- #9 0x080d92f5 in write_buffer_deinit ()
- #10 0x080d6a65 in signal_remove_full ()
- #11 0x080d6bca in signal_emit ()
- #12 0x0807fa04 in completion_get_targets ()
- #13 0x080d6a65 in signal_remove_full ()
- #14 0x080d6bca in signal_emit ()
- #15 0x080c34b9 in commands_remove_module ()
- #16 0x080d6a65 in signal_remove_full ()
- #17 0x080d6bca in signal_emit ()
- #18 0x0805c285 in input_listen_deinit ()
- #19 0x080d6a65 in signal_remove_full ()
- #20 0x080d6bca in signal_emit ()
- #21 0x0809393c in keyboard_entry_redirect ()
- #22 0x080d6a65 in signal_remove_full ()
- #23 0x080d6bca in signal_emit ()
- #24 0x08093781 in key_pressed ()
- #25 0x0805edfa in gui_readline_deinit ()
- #26 0x080d6a65 in signal_remove_full ()
- #27 0x080d6bca in signal_emit ()
- #28 0x0805c6ed in input_listen_deinit ()
- #29 0x080c94ee in masks_match ()
- #30 0xb7de152c in g_vasprintf () from /usr/lib/libglib-2.0.so.0
- #31 0xb7dba8d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
- #32 0xb7dbd996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
- #33 0xb7dbde1e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
- #34 0x0806e1f6 in main ()
-
- Frame #1 in this trace does not return, and irssi uses 100% cpu during
- this time.
-
- This is using:
- ||/ Name Version
Description
-
+++-=======================================-=======================================-==============================================================================================
- ii irssi 0.8.10-1ubuntu1
terminal based IRC client
- ii libc6 2.3.6-0ubuntu20.4
GNU C Library: Shared libraries and Timezone data
+ Some invocations of iconv() converting to ISO-2022-JP can trigger an
+ infinite loop; please see the linked glibc bug for details. A patch is
+ in the comments below.
--
Some conversions to iso-2022-jp can hang iconv
https://bugs.launchpad.net/bugs/89377
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs