Perl 5.8.6 to 5.8.7 upgrade fails IPC tests

Louis LeBlanc FreeBSD at keyslapper.net
Sun Jun 26 22:48:29 GMT 2005


On 06/26/05 02:32 PM, Mikko Tyljrvi sat at the `puter and typed:
> On Sun, 26 Jun 2005, Louis LeBlanc wrote:
> 
> > On 06/26/05 10:39 PM, albi at scii.nl sat at the `puter and typed:
> >> On Sun, 26 Jun 2005 15:17:06 -0400
> >> Louis LeBlanc <FreeBSD at keyslapper.net> wrote:
> >>
> >>> I'm having a little trouble with my perl upgrade from 5.8.6 to 5.8.7.
> >> -- cut --
> >>> ok 5
> >>> ok 6
> >>> semget: No space left on device
> >>
> >> you need to make disc-space, one idea is to run portsclean -C or to make
> >> some more space in /usr/home
> >
> > That would be the obvious cause, but not so:
> 
> [...]
> 
> Indeed. Disk space most likely has nothing to do with it.
> 
> The semget(2) call returns ENOSPC when unable to allocate semaphores,
> due to hitting one of the many SYSV IPC limitations. Some things to
> look for:
> 
>   - You need to have SYSVSEM in your kernel, or "sysvsem.ko" loaded.
> 
>   - Check semaphore limits with "ipcs -S"
> 
>   - Check current semaphore usage with "ipcs -s"
> 
>   - Figure out what limit is being hit and do something about it :-)
> 
>     Some of the values can be tweaked at run-time, with
>     "sysctl kern.ipc.semxxx=value", others have to be set at boot
>     time (in /boot/loader.conf), or compiled into the kernel.

This certainly does make sense, but I'm not sure I'm actually running
short here.  I have SYSVSEM in my kernel (as well as SYSVSHM and
SYSVMSG), and the relevant sysctls are:

kern.ipc.semmap: 30
kern.ipc.semmni: 10
kern.ipc.semmns: 60
kern.ipc.semmnu: 30
kern.ipc.semmsl: 60
kern.ipc.semopm: 100
kern.ipc.semume: 10
kern.ipc.semusz: 92
kern.ipc.semvmx: 32767
kern.ipc.semaem: 16384

<root># ipcs -S
seminfo:
        semmap:     30  (# of entries in semaphore map)
        semmni:     10  (# of semaphore identifiers)
        semmns:     60  (# of semaphores in system)
        semmnu:     30  (# of undo structures in system)
        semmsl:     60  (max # of semaphores per id)
        semopm:    100  (max # of operations per semop call)
        semume:     10  (max # of undo entries per process)
        semusz:     92  (size in bytes of undo structure)
        semvmx:  32767  (semaphore maximum value)
        semaem:  16384  (adjust on exit max value)

<root># ipcs -s
Semaphores:
T     ID     KEY        MODE       OWNER    GROUP
s  65536    5432001 --rw-------    pgsql    pgsql
s  65537    5432002 --rw-------    pgsql    pgsql
s  65538    5432003 --rw-------    pgsql    pgsql


Near as I can tell, this tells me I have at least 60 semaphores
systemwide, 60 per id, 3 in use, none of which are being used by root
(which is who I am running the test as).  Shouldn't that leave 57 for
the perl tests? How many does it need to open?

Lou
-- 
Louis LeBlanc                          FreeBSD-at-keyslapper-DOT-net
Fully Funded Hobbyist,                   KeySlapper Extrordinaire :)
Please send off-list email to:         leblanc at keyslapper d.t net
Key fingerprint = C5E7 4762 F071 CE3B ED51  4FB8 AF85 A2FE 80C8 D9A2

Coronation, n.:
  The ceremony of investing a sovereign with the outward and visible
  signs of his divine right to be blown skyhigh with a dynamite bomb.
    -- Ambrose Bierce, "The Devil's Dictionary"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20050626/69b19f0c/attachment.bin


More information about the freebsd-questions mailing list