Date: Sun, 26 Jun 2005 18:48:25 -0400 From: Louis LeBlanc <FreeBSD@keyslapper.net> To: freebsd-questions@freebsd.org Subject: Re: Perl 5.8.6 to 5.8.7 upgrade fails IPC tests Message-ID: <20050626224825.GB970@keyslapper.net> In-Reply-To: <20050626142104.L1638@sotec.home> References: <20050626191706.GB89575@keyslapper.net> <20050626223917.3b50913b.albi@scii.nl> <20050626205620.GC89575@keyslapper.net> <20050626142104.L1638@sotec.home>
next in thread | previous in thread | raw e-mail | index | archive | help
--mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 06/26/05 02:32 PM, Mikko Tyljrvi sat at the `puter and typed: > On Sun, 26 Jun 2005, Louis LeBlanc wrote: >=20 > > On 06/26/05 10:39 PM, albi@scii.nl sat at the `puter and typed: > >> On Sun, 26 Jun 2005 15:17:06 -0400 > >> Louis LeBlanc <FreeBSD@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 ma= ke > >> some more space in /usr/home > > > > That would be the obvious cause, but not so: >=20 > [...] >=20 > Indeed. Disk space most likely has nothing to do with it. >=20 > 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: >=20 > - You need to have SYSVSEM in your kernel, or "sysvsem.ko" loaded. >=20 > - Check semaphore limits with "ipcs -S" >=20 > - Check current semaphore usage with "ipcs -s" >=20 > - Figure out what limit is being hit and do something about it :-) >=20 > Some of the values can be tweaked at run-time, with > "sysctl kern.ipc.semxxx=3Dvalue", 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 --=20 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 =3D 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" --mYCpIKhGyMATD0i+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFCvzC5r4Wi/oDI2aIRAi6xAJkBsdmxAT794Wp5PDFUhlswvjpl/gCfd8NI x6Kgr4+ljVIkma09p9Y9nKA= =pmYV -----END PGP SIGNATURE----- --mYCpIKhGyMATD0i+--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050626224825.GB970>