Terminal + shift_jis + less == crashing

Bug #314826 reported by ralphmerridew
4
Affects Status Importance Assigned to Milestone
Gnome Virtual Terminal Emulator
Fix Released
Critical
vte (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

Binary package hint: gnome-terminal

Be sure to save any open work before attempting this.

1) Open two Terminal windows.
2) Set the character encoding of one of them to SHIFT_JIS.
3) On that Terminal, type
perl -e 'print "\xec\x98\x8c";' > /tmp/bug; less /tmp/bug

All Terminal windows, and any program started by a Terminal window, will now crash.

The bug only seems to appear when running less from a file; if output of the program is piped directly to less, the bug won't manifest.

Ubuntu 8.04.1

ProblemType: Bug
Architecture: i386
Date: Wed Jan 7 13:36:29 2009
DistroRelease: Ubuntu 8.04
ExecutablePath: /usr/bin/gnome-terminal
NonfreeKernelModules: fglrx
Package: gnome-terminal 2.22.1-0ubuntu2
PackageArchitecture: i386
ProcEnviron:
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gnome-terminal
Uname: Linux 2.6.24-22-386 i686

Tags: apport-bug
Revision history for this message
ralphmerridew (ralphmerridew) wrote :
Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thanks for your bug report. Please try to obtain a backtrace http://wiki.ubuntu.com/DebuggingProgramCrash and attach the file to the bug report. This will greatly help us in tracking down your problem.

Changed in gnome-terminal:
assignee: nobody → desktop-bugs
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
Pedro Villavicencio (pedro) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to New. Thanks again!.

Changed in gnome-terminal:
status: Incomplete → Invalid
Revision history for this message
ralphmerridew (ralphmerridew) wrote :

Did you actually try following my instructions? They're pretty straightforward.

Changed in gnome-terminal (Ubuntu):
status: Invalid → New
Revision history for this message
Pedro Villavicencio (pedro) wrote :

yes and it doesn't crash, please report the bug as said before.

Changed in gnome-terminal (Ubuntu):
status: New → Invalid
Revision history for this message
ralphmerridew (ralphmerridew) wrote :

Why didn't you say so?

Weird. I installed some of the debug symbols and it crashed normally. After I'd installed all the debugging symbols, it didn't crash, though the output to 'less' was funny. I dug through the last output of gdb to send that, then reran the command, and it crashed again.

Changed in gnome-terminal (Ubuntu):
status: Invalid → New
Revision history for this message
ralphmerridew (ralphmerridew) wrote :

bump

Revision history for this message
Robert Ancell (robert-ancell) wrote :

I can confirm the crash:

(gdb) bt#0 0xb75af896 in memcpy () from /lib/tls/i686/cmov/libc.so.6
#1 0xfffff7c0 in ?? ()
#2 0xb7f6c7d7 in _vte_conv (converter=0x9a69c80, inbuf=0xbfc123bc, inbytes_left=0xbfc123b4,
    outbuf=0xbfc123b8, outbytes_left=0xbfc123b0) at vteconv.c:270
#3 0xb7f6c949 in _vte_conv_cu (converter=0x9a69c80, inbuf=0xbfc123bc, inbytes_left=0xbfc123b4,
    outbuf=0xbfc123b8, outbytes_left=0xbfc123b0) at vteconv.c:360
#4 0xb7f3d2cc in process_block (state=0x97bcd08,
    input=0x98a3408 "\r\n�230\214\033]0;bob@alchemy2: ~/src/gnome-terminal-2.26.0\abob@alchemy2:~/src/gnome-terminal-2.26.0$ ", block=0xbfc12400, last=0, gunichars=0x9823a00) at iso2022.c:1184
#5 0xb7f3e11a in _vte_iso2022_process (state=0x97bcd08,
    input=0x98a3408 "\r\n�230\214\033]0;bob@alchemy2: ~/src/gnome-terminal-2.26.0\abob@alchemy2:~/src/gnome-terminal-2.26.0$ ", length=93, gunichars=0x9823a00) at iso2022.c:1710
#6 0xb7f62041 in vte_terminal_process_incoming (terminal=0x98a1f80) at vte.c:3790
#7 0xb7f62c2a in time_process_incoming (terminal=0x98a1f80) at vte.c:13904
#8 0xb7f632f8 in process_timeout (data=0x0) at vte.c:13951
#9 0xb76ff2b6 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb76feb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0xb77020eb in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb77025ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0xb7c7d7d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x08059e35 in main (argc=Cannot access memory at address 0x1e
) at terminal.c:486

affects: gnome-terminal (Ubuntu) → vte (Ubuntu)
Changed in vte (Ubuntu):
status: New → Confirmed
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Backtrace without optimisation in libvte:

#0 0xb7f90430 in __kernel_vsyscall ()
#1 0xb74f36d0 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb74f5098 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb753124d in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0xb753a276 in ?? () from /lib/tls/i686/cmov/libc.so.6
#5 0xb753b9c5 in malloc () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7699284 in g_malloc () from /usr/lib/libglib-2.0.so.0
#7 0xb7ecda21 in _vte_buffer_set_minimum_size (buffer=0x8a36f00, length=23) at buffer.c:85
#8 0xb7f0413f in _vte_conv () from /home/bob/src/vte-0.20.0/src/.libs/libvte.so.9
#9 0xb7f04350 in _vte_conv_cu () from /home/bob/src/vte-0.20.0/src/.libs/libvte.so.9
#10 0xb7ecf3dc in process_block (state=0x89afd08, input=0x8a96408 "\r\n�230\214\033]0;bob@alchemy2: ~/src/gnome-terminal-2.26.0\abob@alchemy2:~/src/gnome-terminal-2.26.0$ ome-terminal-2.26.0$ ",
    block=0xbfcab420, last=0, gunichars=0x8a16a00) at iso2022.c:1184
#11 0xb7ed022a in _vte_iso2022_process (state=0x89afd08, input=0x8a96408 "\r\n�230\214\033]0;bob@alchemy2: ~/src/gnome-terminal-2.26.0\abob@alchemy2:~/src/gnome-terminal-2.26.0$ ome-terminal-2.26.0$ ",
    length=93, gunichars=0x8a16a00) at iso2022.c:1710
#12 0xb7ee513d in vte_terminal_process_incoming () from /home/bob/src/vte-0.20.0/src/.libs/libvte.so.9
#13 0xb7efd869 in time_process_incoming () from /home/bob/src/vte-0.20.0/src/.libs/libvte.so.9
#14 0xb7efda4f in process_timeout () from /home/bob/src/vte-0.20.0/src/.libs/libvte.so.9
#15 0xb76912b6 in ?? () from /usr/lib/libglib-2.0.so.0
#16 0xb7690b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#17 0xb76940eb in ?? () from /usr/lib/libglib-2.0.so.0
#18 0xb76945ba in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#19 0xb7c0f7d9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x08059e35 in main (argc=Cannot access memory at address 0x1e
) at terminal.c:486

Changed in vte (Ubuntu):
status: Confirmed → In Progress
Changed in vte:
status: Unknown → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

the bug has been fixed to GNOME git

Changed in vte (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Sebastien Bacher (seb128) wrote :

unsubscribing the sponsors that will go in the next karmic update

Changed in vte:
status: Confirmed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package vte - 1:0.20.5-1ubuntu1

---------------
vte (1:0.20.5-1ubuntu1) karmic; urgency=low

  * Merge from debian unstable (LP: #388046), remaining changes:
    - debian/control{.in}:
      + Build-depend on python-all-dbg.
      + Build-depend on libgtk-directfb-2.0-0 2.15.4-0ubuntu4, to
        correct a wrong dependency in libvte9-udeb.
      + Add Vcs-Bzr info.
      + Add python-vte-dbg package.
    - debian/python-vte.install:
      + Make it build against python 2.6 new FS layout
    - debian/rules:
      + Build a python-vte-dbg package.
      + Clean .a and .la files from package to keep .install file easy
        to read.
    - debian/patches/91_keep_fds.patch:
      + Keep file descriptors open on vte_fork_pty().
    - debian/patches/93_add_alt_screen_scroll_toggle.patch:
      + Handle scrolling differently when using alternate screen
        or scrolling is restricted.
  * Closes LP: #314826 and LP: #369440.

vte (1:0.20.5-1) unstable; urgency=low

  * New upstream bugfix release, undoing the unintended
    soname bump (Closes: #532552):
    + debian/control.in,
      debian/*.install:
      - Undo package rename.
    + debian/patches/90_autoreconf.patch:
      - Updated for the new version.

vte (1:0.20.4-1) unstable; urgency=low

  [ Josselin Mouette ]
  * Add libglib2.0-doc, libgtk2.0-doc and libatk1.0-doc to b-d-i to
    ensure proper xrefs.
  * 01_bashisms.patch: fix bashims in provided scripts. Closes: #530123.

  [ Sebastian Dröge ]
  * New upstream bugfix releases:
    + debian/rules:
      - Update shlibs version to >= 0.20.4 for API additions.
    + debian/control.in,
      debian/*.install:
      - Update for the new soname.
    + debian/patches/90_autoreconf.patch:
      - Regenerated for the new version.

 -- Chris Coulson <email address hidden> Tue, 16 Jun 2009 19:47:00 +0100

Changed in vte (Ubuntu):
status: Fix Committed → Fix Released
Changed in vte:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.