Odd segfault during Squid-2.6.16 compilation on CURRENT

From: Thomas-Martin Seck <tmseck-lists_at_netcologne.de>
Date: Mon, 10 Sep 2007 19:22:22 +0200
[x-post to freebsd-current_at_ and freebsd-ports_at_, replies should probably
go to freebsd-current only since I only observe this issue on 7-CURRENT]

All,

I am currently struggling with an odd issue that keeps me (or rather
miwi_at_) from updating www/squid to 2.6.16:

During the compilation process, Squid uses a helper application cf_gen
to build the default squid.conf file from a template file, cf.data.

On CURRENT, cf_gen segfaults when processing said file while it works
just fine on 6.2-STABLE and 5.5-STABLE. Compiling Squid with gcc 4.2.1
(installed via the package available on ftp.freebsd.org) on 6.2-STABLE
works, too. According to miwi, compiling Squid with gcc 3.4 on CURRENT
does not fix the issue (is this correct, Martin?).

So it seems that this segfault occurs only on CURRENT and even with
CFLAGS="-O0 -g" set and is maybe not dependent on the compiler being
used.

There is no malloc.conf link and MALLOC_OPTIONS are unset. Kernel is a
stripped down GENERIC. This problem occurs on my i386 box and on miwi's
ports tinderbox (amd64 as well as i386). My CURRENT installation is
"FreeBSD 7.0-CURRENT #84: Thu Aug 30 16:48:08 CEST 2007".

Trying to debug this gives the following:

gnu GDB 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
Core was generated by `cf_gen'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x281521d6 in strcmp () from /lib/libc.so.7
(gdb) bt
#0  0x281521d6 in strcmp () from /lib/libc.so.7
#1  0x08048db4 in checkDepend (directive=0x282058c0 "external_acl_type", 
    name=0xbfbfe12e "externalAclHelper", types=0x282025e0, entries=0x28207730)
    at cf_gen.c:133
#2  0x08049534 in main (argc=3, argv=0xbfbfe5e4) at cf_gen.c:284
(gdb) up
#1  0x08048db4 in checkDepend (directive=0x282058c0 "external_acl_type", 
    name=0xbfbfe12e "externalAclHelper", types=0x282025e0, entries=0x28207730)
    at cf_gen.c:133
133			if (strcmp(entry->name, dep->name) == 0)
(gdb) p *entry
$1 = {name = 0x282069f0 "comment", alias = 0x0, type = 0x0, 
  loc = 0x282069f8 "none", default_value = 0x0, default_if_none = 0x0, 
  comment = 0x0, ifdef = 0x0, doc = 0x28206a00, nocomment = 0x0, 
  array_flag = 0, next = 0x28207700}
(gdb) p *dep
$2 = {name = 0x22a02270 <Address 0x22a02270 out of bounds>, next = 0x235022d0}
(gdb) quit

Does this sound familiar to anyone?
Received on Mon Sep 10 2007 - 15:51:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:17 UTC