Subject: pkg/22113: mutt needs GNU libiconv for now (and Citrus iconv needs fixing somehow)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <gcw@primenet.com.au>
List: netbsd-bugs
Date: 07/10/2003 15:56:40
>Number:         22113
>Category:       pkg
>Synopsis:       mutt with Citrus iconv has problems
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jul 10 05:57:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Geoff C. Wing
>Release:        NetBSD 1.6U (2003/07/09)
>Organization:
Geoff Wing : <gcw@pobox.com>
Rxvt Stuff : <gcw@rxvt.org>
Zsh Stuff  : <gcw@zsh.org>
>Environment:
System: NetBSD g.primenet.com.au 1.6U NetBSD 1.6U (G) #0: Mon Jul 7 12:28:48 EST 2003 gcw@g.primenet.com.au:/usr/netbsd/src/sys/arch/i386/compile/G i386
Architecture: i386
Machine: i386
>Description:
	mutt coredumps on me with our iconv but is fine with GNU libiconv.
	This only occurs with specific messages (I haven't isolated which
	message yet - this year's spam mailbox is > 120MB)

	Backtrace wasn't massively helpful to me.  Maybe it is to someone else.

Program received signal SIGSEGV, Segmentation fault.
0xbda3d9ea in strcmp () from /usr/lib/libc.so.12
(gdb) bt
#0  0xbda3d9ea in strcmp () from /usr/lib/libc.so.12
#1  0xbda09e53 in _citrus_stdenc_close () from /usr/lib/libc.so.12
#2  0xbda0a5a2 in _citrus_iconv_open () from /usr/lib/libc.so.12
#3  0xbd9f4556 in iconv_open () from /usr/lib/libc.so.12
#4  0x08093afa in dladdr ()
#5  0x08093d15 in dladdr ()
#6  0x08088dc7 in dladdr ()
#7  0x08088f7d in dladdr ()
#8  0x08089034 in dladdr ()
#9  0x0807e1f9 in dladdr ()
#10 0x0806f049 in dladdr ()
#11 0x0806f373 in dladdr ()
#12 0x08075dbb in dladdr ()
#13 0x0805c3fd in dladdr ()
#14 0x0806e8ef in dladdr ()
#15 0x0804bcf4 in free ()

	Also, libc/citrus/citrus_stdenc.c:_citrus_stdenc_close() has
	parameter "ce" but there's a _DIAGASSERT(ci != NULL) in there;
	Similarly, _citrus_stdenc_open() has "rce" but "rcc" is checked.
	Presumably, actually trying to build a DIAGNOSTIC libc will
	spew out these and any others.

>How-To-Repeat:
	not sure yet.  May be a specifically crafted message or just a
	whole lot of messages which needed conversion which triggered
	it.
	
>Fix:
Patch for pkgsrc/mail/mutt/Makefile:
--- Makefile.org	2003-03-31 16:05:44.000000000 +1000
+++ Makefile	2003-07-10 15:43:50.000000000 +1000
@@ -19,6 +19,7 @@
 USE_PKGINSTALL=		yes
 GNU_CONFIGURE=		yes
 USE_PKGLOCALEDIR=	yes
+USE_GNU_ICONV=		yes
 CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR} \
 			--with-docdir=${PREFIX}/share/doc/mutt \
 			--without-included-gettext \
>Release-Note:
>Audit-Trail:
>Unformatted: