[Zope] - Problem with pcgi on FreeBSD 2.2.8/Python 1.5.1

Steve Spicklemire steve@estel.uindy.edu
Tue, 5 Jan 1999 08:59:56 -0500 (EST)


This is really two problems. I started with ZopHTTPServer
(since I already had experience with BoboHTTPServer) and
everything worked pretty well until I started adding
users. For some reason users defined in lower folders
could not authenticate.

e.g., http://my.server:9673/folder1/folder2/manage

would bring up a dialog with the "Main" realm, and 
would not recognize users defined in folder2's acl users
folder. I thought maybe it was a problem with ZopeHTTPServer,
so I tried getting pcgi running (which I've never used
before.... so expect newbie problems....)

I tried via my browser and got 'Internal Error'... looking
at httpd-error.log I see 'malformed output'... so I tried
running Zope.cgi from the command line.... I get:

> Zope.cgi
Bad system call (core dumped)

ouch! So... I fired up gdb on pcgi-wrapper and found that
it was dying in the chunk of code where it tries to 
start the process for the first time....

/*
// pcgiStartProc: manages starting a pcgi resource.
*/
#ifdef UNIX
int pcgiStartProc(pcgiResource *r)
{

  [ lots of code deleted.....]

    /* Make sure another wrapper isn't already doing a restart */
    if ((r->lock=semget(101, 1, 0700 | IPC_CREAT | IPC_EXCL)) == -1)   <--- dies here....

  [ more code deleted .....]
}

... something line SIGSYS, bad system call. The man page doesn't say
anything about IPC_CREAT or IPC_EXCL, but the compiler didn't complain
so I'm guessing they are OK. Is it possible that 101 is not an allowed
key? Is it possile that semaphores don't work on FreeBSD? Is anyone
else running FreeBSD. Any hints on debugging this?

thanks,
-steve