httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Dumpleton" <graham.dumple...@gmail.com>
Subject Re: OS/X + Cisco VPN == trouble
Date Sat, 25 Aug 2007 04:24:22 GMT
On 25/08/07, Graham Dumpleton <graham.dumpleton@gmail.com> wrote:
> On 24/08/07, Jim Jagielski <jim@jagunet.com> wrote:
> >
> > On Aug 23, 2007, at 8:56 PM, Ian Holsman wrote:
> >
> > > Hi.
> > >
> > > This one is frustrating me to no end, and was wondering if some BSD/
> > > OSX guru can help  me out a bit.
> > >
> > > I'm using the trunk, and trying to start apache, but I keep getting
> > > a lock/sem problem
> > >
> > > [Fri Aug 24 10:51:53 2007] [emerg] (28)No space left on device:
> > > Couldn't create accept lock
> > >
> > > this only happens if I have run the VPN. when I reboot it works
> > > great (until I check into the VPN).
> > >
> > > from what I can see this error is usually caused by running out of
> > > sempahores, but ipcs doesn't show any.
> > > and to make matters worse, it only started happening about 2 weeks
> > > ago.
> > >
> > > regards
> > > Ian
> > >
> >
> > IIRC, aren't the default sems on OS X Posix sems, not SysV sems??
> > ipcs just shows SysV stats
>
> The source has:
>
>     case APR_LOCK_DEFAULT:
> #if APR_USE_FLOCK_SERIALIZE
>         new_mutex->inter_meth = &mutex_flock_methods;
> #elif APR_USE_SYSVSEM_SERIALIZE
>         new_mutex->inter_meth = &mutex_sysv_methods;
> #elif APR_USE_FCNTL_SERIALIZE
>         new_mutex->inter_meth = &mutex_fcntl_methods;
> #elif APR_USE_PROC_PTHREAD_SERIALIZE
>         new_mutex->inter_meth = &mutex_proc_pthread_methods;
> #elif APR_USE_POSIXSEM_SERIALIZE
>         new_mutex->inter_meth = &mutex_posixsem_methods;
> #else
>         return APR_ENOTIMPL;
> #endif
>
> For my MacOS X PPC system, the apr.h header file has:
>
> #define APR_USE_FLOCK_SERIALIZE           0
> #define APR_USE_SYSVSEM_SERIALIZE         1
> #define APR_USE_POSIXSEM_SERIALIZE        0
> #define APR_USE_FCNTL_SERIALIZE           0
> #define APR_USE_PROC_PTHREAD_SERIALIZE    0
> #define APR_USE_PTHREAD_SERIALIZE         1
>
> So default will always map to SYSVSEM.
>
> You need to check your apr.h header file to see what is enabled and
> would thus be used as default based on order that code checks.

Just to confirm this for my system at least, setting LogLevel to debug yields:

[Sat Jun 09 17:53:08 2007] [debug] worker.c(1715): AcceptMutex:
sysvsem (default: sysvsem)

Yet, when I run ipcs I don't see anything either.

Message Queues:
T     ID     KEY        MODE       OWNER    GROUP

Shared Memory:
T     ID     KEY        MODE       OWNER    GROUP

Semaphores:
T     ID     KEY        MODE       OWNER    GROUP

Same thing if I explicitly set AcceptMutex to sysvsem.

Must be something odd about MacOS X.

Graham

Mime
View raw message