Subject: exmh/Tcl core dumps
To: None <port-sparc@NetBSD.ORG>
From: Greg Earle <earle@isolar.DynDNS.ORG>
List: port-sparc
Date: 09/22/1999 13:00:22
[This probably only belongs in netbsd-help, but I don't have another platform
 to test on and see if it's a platform-independant problem.]

Anyone using exmh as their mail reader?

With an absolutely stock NetBSD/SPARC 1.4.1 system, and using the exmh 2.0.2
and Tcl 8.05 and Tk 8.05 pkgs from the 1.4.1 pkg distribution, I get core
dumps from exmh (well, really from Tcl) whenever I try to do a "Save" on
exmh's Preferences or whenever I try and display HTML messages in e-mails.

I rebuilt Tcl 8.05 and Tk 8.05 with "-g" (man, that was a bitch.  It would be
nice if "make CFLAGS=-g" or something worked when building packages.  For
some reason, the pkg setup always seems to choose "-O" as the compiler flags
rather than "-g -O").  The core dump I get when I try to do a "Save" of the
Preferences is

[12:27] isolar:~ % !gdb
gdb /usr/pkg/bin/wish8.0 wish8.0.core
GNU gdb 4.17
[...]
This GDB was configured as "sparc--netbsd"...
Core was generated by `wish8.0'.
Program terminated with signal 11, Segmentation fault.
Couldn't read input and local registers from core file
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/pkg/lib/libtk80.so.1.0...done.
Reading symbols from /usr/pkg/lib/libtcl80.so.1.0...done.
Reading symbols from /usr/X11R6/lib/libX11.so.6.1...done.
Reading symbols from /usr/lib/libm.so.0.1...done.
Reading symbols from /usr/lib/libc.so.12.40...done.
Couldn't read input and local registers from core file
#0  CompilePrimaryExpr (interp=???, infoPtr=???, flags=???, envPtr=???)
    at ./../generic/tclCompExpr.c:1587
1587        int result = TCL_OK;

The core dump from trying to display HTML is

[12:31] isolar:~ % gdb /usr/pkg/bin/wish8.0 wish8.0.core
GNU gdb 4.17
[...]
This GDB was configured as "sparc--netbsd"...
Core was generated by `wish8.0'.
Program terminated with signal 11, Segmentation fault.
Couldn't read input and local registers from core file
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/pkg/lib/libtk80.so.1.0...done.
Reading symbols from /usr/pkg/lib/libtcl80.so.1.0...done.
Reading symbols from /usr/X11R6/lib/libX11.so.6.1...done.
Reading symbols from /usr/lib/libm.so.0.1...done.
Reading symbols from /usr/lib/libc.so.12.40...done.
Couldn't read input and local registers from core file
#0  0x101a6e00 in Tcl_DStringInit (dsPtr=???) at ./../generic/tclUtil.c:2047
2044    void
2045    Tcl_DStringInit(dsPtr)
2046        Tcl_DString *dsPtr;         /* Pointer to structure for dynamic stri
ng. */
2047    {
2048        dsPtr->string = dsPtr->staticSpace;

Extra credit: does "Couldn't read input and local registers from core file"
mean what I'm afraid it means?  Why can't it get the values of the variables
from the core dump?  Needless to say that makes debugging rather difficult ...

Thanks,

	- Greg