Too many semaphores, image blocked

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Henrik Sperre Johansen
On 21.10.2011 10:42, Henrik Sperre Johansen wrote:

> On 20.10.2011 15:30, Igor Stasenko wrote:
>> 2011/10/20 Janko Mivšek<[hidden email]>:
>>> Hi guys,
>>>
>>> I'm measuring how my image is breathing through the time and what is
>>> interesting is how nr. of Semaphore instances is variating through the
>>> time. Every hour just before snapshot I report nr of instances, see
>>> last
>>> 10 hours:
>>>
>> Well, the number of semaphores tells nothing because not all of them
>> serve for sockets.
>>
>> There are 3 semaphores per socket. So, if you have 4 sockets, there
>> should be 12 external objects.
>> Of course not counting others, which is there for other purposes.
>>
>> Could you add following to report:
>>
>> Socket registry size
>> StandardFileStream registry size
>> (ExternalSemaphoreTable unprotectedExternalObjects reject: #isNil) size
> There's something wrong with startup/shutdown list, at least with my
> Pharo 1.4 image...
Both InputEventFetcher and InputEventPollingFetcher are in the lists,
going back to at least 1.3
Can't have that. Probably got there when switching InputFetcher (IE a
_long_ time ago) due to being careless with receiver of #install /
#deinstall...
InputEventPollingFetcher should be removed.

Cheers,
Henry

Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Igor Stasenko
On 21 October 2011 10:59, Henrik Sperre Johansen
<[hidden email]> wrote:

> On 21.10.2011 10:42, Henrik Sperre Johansen wrote:
>>
>> On 20.10.2011 15:30, Igor Stasenko wrote:
>>>
>>> 2011/10/20 Janko Mivšek<[hidden email]>:
>>>>
>>>> Hi guys,
>>>>
>>>> I'm measuring how my image is breathing through the time and what is
>>>> interesting is how nr. of Semaphore instances is variating through the
>>>> time. Every hour just before snapshot I report nr of instances, see last
>>>> 10 hours:
>>>>
>>> Well, the number of semaphores tells nothing because not all of them
>>> serve for sockets.
>>>
>>> There are 3 semaphores per socket. So, if you have 4 sockets, there
>>> should be 12 external objects.
>>> Of course not counting others, which is there for other purposes.
>>>
>>> Could you add following to report:
>>>
>>> Socket registry size
>>> StandardFileStream registry size
>>> (ExternalSemaphoreTable unprotectedExternalObjects reject: #isNil) size
>>
>> There's something wrong with startup/shutdown list, at least with my Pharo
>> 1.4 image...
>
> Both InputEventFetcher and InputEventPollingFetcher are in the lists, going
> back to at least 1.3
> Can't have that. Probably got there when switching InputFetcher (IE a _long_
> time ago) due to being careless with receiver of #install / #deinstall...
> InputEventPollingFetcher should be removed.

Yes.

>
> Cheers,
> Henry
>
>



--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Janko Mivšek
In reply to this post by Igor Stasenko
Hi guys,

It seems that we found the culpit, according to Igor advice I'm now
measuring more and yes, ExternalSemaphoreTable is growing by one every
snapshot, as Henrik already found out.

Few latest hourly reports:


   0 HTTPCommections
   5 Sockets
   28 Processes
   108 Semaphores
   1 Socket registry
   2 StandardFileStream registry
   49 ExternalSemaphoreTable

   0 HTTPCommections
   5 Sockets
   28 Processes
   109 Semaphores
   1 Socket registry
   2 StandardFileStream registry
   50 ExternalSemaphoreTable

   0 HTTPCommections
   5 Sockets
   28 Processes
   110 Semaphores
   1 Socket registry
   2 StandardFileStream registry
   51 ExternalSemaphoreTable

   0 HTTPCommections
   5 Sockets
   28 Processes
   111 Semaphores
   1 Socket registry
   2 StandardFileStream registry
   52 ExternalSemaphoreTable

S, Igor Stasenko piše:
> 2011/10/20 Janko Mivšek <[hidden email]>:
>> Hi guys,
>>
>> I'm measuring how my image is breathing through the time and what is
>> interesting is how nr. of Semaphore instances is variating through the
>> time. Every hour just before snapshot I report nr of instances, see last
>> 10 hours:

>> ** image state:
>>   0 HTTPCommections
>>   4 Sockets
>>   20 Processes
>>   300 Semaphores
>>
>>
> Well, the number of semaphores tells nothing because not all of them
> serve for sockets.
>
> There are 3 semaphores per socket. So, if you have 4 sockets, there
> should be 12 external objects.
> Of course not counting others, which is there for other purposes.
>
> Could you add following to report:
>
> Socket registry size
> StandardFileStream registry size
> (ExternalSemaphoreTable unprotectedExternalObjects reject: #isNil) size
>

Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Janko Mivšek
In reply to this post by Henrik Sperre Johansen
S, Henrik Sperre Johansen piše:

>> There's something wrong with startup/shutdown list, at least with my
>> Pharo 1.4 image...
> Both InputEventFetcher and InputEventPollingFetcher are in the lists,
> going back to at least 1.3
> Can't have that. Probably got there when switching InputFetcher (IE a
> _long_ time ago) due to being careless with receiver of #install /
> #deinstall...

> InputEventPollingFetcher should be removed.

Henrik, can you prepare a patch (or instructions how to remove it) so
that I'll check immediately?

Best regards
Janko


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Marcus Denker-4
In reply to this post by Henrik Sperre Johansen

On Oct 21, 2011, at 4:56 PM, Janko Mivšek wrote:

> S, Henrik Sperre Johansen piše:
>
>>> There's something wrong with startup/shutdown list, at least with my
>>> Pharo 1.4 image...
>> Both InputEventFetcher and InputEventPollingFetcher are in the lists,
>> going back to at least 1.3
>> Can't have that. Probably got there when switching InputFetcher (IE a
>> _long_ time ago) due to being careless with receiver of #install /
>> #deinstall...
>
>> InputEventPollingFetcher should be removed.
>
> Henrik, can you prepare a patch (or instructions how to remove it) so
> that I'll check immediately?


execute:

Smalltalk removeFromStartUpList: InputEventPollingFetcher.
Smalltalk removeFromShutDownList: InputEventPollingFetcher.

Or update to the latest 1.3 / 1.4...

        Marcus


--
Marcus Denker -- http://marcusdenker.de


Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Henrik Sperre Johansen
In reply to this post by Janko Mivšek


On 21. okt. 2011, at 16:56, Janko Mivšek <[hidden email]> wrote:

> S, Henrik Sperre Johansen piše:
>
>>> There's something wrong with startup/shutdown list, at least with my
>>> Pharo 1.4 image...
>> Both InputEventFetcher and InputEventPollingFetcher are in the lists,
>> going back to at least 1.3
>> Can't have that. Probably got there when switching InputFetcher (IE a
>> _long_ time ago) due to being careless with receiver of #install /
>> #deinstall...
>
>> InputEventPollingFetcher should be removed.
>
> Henrik, can you prepare a patch (or instructions how to remove it) so
> that I'll check immediately?
>
> Best regards
> Janko
>
Execute something like:
Smalltalk
    removeFromStartUpList: InputEventPollingFetcher;
    removeFromShutDownList: InputEventPollingFetcher.

In a workspace, and you should be good to go.

Cheers,
Henry
Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Janko Mivšek
In reply to this post by Marcus Denker-4
S, Marcus Denker piše:

>> Henrik, can you prepare a patch (or instructions how to remove it) so
>> that I'll check immediately?

> execute:
>
> Smalltalk removeFromStartUpList: InputEventPollingFetcher.
> Smalltalk removeFromShutDownList: InputEventPollingFetcher.

Done, now how can I safely clear the ExternalSemaphoreTable, which will
otherwise stay with currently 53 entries open?

Janko



--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Re: Too many semaphores, image blocked

Igor Stasenko
2011/10/21 Janko Mivšek <[hidden email]>:

> S, Marcus Denker piše:
>
>>> Henrik, can you prepare a patch (or instructions how to remove it) so
>>> that I'll check immediately?
>
>> execute:
>>
>> Smalltalk removeFromStartUpList: InputEventPollingFetcher.
>> Smalltalk removeFromShutDownList: InputEventPollingFetcher.
>
> Done, now how can I safely clear the ExternalSemaphoreTable, which will
> otherwise stay with currently 53 entries open?
>

this table is cleared when you rebooting the image.

> Janko
>
> --
> Janko Mivšek
> Aida/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
>
>



--
Best regards,
Igor Stasenko.

12