Nautilus leak symptom

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

Nautilus leak symptom

Ben Coman
Its been noted before there may be some leak in Nautilus.  I bumped
into a possible symptom...

1. Open fresh image (e.g. 50216)

2. Open Transcript.

3. Open *one* System Browser

4. Add instrumentation to method Nautilus >>> NautilusUI >> methodModified:
    e.g.... Transcript crShow: '>>>' , thisContext printString; tab;
show: anAnnouncement printString ; tab ; show: sourceTextModel text.

5. In same System Browser,
    add method MyPackage >>> MyClass >> test1

Observe steps (4.) and (5.) each logged a single item to Transcript.

6. Open a *second* System Browser and
    add method MyPackage >>> MyClass >> test2

Observe step (6.) logged two items to Transcript, one for each open
System Browser.

7. Close *second* System Browser.
8. In *first* System Browser, modify #test1.

Observe step (8.) logged two items to Transcript.  I would expect only one.


Is there any issue open for this? I couldn't find one.

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Nautilus leak symptom

stepharo

> Its been noted before there may be some leak in Nautilus.

Yes because probably of announcer. Thanks for reporting them.
We started to clean Nautilus and we already simplified a lot some dark
corners but there was and still
certainly a lot of places for improvements.

> I bumped
> into a possible symptom...
>
> 1. Open fresh image (e.g. 50216)
>
> 2. Open Transcript.
>
> 3. Open *one* System Browser
>
> 4. Add instrumentation to method Nautilus >>> NautilusUI >> methodModified:
>      e.g.... Transcript crShow: '>>>' , thisContext printString; tab;
> show: anAnnouncement printString ; tab ; show: sourceTextModel text.
>
> 5. In same System Browser,
>      add method MyPackage >>> MyClass >> test1
>
> Observe steps (4.) and (5.) each logged a single item to Transcript.
>
> 6. Open a *second* System Browser and
>      add method MyPackage >>> MyClass >> test2
>
> Observe step (6.) logged two items to Transcript, one for each open
> System Browser.
>
> 7. Close *second* System Browser.
> 8. In *first* System Browser, modify #test1.
>
> Observe step (8.) logged two items to Transcript.  I would expect only one.
>
>
> Is there any issue open for this? I couldn't find one.
>
> cheers -ben
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Nautilus leak symptom

Ben Coman
On Tue, Aug 11, 2015 at 3:54 AM, stepharo <[hidden email]> wrote:

>
>> Its been noted before there may be some leak in Nautilus.
>
>
> Yes because probably of announcer. Thanks for reporting them.
> We started to clean Nautilus and we already simplified a lot some dark
> corners but there was and still
> certainly a lot of places for improvements.
>
>
>> I bumped
>> into a possible symptom...
>>
>> 1. Open fresh image (e.g. 50216)
>>
>> 2. Open Transcript.
>>
>> 3. Open *one* System Browser
>>
>> 4. Add instrumentation to method Nautilus >>> NautilusUI >>
>> methodModified:
>>      e.g.... Transcript crShow: '>>>' , thisContext printString; tab;
>> show: anAnnouncement printString ; tab ; show: sourceTextModel text.
>>
>> 5. In same System Browser,
>>      add method MyPackage >>> MyClass >> test1
>>
>> Observe steps (4.) and (5.) each logged a single item to Transcript.
>>
>> 6. Open a *second* System Browser and
>>      add method MyPackage >>> MyClass >> test2
>>
>> Observe step (6.) logged two items to Transcript, one for each open
>> System Browser.
>>
>> 7. Close *second* System Browser.
>> 8. In *first* System Browser, modify #test1.
>>
>> Observe step (8.) logged two items to Transcript.  I would expect only
>> one.
>>
>>
>> Is there any issue open for this? I couldn't find one.
>>
>> cheers -ben
>>

Posts seem to be slow coming through, sorry if I double up this response.

Not sure yet if this is all that is required, but its a start...

    NautilusWindow >> delete
        | mod |
        mod := self model.
        super delete.
">>>" SystemAnnouncer uniqueInstance unsubscribe: mod.  "<<<added"
        mod
            ifNotNil: [ mod announce: (WindowClosed new window: self) ]

cheers -ben