Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Mar 2001 17:43:32 +0100
From:      Hroi Sigurdsson <hroi@asdf.dk>
To:        Andrew Tulloch <andrew@cosa.uk-legal.net>
Cc:        stable@FreeBSD.ORG, new-httpd@apache.org
Subject:   Re: /usr/ports/apache13 & sig11
Message-ID:  <20010320174332.A31024@chewbacca.netgroup.dk>
In-Reply-To: <Pine.BSF.4.21.0103201545430.54376-100000@cosa.uk-legal.net>; from andrew@cosa.uk-legal.net on Tue, Mar 20, 2001 at 03:53:08PM %2B0000
References:  <Pine.BSF.4.21.0103201545430.54376-100000@cosa.uk-legal.net>

next in thread | previous in thread | raw e-mail | index | archive | help
CC'ed to new-httpd@apache.org. More below.

On Tue, Mar 20, 2001 at 03:53:08PM +0000, Andrew Tulloch wrote:

> I built apache from the ports updated this morning using cvsup and for
> some reason everytime I run `apachectl start` httpd Sig 11 core dumps. The
> machine itself seems to be fine apart from this having postfix/cyrus-imapd
> running fine for a few days since I built the machine. Its also hosted a
> couple of buildworlds so I don't think the ram is at fault, although I
> also tried swapping it out to be sure.
> 
> a quick gdb /usr/local/sbin/httpd httpd.core and bt gave
> (gdb) bt
> #0  0x8064287 in ap_get_local_host ()
> #1  0x80616c0 in ap_fini_vhost_config ()
> #2  0x80539a3 in ap_read_config ()
> #3  0x805b408 in main ()
> #4  0x804ea11 in _start ()
> 
> and seems to be the same for every dump.
> dmesg below..
> 
> Any help would be greatly appreciated! :)

This is most likely not a bug in FreeBSD. I've seen the exact same thing on
Linux, Apache 1.3.19:

This GDB was configured as "i686-pc-linux-gnu"...
(gdb) run -X
Starting program: /usr/pkg/apache/bin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x808d263 in ap_get_local_host (a=0x80de99c) at util.c:2051
2051	util.c: No such file or directory.
(gdb) where
#0  0x808d263 in ap_get_local_host (a=0x80de99c) at util.c:2051
#1  0x808920d in ap_fini_vhost_config (p=0x80de99c, main_s=0x80de9c4)
    at http_vhost.c:548
#2  0x8075dd9 in ap_read_config (p=0x80de99c, ptemp=0x80e29bc, 
    confname=0x80cf5c0 "conf/httpd.conf") at http_config.c:1595
#3  0x80804ec in main (argc=2, argv=0xbffffdb4) at http_main.c:4986
(gdb) print str
$1 = "slave0-1\000-\001@ìøÿ¿H*\001@\000\000\000@Ìøÿ¿Èøÿ¿à-\001@Äøÿ¿\002\000\000\000à-\001@H*\001@È0\001@(\b\000@\016\024\000"
(gdb) print sizeof(str)
$2 = 64
(gdb) disassemble 
Dump of assembler code for function ap_get_local_host:
0x808d1b4 <ap_get_local_host>:	push   %ebp
0x808d1b5 <ap_get_local_host+1>:	mov    %esp,%ebp
0x808d1b7 <ap_get_local_host+3>:	sub    $0x58,%esp
0x808d1ba <ap_get_local_host+6>:	movl   $0x0,0xffffffbc(%ebp)
0x808d1c1 <ap_get_local_host+13>:	add    $0xfffffff8,%esp
0x808d1c4 <ap_get_local_host+16>:	push   $0x3f
0x808d1c6 <ap_get_local_host+18>:	lea    0xffffffc0(%ebp),%eax
0x808d1c9 <ap_get_local_host+21>:	push   %eax
0x808d1ca <ap_get_local_host+22>:	call   0x804f678 <gethostname>
0x808d1cf <ap_get_local_host+27>:	add    $0x10,%esp
0x808d1d2 <ap_get_local_host+30>:	mov    %eax,%eax
0x808d1d4 <ap_get_local_host+32>:	test   %eax,%eax
0x808d1d6 <ap_get_local_host+34>:	
    je     0x808d220 <ap_get_local_host+108>
0x808d1d8 <ap_get_local_host+36>:	add    $0xfffffff8,%esp
0x808d1db <ap_get_local_host+39>:	mov    0x80cd590,%eax
0x808d1e0 <ap_get_local_host+44>:	push   %eax
0x808d1e1 <ap_get_local_host+45>:	push   $0x80c59a0
0x808d1e6 <ap_get_local_host+50>:	push   $0x0
0x808d1e8 <ap_get_local_host+52>:	push   $0x4
0x808d1ea <ap_get_local_host+54>:	push   $0x7f8
0x808d1ef <ap_get_local_host+59>:	push   $0x80c54fa
0x808d1f4 <ap_get_local_host+64>:	call   0x807b940 <ap_log_error>
[snip]

The line in question is 
    if (gethostname(str, sizeof(str) - 1) != 0) {

At first I thought it was a bug in glibc/linux.

A work-around is setting the ServerName directive in httpd.conf so that
ap_get_local_host() doesn't get called.

-- 
Hroi Sigurdsson                             hroi@netgroup.dk
Netgroup A/S                          http://www.netgroup.dk

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010320174332.A31024>