NetBSD Problem Report #44344

From dholland@macaran.localdomain  Sat Jan  8 02:54:42 2011
Return-Path: <dholland@macaran.localdomain>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 733EC63B89A
	for <gnats-bugs@gnats.NetBSD.org>; Sat,  8 Jan 2011 02:54:42 +0000 (UTC)
Message-Id: <20110108025525.554026E1BC@macaran.localdomain>
Date: Fri,  7 Jan 2011 21:55:25 -0500 (EST)
From: dholland@eecs.harvard.edu
Reply-To: dholland@eecs.harvard.edu
To: gnats-bugs@gnats.NetBSD.org
Subject: xterm SIGSEGV in utf-8 mode
X-Send-Pr-Version: 3.95

>Number:         44344
>Category:       xsrc
>Synopsis:       xterm SIGSEGV in utf-8 mode
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    xsrc-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 08 02:55:00 +0000 2011
>Closed-Date:    Wed Mar 16 06:59:51 +0000 2011
>Last-Modified:  Wed Mar 16 06:59:51 +0000 2011
>Originator:     David A. Holland
>Release:        NetBSD 5.99.41 (20101130)
>Organization:
>Environment:
System: NetBSD macaran 5.99.41 NetBSD 5.99.41 (MACARAN) #3: Tue Nov 30 21:52:01 EST 2010 dholland@macaran:/usr/src/sys/arch/amd64/compile/MACARAN amd64
Architecture: x86_64
Machine: amd64
>Description:

When utf-8 mode is enabled, xterm dumps core on a fairly regular basis.

>How-To-Repeat:

Start xterm, turn on utf-8 mode with ctrl-rightbutton or resources, do
"find /usr/pkgsrc" or something else that generates a lot of output,
watch it core.

 #0  0x00007f7ff989982e in _malloc_prefork () from /usr/lib/libc.so.12
 #1  0x00007f7ff9899ac3 in free () from /usr/lib/libc.so.12
 #2  0x000000000042a945 in addScrollback ()
 #3  0x0000000000427017 in saveEditBufLines ()
 #4  0x0000000000429370 in ScrnDeleteLine ()
 #5  0x000000000043054a in xtermScroll ()

(That's not really _malloc_prefork, it's something gdb doesn't have
symbols for. AFAICT this is a garden-variety malloc crash arising from
corrupting the arena.)

You may need the resource setting
   XTerm*savelines: 1000
or the equivalent commandline option to see the same behavior I do.

It seems that if you set
   XTerm*combiningChars: 4
which changes the allocation behavior for the scroll buffer, it hangs
instead of crashing. I haven't yet gone to see where.

>Fix:

Dunno.

>Release-Note:

>Audit-Trail:
From: "matthew green" <mrg@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/44344 CVS commit: xsrc/external/mit/xterm/dist
Date: Wed, 23 Feb 2011 09:12:53 +0000

 Module Name:	xsrc
 Committed By:	mrg
 Date:		Wed Feb 23 09:12:53 UTC 2011

 Update of /cvsroot/xsrc/external/mit/xterm/dist
 In directory ivanova.netbsd.org:/tmp/cvs-serv6048

 Log Message:
 initial import of xterm 269:
 - fixes/updates for fullscreen mode
 - add "omitTranslation" resource
 - removes some old defaults
 - random bug fixes
 - fixes for reverse mode
 - fix for utf-8 problem, also our PR/44344

 Status:

 Vendor Tag:	xorg
 Release Tags:	xterm-269

 U xsrc/external/mit/xterm/dist/xterm.desktop
 U xsrc/external/mit/xterm/dist/minstall.sh
 U xsrc/external/mit/xterm/dist/charsets.c
 U xsrc/external/mit/xterm/dist/wcwidth.h
 U xsrc/external/mit/xterm/dist/trace.c
 U xsrc/external/mit/xterm/dist/VTparse.def
 U xsrc/external/mit/xterm/dist/THANKS
 U xsrc/external/mit/xterm/dist/Tekproc.c
 U xsrc/external/mit/xterm/dist/doublechr.c
 U xsrc/external/mit/xterm/dist/MANIFEST
 U xsrc/external/mit/xterm/dist/ctlseqs.ms
 U xsrc/external/mit/xterm/dist/fontutils.c
 U xsrc/external/mit/xterm/dist/resize.c
 U xsrc/external/mit/xterm/dist/cursor.c
 U xsrc/external/mit/xterm/dist/data.c
 U xsrc/external/mit/xterm/dist/xstrings.c
 U xsrc/external/mit/xterm/dist/README
 U xsrc/external/mit/xterm/dist/koi8rxterm.man
 U xsrc/external/mit/xterm/dist/88colres.h
 U xsrc/external/mit/xterm/dist/fontutils.h
 U xsrc/external/mit/xterm/dist/data.h
 U xsrc/external/mit/xterm/dist/UXTerm.ad
 U xsrc/external/mit/xterm/dist/VTparse.h
 U xsrc/external/mit/xterm/dist/INSTALL
 U xsrc/external/mit/xterm/dist/uxterm.desktop
 U xsrc/external/mit/xterm/dist/XTerm-col.ad
 U xsrc/external/mit/xterm/dist/xutf8.h
 U xsrc/external/mit/xterm/dist/uxterm.man
 U xsrc/external/mit/xterm/dist/xtermcap.h
 U xsrc/external/mit/xterm/dist/Tekparse.def
 U xsrc/external/mit/xterm/dist/VTPrsTbl.c
 C xsrc/external/mit/xterm/dist/XTerm.ad
 U xsrc/external/mit/xterm/dist/precompose.h
 U xsrc/external/mit/xterm/dist/KOI8RXTerm.ad
 U xsrc/external/mit/xterm/dist/testxmc.c
 U xsrc/external/mit/xterm/dist/README.i18n
 U xsrc/external/mit/xterm/dist/scrollback.c
 U xsrc/external/mit/xterm/dist/version.h
 U xsrc/external/mit/xterm/dist/xcharmouse.h
 U xsrc/external/mit/xterm/dist/keysym2ucs.h
 U xsrc/external/mit/xterm/dist/configure
 U xsrc/external/mit/xterm/dist/print.c
 U xsrc/external/mit/xterm/dist/256colres.pl
 U xsrc/external/mit/xterm/dist/charproc.c
 U xsrc/external/mit/xterm/dist/wcwidth.c
 U xsrc/external/mit/xterm/dist/input.c
 U xsrc/external/mit/xterm/dist/resize.man
 U xsrc/external/mit/xterm/dist/plink.sh
 U xsrc/external/mit/xterm/dist/README.os390
 U xsrc/external/mit/xterm/dist/vms.h
 U xsrc/external/mit/xterm/dist/run-tic.sh
 U xsrc/external/mit/xterm/dist/trace.h
 U xsrc/external/mit/xterm/dist/xterm.h
 U xsrc/external/mit/xterm/dist/xterm.log.html
 U xsrc/external/mit/xterm/dist/charclass.c
 U xsrc/external/mit/xterm/dist/256colres.h
 U xsrc/external/mit/xterm/dist/Tests
 U xsrc/external/mit/xterm/dist/AAA_README_VMS.txt
 U xsrc/external/mit/xterm/dist/config.guess
 U xsrc/external/mit/xterm/dist/termcap
 U xsrc/external/mit/xterm/dist/xterm_axp.opt
 U xsrc/external/mit/xterm/dist/Imakefile
 U xsrc/external/mit/xterm/dist/uxterm
 U xsrc/external/mit/xterm/dist/util.c
 U xsrc/external/mit/xterm/dist/keysym2ucs.c
 U xsrc/external/mit/xterm/dist/main.h
 U xsrc/external/mit/xterm/dist/Makefile.in
 U xsrc/external/mit/xterm/dist/link_axp.com
 U xsrc/external/mit/xterm/dist/menu.h
 C xsrc/external/mit/xterm/dist/ptyx.h
 U xsrc/external/mit/xterm/dist/proto.h
 U xsrc/external/mit/xterm/dist/xstrings.h
 U xsrc/external/mit/xterm/dist/os2main.c
 U xsrc/external/mit/xterm/dist/xtermcfg.hin
 U xsrc/external/mit/xterm/dist/vms.c
 U xsrc/external/mit/xterm/dist/make.com
 U xsrc/external/mit/xterm/dist/88colres.pl
 U xsrc/external/mit/xterm/dist/config.sub
 U xsrc/external/mit/xterm/dist/xtermcap.c
 U xsrc/external/mit/xterm/dist/aclocal.m4
 C xsrc/external/mit/xterm/dist/linedata.c
 U xsrc/external/mit/xterm/dist/koi8rxterm
 U xsrc/external/mit/xterm/dist/install-sh
 U xsrc/external/mit/xterm/dist/terminfo
 U xsrc/external/mit/xterm/dist/ctlseqs.txt
 U xsrc/external/mit/xterm/dist/scrollbar.c
 C xsrc/external/mit/xterm/dist/xterm.man
 U xsrc/external/mit/xterm/dist/xutf8.c
 U xsrc/external/mit/xterm/dist/xterm_io.h
 U xsrc/external/mit/xterm/dist/tabs.c
 U xsrc/external/mit/xterm/dist/gen-pc-fkeys.pl
 U xsrc/external/mit/xterm/dist/cachedGCs.c
 U xsrc/external/mit/xterm/dist/screen.c
 U xsrc/external/mit/xterm/dist/TekPrsTbl.c
 C xsrc/external/mit/xterm/dist/misc.c
 U xsrc/external/mit/xterm/dist/configure.in
 U xsrc/external/mit/xterm/dist/menu.c
 U xsrc/external/mit/xterm/dist/main.c
 U xsrc/external/mit/xterm/dist/charclass.h
 U xsrc/external/mit/xterm/dist/xterm.dat
 U xsrc/external/mit/xterm/dist/precompose.c
 U xsrc/external/mit/xterm/dist/Tekparse.h
 U xsrc/external/mit/xterm/dist/ptydata.c
 U xsrc/external/mit/xterm/dist/button.c
 U xsrc/external/mit/xterm/dist/error.h
 U xsrc/external/mit/xterm/dist/sinstall.sh
 U xsrc/external/mit/xterm/dist/icons/xterm-color_48x48.xcf
 U xsrc/external/mit/xterm/dist/icons/xterm_48x48.xcf
 U xsrc/external/mit/xterm/dist/icons/xterm-color_32x32.xpm
 U xsrc/external/mit/xterm/dist/icons/xterm-color_32x32.xcf
 U xsrc/external/mit/xterm/dist/icons/xterm_48x48.xpm
 U xsrc/external/mit/xterm/dist/icons/xterm_32x32.xcf
 U xsrc/external/mit/xterm/dist/icons/xterm_32x32.xpm
 U xsrc/external/mit/xterm/dist/icons/xterm-color_48x48.xpm
 U xsrc/external/mit/xterm/dist/unicode/make-precompose.sh
 U xsrc/external/mit/xterm/dist/unicode/README
 U xsrc/external/mit/xterm/dist/unicode/precompose.c.tail
 U xsrc/external/mit/xterm/dist/unicode/keysym.map
 U xsrc/external/mit/xterm/dist/unicode/precompose.c.head
 U xsrc/external/mit/xterm/dist/unicode/convmap.pl
 U xsrc/external/mit/xterm/dist/package/xterm.spec
 U xsrc/external/mit/xterm/dist/package/debian/color.sed
 U xsrc/external/mit/xterm/dist/package/debian/compat
 U xsrc/external/mit/xterm/dist/package/debian/rules
 U xsrc/external/mit/xterm/dist/package/debian/control
 U xsrc/external/mit/xterm/dist/package/debian/xterm-xres.sed
 U xsrc/external/mit/xterm/dist/package/debian/copyright
 U xsrc/external/mit/xterm/dist/package/debian/watch
 U xsrc/external/mit/xterm/dist/package/debian/changelog
 U xsrc/external/mit/xterm/dist/package/debian/xterm-dev.docs
 U xsrc/external/mit/xterm/dist/package/debian/source/format
 U xsrc/external/mit/xterm/dist/tektests/imtest.tek
 U xsrc/external/mit/xterm/dist/tektests/ocpred.tek
 U xsrc/external/mit/xterm/dist/tektests/dmerc.tek
 U xsrc/external/mit/xterm/dist/tektests/fotest.tek
 U xsrc/external/mit/xterm/dist/tektests/imtesth.tek
 U xsrc/external/mit/xterm/dist/tektests/usmap.tek
 U xsrc/external/mit/xterm/dist/tektests/aitest.tek
 U xsrc/external/mit/xterm/dist/vttests/256colors2.pl
 U xsrc/external/mit/xterm/dist/vttests/88colors2.pl
 U xsrc/external/mit/xterm/dist/vttests/title.sh
 U xsrc/external/mit/xterm/dist/vttests/tcapquery.pl
 U xsrc/external/mit/xterm/dist/vttests/resize.pl
 U xsrc/external/mit/xterm/dist/vttests/8colors.sh
 U xsrc/external/mit/xterm/dist/vttests/fonts.sh
 U xsrc/external/mit/xterm/dist/vttests/acolors.sh
 U xsrc/external/mit/xterm/dist/vttests/doublechars.sh
 U xsrc/external/mit/xterm/dist/vttests/paste64.pl
 U xsrc/external/mit/xterm/dist/vttests/query-fonts.pl
 U xsrc/external/mit/xterm/dist/vttests/16colors.sh
 U xsrc/external/mit/xterm/dist/vttests/88colors.pl
 U xsrc/external/mit/xterm/dist/vttests/resize.sh
 U xsrc/external/mit/xterm/dist/vttests/dynamic2.sh
 U xsrc/external/mit/xterm/dist/vttests/dynamic.sh
 U xsrc/external/mit/xterm/dist/vttests/256colors.pl

 5 conflicts created by this import.
 Use the following command to help the merge:

 	cvs checkout -jxorg:yesterday -jxorg xsrc/external/mit/xterm/dist

State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Wed, 16 Mar 2011 06:59:51 +0000
State-Changed-Why:
Fixed.
(sorry I never got around to linking the upstream fix)


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.