fun with announcers

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

fun with announcers

EstebanLM
Hi,

A P7 image just downloaded:

Announcer allInstances size. “31"

A P7 image after a week of work:

Announcer allInstances size. “7124"

clearly, that’s not good.
a symptom there is something leaking badly in our current development version.

cheers,
Esteban
Reply | Threaded
Open this post in threaded view
|

Re: fun with announcers

Denis Kudriashov
Hi.

Can you try with clean Calypso cache to check if it is the bad guy?
Close all browsers, evaluate "ClyNavigationEnvironment reset" and collect garbage.

2018-05-08 11:05 GMT+03:00 Esteban Lorenzano <[hidden email]>:
Hi,

A P7 image just downloaded:

Announcer allInstances size. “31"

A P7 image after a week of work:

Announcer allInstances size. “7124"

clearly, that’s not good.
a symptom there is something leaking badly in our current development version.

cheers,
Esteban

Reply | Threaded
Open this post in threaded view
|

Re: fun with announcers

Sven Van Caekenberghe-2
It brings down the number considerably, for me, but not to 30 or so, it is still about 80.

I also terminated the update process.

> On 8 May 2018, at 11:30, Denis Kudriashov <[hidden email]> wrote:
>
> Hi.
>
> Can you try with clean Calypso cache to check if it is the bad guy?
> Close all browsers, evaluate "ClyNavigationEnvironment reset" and collect garbage.
>
> 2018-05-08 11:05 GMT+03:00 Esteban Lorenzano <[hidden email]>:
> Hi,
>
> A P7 image just downloaded:
>
> Announcer allInstances size. “31"
>
> A P7 image after a week of work:
>
> Announcer allInstances size. “7124"
>
> clearly, that’s not good.
> a symptom there is something leaking badly in our current development version.
>
> cheers,
> Esteban
>


Reply | Threaded
Open this post in threaded view
|

Re: fun with announcers

Henrik-Nergaard
In reply to this post by EstebanLM
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

Reply | Threaded
Open this post in threaded view
|

Re: fun with announcers

Denis Kudriashov
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. 

2018-05-08 18:36 GMT+03:00 Henrik-Nergaard <[hidden email]>:
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