/ Zope / Apsis / Pound Mailing List / Archive / 2007 / 2007-03 / Segfault on load in Pound 2.2.6 under OpenBSD

[ << ] [ >> ]

[ pound with PCRE package and the tcmalloc (or ... ] [ Failover with sessions? / "Charlie ... ]

Segfault on load in Pound 2.2.6 under OpenBSD
Richard Wilson <Richard.Wilson(at)senokian.net>
2007-03-06 18:36:04 [ FULL ]
Afternoon all,

I'm currently trying to get Pound working on an OpenBSD machine, the
advantage of which being the stability and the failover facilities
provided by CARP. I've obtained and compiled OpenSSL with threads,
installed OpenBSD's pcre package, and I've successfully compiled using
both. However, having copied over my old pound.cfg, I run pound and get:

cynric:/usr/local/etc# pound
06/Mar/2007 15:51:13 +0000: starting...
Segmentation fault (core dumped)
cynric:/usr/local/etc#

Hmm. Doesn't tell me much. Clearly gdb is the way to go:

cynric:/usr/local/etc# gdb pound
GNU gdb 6.3
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-unknown-openbsd4.0"...
(gdb) run
Starting program: /usr/local/sbin/pound
06/Mar/2007 15:53:24 +0000: starting...

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 5338, thread 0x7e176000]
0x0887be93 in regexec (preg=0x3c03cf40, string=0xcf7d0610 "# Pound
config file. Written by Si1entDave", nmatch=4, pmatch=0x3c03d1c0, eflags=0)
    at /usr/src/lib/libc/regex/regexec.c:149
149             if (preg->re_magic != MAGIC1 || g->magic != MAGIC2)
(gdb)

At this point I remember something important... I have no idea how to
use gdb. Oops. All I can tell is it doesn't like the first line of my
config file, but I wouldn't have expected a segfault.

So, my question is, what useful things should I look for or do so that
someone can have an idea of how to help me?

Versions:
OpenSSL:   0.9.8e (From source using ./config threads)
Pound:   2.2.6 (From source)
PCRE:   6.4p1 (package from OpenBSD 4.0 stable updated today)

Pound was compiled using:
CPPFLAGS=-I/usr/local/include ./configure --with-ssl=/usr/local/ssl
The -I being to tell it where to find pcreposix.h

I think that's all I did...

So, what dumb thing did I do or not do?

Cluestick gratefully welcomed,

Dave

Re: [Pound Mailing List] Segfault on load in Pound 2.2.6 under OpenBSD
Robert Segall <roseg(at)apsis.ch>
2007-03-07 18:21:40 [ FULL ]
On Tue, 2007-03-06 at 17:36 +0000, Richard Wilson wrote:[...]

I think the first question to ask is "does is behave that way without
PCRE"? The error occurred in the regex routine, so that's where I would
start.

Try compiling Pound without PCRE (modify your Makefile and config.h
manually for it). If it works it might be that you have a mixed
environment - you use the PCRE include files but the regex from libc. Do
you see -lpcreposix in your original Makefile? Could it be that you need
-L/usr/local/lib in the link flags (if that's where you installed it)?
May there be a problem with ld.so?[...]

MailBoxer