Hello,
Thank you for the patch. Unfortunately, the mktable.c won't
immediately compile on my machine with that patch; compiler
ouput below.
Since I sent my first message, I've been getting a debugging
environment set up on this machine; I'd just gotten ddd
working when your message came in. At the segfault, my
stack trace shows:
#7 0x10f88 in main (argc=3, argv=0xebffecd4) at mktable.c:43
#6 0x11cc4 in Strnew_charp (p=0xebffedea "tagtable.tab") at Str.c:56
#5 0x13ca0 in GC_malloc (lb=12) at malloc.c:212
#4 0x13b84 in GC_generic_malloc (lb=12, k=1) at malloc.c:129
#3 0x13a18 in GC_generic_malloc_inner (lb=12, k=1) at malloc.c:61
#2 0x17950 in GC_init_inner () at misc.c:437
#1 0x17de0 in GC_init_linux_data_start () at os_dep.c:155
#0 0x17f4c in GC_find_limit (p=0x2ded8 "", up=0) at os_dep.c:581
It stops in in os_dep.c within GC_find_limit
GC_setup_temporary_fault_handler();
if (setjmp(GC_jmp_buf) == 0) {
result = (ptr_t)(((word)(p))
& ~(MIN_PAGE_SIZE-1));
for (;;) {
if (up) {
result += MIN_PAGE_SIZE;
} else {
result -= MIN_PAGE_SIZE;
}
here ==> GC_noop1((word)(*result));
}
}
The value of result had grown to 0x2cf00, and dereferencing that
address appears to have been what caused the segfault.
I'll think some more later today about what this means; I have
to set it aside for a few hours.
Attempt to apply your patch follows:
[bob@mercury w3m]$ patch <mktabpatch
patching file `mktable.c'
patching file `w3mhelperpanel.c'
[bob@mercury w3m]$ rm tagtable.c
[bob@mercury w3m]$ make
make -f XXMakefile
make[1]: Entering directory `/home/bob/w3m'
gcc -g -I./gc -I/usr/local/ssl/include/openssl -I/usr/local/ssl/include -I. -c mktable.c -o mktable.o
mktable.c:43: parse error before `*'
mktable.c: In function `real_main':
mktable.c:44: number of arguments doesn't match prototype
mktable.c:29: prototype declaration
mktable.c:53: `argc' undeclared (first use in this function)
mktable.c:53: (Each undeclared identifier is reported only once
mktable.c:53: for each function it appears in.)
mktable.c:54: `argv' undeclared (first use in this function)
make[1]: *** [mktable.o] Error 1
make[1]: Leaving directory `/home/bob/w3m'
make: *** [all] Error 2
Best regards,
--Bob Drzyzgula
On Mon, Feb 07, 2000 at 01:13:34AM +0900, Fumitoshi UKAI wrote:
> At Sat, 5 Feb 2000 21:36:51 -0500,
> Bob Drzyzgula <bob@drzyzgula.org> wrote:
>
> > Hi. I am attempting to compile w3m 0.1.6, in "monster version"
> > configuration, with OpenSSL 0.9.4, on a SPARCserver 20 (4x90MHz
> > HyperSPARC) running Red Hat Linux 6.1 (kernel 2.2.12, glibc 2.1.2).
> >
> > The problem I am having is that mktable (called as "./mktable 100
> > tagtable.tab" by the make) segfaults and dumps core.
> >
> > This message is just a quick note to ask if this is a known problem.
> > If not, I will investigate further myself.
>
> How about the following patch?
>
> Index: mktable.c
> ===================================================================
> RCS file: /var/cvs/debian/w3m/mktable.c,v
> retrieving revision 1.1.1.2
> diff -u -r1.1.1.2 mktable.c
> --- mktable.c 2000/01/05 15:09:44 1.1.1.2
> +++ mktable.c 2000/02/06 15:56:32
> @@ -16,8 +16,31 @@
This archive was generated by hypermail 2b29 : Wed Jul 19 2000 - 10:30:43 CDT