[Vm-dev] [Pharo-dev] fun with announcers

Eliot Miranda eliot.miranda at gmail.com
Wed May 9 16:46:51 UTC 2018


Hi Denis, Hi All,

On Wed, May 9, 2018 at 1:35 AM, Denis Kudriashov <dionisiydk at gmail.com>
wrote:

> I checked on my few days image. And I have >2000 announcers.
> Cleaning Calypso cache does not help. And in fact after closing all
> browsers and collecting garbage the cache became empty.
>
> I found that most of subscriptions are related to rubric announcements.
>

Can you tell me whether this is an application bug or possibly a bug with
the Spur VMs weak collections?  I'd hate for this to be an undiagnosed and
unfixed VM bug.


>
> 2018-05-08 18:36 GMT+03:00 Henrik-Nergaard <draagren at outlook.com>:
>
>> Hi,
>>
>> >Announcer allInstances size. “7124"
>> Remember that GT implements a lot of Announcer subclasses so to gain a
>> better picture you should use:
>> Announcer allSubInstances size.
>>
>> >clearly, that’s not good.
>> >a symptom there is something leaking badly in our current development
>> version.
>> There has been leaking Announcements back from Pharo 5. Most of them is
>> tangled into Rubric, and some GT tools.
>> In the past many of the leaks has been from mixing weak and non weak
>> subscriptions in the same announcer, IIRC.
>>
>> Here is a script you can run.
>>
>> ===========================================================
>> | bag dct |
>>
>> bag := Bag new.
>> dct := IdentityDictionary new.
>>
>> Smalltalk garbageCollect.
>> Announcer allSubInstancesDo: [ :instance | | subs |
>>         subs := instance subscriptions subscriptions.
>>         subs do: [ :each | | cls |
>>                 cls := each announcementClass.
>>                 bag add: cls.
>>                 dct at: cls
>>                         ifPresent: [ :set | set add: each class ]
>>                         ifAbsentPut: [ IdentitySet with: each class ]
>>         ]
>> ].
>>
>> "{ bag . dct } inspect."
>>
>> "String streamContents: [ :ss |
>>         bag sortedCounts do: [ :assoc |
>>                 ss
>>                         << (assoc key asString padRightTo: 7);
>>                         << assoc value printString;
>>                         cr
>>         ]
>> ]"
>>
>> dct associations select: [ :assoc | assoc value size > 1 ]
>>
>> ===========================================================
>>
>> Best regards,
>> Henrik
>>
>>
>>
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
>>
>>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180509/09084f81/attachment.html>


More information about the Vm-dev mailing list