[Mono-dev] xbuild - ** ERROR **: shm_semaphores_init: semget error: No space left on device.

Arne Claassen arnec at mindtouch.com
Fri Nov 12 13:06:22 EST 2010


I can try that. But more importantly, I'd like to learn more about  
about semaphore usage.

I'm just wildly speculating, but i assume it sets up a new one for IPC  
when an application gets compiled into a new appdomain by ASP.NET when  
it detects code changes. But shouldn't those semaphores get released  
when the old appdomain gets unloaded? Is this a sign of appdomains not  
being unloaded or just not cleaning up their semaphores? And shouldn't  
they all get released regardless when the mod_mono processes gets shut  
down?

Would love to get more insight into what's happening, but don't really  
know where to start.

thanks,
Arne Claassen

MindTouch
San Diego, CA
http://twitter.com/sdether

On Nov 12, 2010, at 4:02 AM, Rafael Teixeira wrote:

> Have you tried to set MONO_DISABLE_SHM? From the top of my mind there
> is where a huge use of semaphores are used to simulate the shared
> memory files used for cross-process, but I may be mixing things. If
> you're using it you can try to disable it, and see if things gets
> better.
>
> Just my two cents,
> Rafael "Monoman" Teixeira
> ---------------------------------------
> "We live in a world operated by science and technology. We have also
> arranged things so that almost no one understands science and
> technology. This is a prescription for disaster. We might get away
> with it for a while, but sooner or later this combustible mixture of
> ignorance and power is going to blow up in our faces."
> -Carl Sagan
>
>
> On Fri, Nov 12, 2010 at 4:53 AM, Arne Claassen <arnec at mindtouch.com>  
> wrote:
>>
>> I'm running mono 2.6.7 (novell rpms) on centos 5.5 w/ mod_mono and
>> I've twice run into xbuild stopping to work with this error:
>>
>> ** ERROR **: shm_semaphores_init: semget error: No space left on  
>> device.
>>
>> I don't have the full error right now, since i rebooted the machine
>> again and didn't capture it first. But it talks about either removing
>> semaphores using ipcrm and ipcs or increasing the max semaphores
>>
>> After restart, ipcs has no Semaphore Arrays, but after i hit my
>> various asp.net apps, that output quickly goes up:
>>
>>
>> ------ Shared Memory Segments --------
>> key        shmid      owner      perms      bytes      nattch      
>> status
>> 0x0101400b 327680     root       600        52828      45
>> 0x01014069 360449     root       600        52828      26
>> 0x740102df 131074     root       600        4          0
>> 0x010140af 393219     root       600        52828      26
>> 0x010140b1 425988     root       600        52828      26
>>
>> ------ Semaphore Arrays --------
>> key        semid      owner      perms      nsems
>> 0x00000000 0          root       600        1
>> 0x00000000 65537      apache     600        1
>> 0x00000000 98306      apache     600        1
>> 0x00000000 131075     apache     600        1
>> 0x00000000 163844     apache     600        1
>> 0x00000000 196613     apache     600        1
>> ....
>> etc.
>>
>> When the error occured, that list of arrays was about 100 long.
>> restarting apache, mod_mono, etc didn't help. Killing off semaphores
>> using ipcrm seemed to get xbuild working again, but the asp.net apps
>> then only returned blank pages. Finally I rebooted again.
>>
>> Not knowing what those semaphores are and what makes them increase,
>> leaves me a bit worried. Do i just need more semphores (and how do i
>> do that) or is xbuild just creating them and never cleaning them up?
>> Any help understanding what this means and how to either prevent or  
>> at
>> least clean it up would be greatly appreciated.
>>
>> cheers,
>> Arne Claassen
>>
>> MindTouch
>> San Diego, CA
>> http://twitter.com/sdether
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list