[update 2.0] #20236

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

[update 2.0] #20236

EstebanLM
20236
-----

Issue 6467: Remove SystemChangeNotifier 2 - All events using SystemAnnouncer
        http://code.google.com/p/pharo/issues/detail?id=6467

the beast is not dead yet... but almost :)

Reply | Threaded
Open this post in threaded view
|

Re: [update 2.0] #20236

Pavel Krivanek-3
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[hidden email]> wrote:
> 20236
> -----
>
> Issue 6467:     Remove SystemChangeNotifier 2 - All events using SystemAnnouncer
>         http://code.google.com/p/pharo/issues/detail?id=6467
>
> the beast is not dead yet... but almost :)
>

Hi Esteban,

the shrinking to the Pharo Kernel now fails with this error:

PharoKernel shrinking report
Error:
MessageNotUnderstood: receiver of "isRemoved" is nil
441 [:e |
| rep |
rep := FileStream forceNewFileNamed: 'PharoDebug.log'.
        rep nextPutAll: 'PharoKernel shrinking report';
                 cr.
        rep nextPutAll: 'Error:';
                 cr.
        rep nextPutAll: e asString;
                 cr.
        rep nextPutAll: thisContext stack size asString.
        thisContext stack copy
                withIndexDo: [:stck :i | [rep nextPutAll: i asString;
                                 space;
                                 nextPutAll: stck asString;
                                 cr]
                                ifError: []].
        rep close.
        Smalltalk exitFailure] in SmalltalkImage>>privShrinkingProcess
2 BlockClosure>>cull:
3 BlockClosure>>cull:cull:
4 [:ex | errorHandlerBlock cull: ex description cull: ex receiver] in
BlockClosure>>ifError:
5 BlockClosure>>cull:
6 [(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
7 BlockClosure>>ensure:
8 MethodContext(ContextPart)>>handleSignal:
9 MethodContext(ContextPart)>>handleSignal:
10 MessageNotUnderstood(Exception)>>signal
11 UndefinedObject(Object)>>doesNotUnderstand: #isRemoved
12 ChangesLog>>logEvent:
13 ChangesLog>>logAnnouncement:
14 MessageSend>>value:
15 MessageSend>>cull:
16 MessageSend>>cull:cull:
17 [action cull: anAnnouncement cull: announcer] in
AnnouncementSubscription>>deliver:
18 BlockClosure>>on:do:
19 BlockClosure>>on:fork:
20 AnnouncementSubscription>>deliver:
21 [subscription deliver: anAnnouncement] in
SubscriptionRegistry>>deliver:to:startingAt:
22 BlockClosure>>ifCurtailed:
23 SubscriptionRegistry>>deliver:to:startingAt:
24 SubscriptionRegistry>>deliver:to:
25 SubscriptionRegistry>>deliver:
26 SystemAnnouncer(Announcer)>>announce:
27 SystemAnnouncer>>basicAnnounce:
28 SystemAnnouncer>>announce:
29 SystemAnnouncer>>trigger:
30 SystemAnnouncer>>classRemoved:fromCategory:
31 SystemDictionary>>forgetClass:logged:
32 ClassRenameFixTest class(Class)>>removeFromSystem:
33 ClassRenameFixTest class(Class)>>removeFromSystem
34 [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
        SystemAnnouncer unsubscribe: class.
        class isTrait
                ifFalse: [(class class includesSelector: #unload)
                                ifTrue: [class removeSelector: #unload]].
        class removeFromSystem] in [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
35 OrderedCollection(Collection)>>ifEmpty:
36 [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
37 SortedCollection(OrderedCollection)>>do:
38 SystemNavigation>>removeAllButPackages:
39 [| packages |
10
                timesRepeat: [(Delay forMilliseconds: 100) wait.
                        Processor yield].
        Author fullName: 'Mr.Shrinker'.
        self privCleanMonticello.
        UIManager default: DummyUIManager new.
        UIManager default progressBarEnabled: false.
        self privCleanProcesses.
        self privCleanGlobals.
        5
                timesRepeat: [Smalltalk garbageCollect].
        MCDataStream initialize.
        Beeper instVarNamed: #default put: nil.
        Smalltalk cleanOutUndeclared.
        5
                timesRepeat: [Smalltalk garbageCollect].
        Author reset.
        KMPragmaKeymapBuilder release.
        self privShrinkUnicodeTables.
        Display newDepth: 1.
        self privCleanStartUpList.
        self privCleanShutDownList.
        Object
                subclass: #Model
                instanceVariableNames: 'dependents'
                classVariableNames: ''
                poolDictionaries: ''
                category: 'Kernel-Objects'.
        self privCleanTextConstants.
        SoundService default: nil.
        SoundService unregister: DummySoundSystem.
        ThreadSafeTranscript install.
        self privCleanUnloadMethods.
        SystemNavigation new removeAllButPackages: self kernelPackageNames.
        Smalltalk flushClassNameCache.
        3
                timesRepeat: [Smalltalk garbageCollect.
                        Symbol compactSymbolTable].
        Undeclared removeUnreferencedKeys.
        self privRecompileAll.
        self privCleanChangeSets.
        SystemEventManager allInstances
                do: [:i | i instVarNamed: #actionMap put: IdentityDictionary new].
        FileServices removeObsolete.
        DebuggerMethodMap voidMapCache.
        Object flushEvents.
        MCDataStream initialize.
        Locale classPool at: #LocaleChangeListeners put: nil.
        SmalltalkImage classPool at: #Tools put: nil.
        Behavior flushObsoleteSubclasses.
        Smalltalk flushClassNameCache.
        Smalltalk organization removeEmptyCategories.
        WeakArray restartFinalizationProcess.
        Smalltalk saveImageInNewContext] in SmalltalkImage>>privShrinkingProcess
40 BlockClosure>>on:do:
41 BlockClosure>>ifError:
42 SmalltalkImage>>privShrinkingProcess
43 [self privShrinkingProcess] in SmalltalkImage>>shrinkToKernel
44 [self value.
        Processor terminateActive] in BlockClosure>>newProcess

Reply | Threaded
Open this post in threaded view
|

Re: [update 2.0] #20236

camille teruel
Yes there is still mess in ChangesLog>>logEvent: . I'll clean up this tomorrow. By the way, does somone knows why ChangesLog only logs classes and methods deletion and nothing more?

2012/7/28 Pavel Krivanek <[hidden email]>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[hidden email]> wrote:
> 20236
> -----
>
> Issue 6467:     Remove SystemChangeNotifier 2 - All events using SystemAnnouncer
>         http://code.google.com/p/pharo/issues/detail?id=6467
>
> the beast is not dead yet... but almost :)
>

Hi Esteban,

the shrinking to the Pharo Kernel now fails with this error:

PharoKernel shrinking report
Error:
MessageNotUnderstood: receiver of "isRemoved" is nil
441 [:e |
| rep |
rep := FileStream forceNewFileNamed: 'PharoDebug.log'.
        rep nextPutAll: 'PharoKernel shrinking report';
                 cr.
        rep nextPutAll: 'Error:';
                 cr.
        rep nextPutAll: e asString;
                 cr.
        rep nextPutAll: thisContext stack size asString.
        thisContext stack copy
                withIndexDo: [:stck :i | [rep nextPutAll: i asString;
                                 space;
                                 nextPutAll: stck asString;
                                 cr]
                                ifError: []].
        rep close.
        Smalltalk exitFailure] in SmalltalkImage>>privShrinkingProcess
2 BlockClosure>>cull:
3 BlockClosure>>cull:cull:
4 [:ex | errorHandlerBlock cull: ex description cull: ex receiver] in
BlockClosure>>ifError:
5 BlockClosure>>cull:
6 [(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
7 BlockClosure>>ensure:
8 MethodContext(ContextPart)>>handleSignal:
9 MethodContext(ContextPart)>>handleSignal:
10 MessageNotUnderstood(Exception)>>signal
11 UndefinedObject(Object)>>doesNotUnderstand: #isRemoved
12 ChangesLog>>logEvent:
13 ChangesLog>>logAnnouncement:
14 MessageSend>>value:
15 MessageSend>>cull:
16 MessageSend>>cull:cull:
17 [action cull: anAnnouncement cull: announcer] in
AnnouncementSubscription>>deliver:
18 BlockClosure>>on:do:
19 BlockClosure>>on:fork:
20 AnnouncementSubscription>>deliver:
21 [subscription deliver: anAnnouncement] in
SubscriptionRegistry>>deliver:to:startingAt:
22 BlockClosure>>ifCurtailed:
23 SubscriptionRegistry>>deliver:to:startingAt:
24 SubscriptionRegistry>>deliver:to:
25 SubscriptionRegistry>>deliver:
26 SystemAnnouncer(Announcer)>>announce:
27 SystemAnnouncer>>basicAnnounce:
28 SystemAnnouncer>>announce:
29 SystemAnnouncer>>trigger:
30 SystemAnnouncer>>classRemoved:fromCategory:
31 SystemDictionary>>forgetClass:logged:
32 ClassRenameFixTest class(Class)>>removeFromSystem:
33 ClassRenameFixTest class(Class)>>removeFromSystem
34 [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
        SystemAnnouncer unsubscribe: class.
        class isTrait
                ifFalse: [(class class includesSelector: #unload)
                                ifTrue: [class removeSelector: #unload]].
        class removeFromSystem] in [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
35 OrderedCollection(Collection)>>ifEmpty:
36 [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
37 SortedCollection(OrderedCollection)>>do:
38 SystemNavigation>>removeAllButPackages:
39 [| packages |
10
                timesRepeat: [(Delay forMilliseconds: 100) wait.
                        Processor yield].
        Author fullName: 'Mr.Shrinker'.
        self privCleanMonticello.
        UIManager default: DummyUIManager new.
        UIManager default progressBarEnabled: false.
        self privCleanProcesses.
        self privCleanGlobals.
        5
                timesRepeat: [Smalltalk garbageCollect].
        MCDataStream initialize.
        Beeper instVarNamed: #default put: nil.
        Smalltalk cleanOutUndeclared.
        5
                timesRepeat: [Smalltalk garbageCollect].
        Author reset.
        KMPragmaKeymapBuilder release.
        self privShrinkUnicodeTables.
        Display newDepth: 1.
        self privCleanStartUpList.
        self privCleanShutDownList.
        Object
                subclass: #Model
                instanceVariableNames: 'dependents'
                classVariableNames: ''
                poolDictionaries: ''
                category: 'Kernel-Objects'.
        self privCleanTextConstants.
        SoundService default: nil.
        SoundService unregister: DummySoundSystem.
        ThreadSafeTranscript install.
        self privCleanUnloadMethods.
        SystemNavigation new removeAllButPackages: self kernelPackageNames.
        Smalltalk flushClassNameCache.
        3
                timesRepeat: [Smalltalk garbageCollect.
                        Symbol compactSymbolTable].
        Undeclared removeUnreferencedKeys.
        self privRecompileAll.
        self privCleanChangeSets.
        SystemEventManager allInstances
                do: [:i | i instVarNamed: #actionMap put: IdentityDictionary new].
        FileServices removeObsolete.
        DebuggerMethodMap voidMapCache.
        Object flushEvents.
        MCDataStream initialize.
        Locale classPool at: #LocaleChangeListeners put: nil.
        SmalltalkImage classPool at: #Tools put: nil.
        Behavior flushObsoleteSubclasses.
        Smalltalk flushClassNameCache.
        Smalltalk organization removeEmptyCategories.
        WeakArray restartFinalizationProcess.
        Smalltalk saveImageInNewContext] in SmalltalkImage>>privShrinkingProcess
40 BlockClosure>>on:do:
41 BlockClosure>>ifError:
42 SmalltalkImage>>privShrinkingProcess
43 [self privShrinkingProcess] in SmalltalkImage>>shrinkToKernel
44 [self value.
        Processor terminateActive] in BlockClosure>>newProcess


Reply | Threaded
Open this post in threaded view
|

Re: [update 2.0] #20236

Guillermo Polito


On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <[hidden email]> wrote:
Yes there is still mess in ChangesLog>>logEvent: . I'll clean up this tomorrow. By the way, does somone knows why ChangesLog only logs classes and methods deletion and nothing more?


But the mess is consistent :/.  If I evaluate in a workspace:

 (RemovedEvent class: SystemChangeNotifier  category: 'aCategoryName') asAnnouncement event

It yields to the event and not to nil.... So there is another problem in the shrinking maybe...
 

2012/7/28 Pavel Krivanek <[hidden email]>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[hidden email]> wrote:
> 20236
> -----
>
> Issue 6467:     Remove SystemChangeNotifier 2 - All events using SystemAnnouncer
>         http://code.google.com/p/pharo/issues/detail?id=6467
>
> the beast is not dead yet... but almost :)
>

Hi Esteban,

the shrinking to the Pharo Kernel now fails with this error:

PharoKernel shrinking report
Error:
MessageNotUnderstood: receiver of "isRemoved" is nil
441 [:e |
| rep |
rep := FileStream forceNewFileNamed: 'PharoDebug.log'.
        rep nextPutAll: 'PharoKernel shrinking report';
                 cr.
        rep nextPutAll: 'Error:';
                 cr.
        rep nextPutAll: e asString;
                 cr.
        rep nextPutAll: thisContext stack size asString.
        thisContext stack copy
                withIndexDo: [:stck :i | [rep nextPutAll: i asString;
                                 space;
                                 nextPutAll: stck asString;
                                 cr]
                                ifError: []].
        rep close.
        Smalltalk exitFailure] in SmalltalkImage>>privShrinkingProcess
2 BlockClosure>>cull:
3 BlockClosure>>cull:cull:
4 [:ex | errorHandlerBlock cull: ex description cull: ex receiver] in
BlockClosure>>ifError:
5 BlockClosure>>cull:
6 [(self tempAt: 2)
                cull: exception] in MethodContext(ContextPart)>>handleSignal:
7 BlockClosure>>ensure:
8 MethodContext(ContextPart)>>handleSignal:
9 MethodContext(ContextPart)>>handleSignal:
10 MessageNotUnderstood(Exception)>>signal
11 UndefinedObject(Object)>>doesNotUnderstand: #isRemoved
12 ChangesLog>>logEvent:
13 ChangesLog>>logAnnouncement:
14 MessageSend>>value:
15 MessageSend>>cull:
16 MessageSend>>cull:cull:
17 [action cull: anAnnouncement cull: announcer] in
AnnouncementSubscription>>deliver:
18 BlockClosure>>on:do:
19 BlockClosure>>on:fork:
20 AnnouncementSubscription>>deliver:
21 [subscription deliver: anAnnouncement] in
SubscriptionRegistry>>deliver:to:startingAt:
22 BlockClosure>>ifCurtailed:
23 SubscriptionRegistry>>deliver:to:startingAt:
24 SubscriptionRegistry>>deliver:to:
25 SubscriptionRegistry>>deliver:
26 SystemAnnouncer(Announcer)>>announce:
27 SystemAnnouncer>>basicAnnounce:
28 SystemAnnouncer>>announce:
29 SystemAnnouncer>>trigger:
30 SystemAnnouncer>>classRemoved:fromCategory:
31 SystemDictionary>>forgetClass:logged:
32 ClassRenameFixTest class(Class)>>removeFromSystem:
33 ClassRenameFixTest class(Class)>>removeFromSystem
34 [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
        SystemAnnouncer unsubscribe: class.
        class isTrait
                ifFalse: [(class class includesSelector: #unload)
                                ifTrue: [class removeSelector: #unload]].
        class removeFromSystem] in [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
35 OrderedCollection(Collection)>>ifEmpty:
36 [:className |
| class |
class := Smalltalk globals classOrTraitNamed: className.
        class allSubclasses
                ifEmpty: [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
                        SystemAnnouncer unsubscribe: class.
                        class isTrait
                                ifFalse: [(class class includesSelector: #unload)
                                                ifTrue: [class removeSelector: #unload]].
                        class removeFromSystem]] in SystemNavigation>>removeAllButPackages:
37 SortedCollection(OrderedCollection)>>do:
38 SystemNavigation>>removeAllButPackages:
39 [| packages |
10
                timesRepeat: [(Delay forMilliseconds: 100) wait.
                        Processor yield].
        Author fullName: 'Mr.Shrinker'.
        self privCleanMonticello.
        UIManager default: DummyUIManager new.
        UIManager default progressBarEnabled: false.
        self privCleanProcesses.
        self privCleanGlobals.
        5
                timesRepeat: [Smalltalk garbageCollect].
        MCDataStream initialize.
        Beeper instVarNamed: #default put: nil.
        Smalltalk cleanOutUndeclared.
        5
                timesRepeat: [Smalltalk garbageCollect].
        Author reset.
        KMPragmaKeymapBuilder release.
        self privShrinkUnicodeTables.
        Display newDepth: 1.
        self privCleanStartUpList.
        self privCleanShutDownList.
        Object
                subclass: #Model
                instanceVariableNames: 'dependents'
                classVariableNames: ''
                poolDictionaries: ''
                category: 'Kernel-Objects'.
        self privCleanTextConstants.
        SoundService default: nil.
        SoundService unregister: DummySoundSystem.
        ThreadSafeTranscript install.
        self privCleanUnloadMethods.
        SystemNavigation new removeAllButPackages: self kernelPackageNames.
        Smalltalk flushClassNameCache.
        3
                timesRepeat: [Smalltalk garbageCollect.
                        Symbol compactSymbolTable].
        Undeclared removeUnreferencedKeys.
        self privRecompileAll.
        self privCleanChangeSets.
        SystemEventManager allInstances
                do: [:i | i instVarNamed: #actionMap put: IdentityDictionary new].
        FileServices removeObsolete.
        DebuggerMethodMap voidMapCache.
        Object flushEvents.
        MCDataStream initialize.
        Locale classPool at: #LocaleChangeListeners put: nil.
        SmalltalkImage classPool at: #Tools put: nil.
        Behavior flushObsoleteSubclasses.
        Smalltalk flushClassNameCache.
        Smalltalk organization removeEmptyCategories.
        WeakArray restartFinalizationProcess.
        Smalltalk saveImageInNewContext] in SmalltalkImage>>privShrinkingProcess
40 BlockClosure>>on:do:
41 BlockClosure>>ifError:
42 SmalltalkImage>>privShrinkingProcess
43 [self privShrinkingProcess] in SmalltalkImage>>shrinkToKernel
44 [self value.
        Processor terminateActive] in BlockClosure>>newProcess



Reply | Threaded
Open this post in threaded view
|

Re: [update 2.0] #20236

Pavel Krivanek-3
Sorry, this was not an issue in the Announcements but in a wrong
automatic line break in the shrinking script. Pharo Kernel 2.0 job is
green now.

-- Pavel

On Sun, Jul 29, 2012 at 12:45 PM, Guillermo Polito
<[hidden email]> wrote:

>
>
> On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <[hidden email]>
> wrote:
>>
>> Yes there is still mess in ChangesLog>>logEvent: . I'll clean up this
>> tomorrow. By the way, does somone knows why ChangesLog only logs classes and
>> methods deletion and nothing more?
>>
>
> But the mess is consistent :/.  If I evaluate in a workspace:
>
>  (RemovedEvent class: SystemChangeNotifier  category: 'aCategoryName')
> asAnnouncement event
>
> It yields to the event and not to nil.... So there is another problem in the
> shrinking maybe...
>
>>
>>
>> 2012/7/28 Pavel Krivanek <[hidden email]>
>>>
>>> On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[hidden email]>
>>> wrote:
>>> > 20236
>>> > -----
>>> >
>>> > Issue 6467:     Remove SystemChangeNotifier 2 - All events using
>>> > SystemAnnouncer
>>> >         http://code.google.com/p/pharo/issues/detail?id=6467
>>> >
>>> > the beast is not dead yet... but almost :)
>>> >
>>>
>>> Hi Esteban,
>>>
>>> the shrinking to the Pharo Kernel now fails with this error:
>>>
>>> PharoKernel shrinking report
>>> Error:
>>> MessageNotUnderstood: receiver of "isRemoved" is nil
>>> 441 [:e |
>>> | rep |
>>> rep := FileStream forceNewFileNamed: 'PharoDebug.log'.
>>>         rep nextPutAll: 'PharoKernel shrinking report';
>>>                  cr.
>>>         rep nextPutAll: 'Error:';
>>>                  cr.
>>>         rep nextPutAll: e asString;
>>>                  cr.
>>>         rep nextPutAll: thisContext stack size asString.
>>>         thisContext stack copy
>>>                 withIndexDo: [:stck :i | [rep nextPutAll: i asString;
>>>                                  space;
>>>                                  nextPutAll: stck asString;
>>>                                  cr]
>>>                                 ifError: []].
>>>         rep close.
>>>         Smalltalk exitFailure] in SmalltalkImage>>privShrinkingProcess
>>> 2 BlockClosure>>cull:
>>> 3 BlockClosure>>cull:cull:
>>> 4 [:ex | errorHandlerBlock cull: ex description cull: ex receiver] in
>>> BlockClosure>>ifError:
>>> 5 BlockClosure>>cull:
>>> 6 [(self tempAt: 2)
>>>                 cull: exception] in
>>> MethodContext(ContextPart)>>handleSignal:
>>> 7 BlockClosure>>ensure:
>>> 8 MethodContext(ContextPart)>>handleSignal:
>>> 9 MethodContext(ContextPart)>>handleSignal:
>>> 10 MessageNotUnderstood(Exception)>>signal
>>> 11 UndefinedObject(Object)>>doesNotUnderstand: #isRemoved
>>> 12 ChangesLog>>logEvent:
>>> 13 ChangesLog>>logAnnouncement:
>>> 14 MessageSend>>value:
>>> 15 MessageSend>>cull:
>>> 16 MessageSend>>cull:cull:
>>> 17 [action cull: anAnnouncement cull: announcer] in
>>> AnnouncementSubscription>>deliver:
>>> 18 BlockClosure>>on:do:
>>> 19 BlockClosure>>on:fork:
>>> 20 AnnouncementSubscription>>deliver:
>>> 21 [subscription deliver: anAnnouncement] in
>>> SubscriptionRegistry>>deliver:to:startingAt:
>>> 22 BlockClosure>>ifCurtailed:
>>> 23 SubscriptionRegistry>>deliver:to:startingAt:
>>> 24 SubscriptionRegistry>>deliver:to:
>>> 25 SubscriptionRegistry>>deliver:
>>> 26 SystemAnnouncer(Announcer)>>announce:
>>> 27 SystemAnnouncer>>basicAnnounce:
>>> 28 SystemAnnouncer>>announce:
>>> 29 SystemAnnouncer>>trigger:
>>> 30 SystemAnnouncer>>classRemoved:fromCategory:
>>> 31 SystemDictionary>>forgetClass:logged:
>>> 32 ClassRenameFixTest class(Class)>>removeFromSystem:
>>> 33 ClassRenameFixTest class(Class)>>removeFromSystem
>>> 34 [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
>>>         SystemAnnouncer unsubscribe: class.
>>>         class isTrait
>>>                 ifFalse: [(class class includesSelector: #unload)
>>>                                 ifTrue: [class removeSelector: #unload]].
>>>         class removeFromSystem] in [:className |
>>> | class |
>>> class := Smalltalk globals classOrTraitNamed: className.
>>>         class allSubclasses
>>>                 ifEmpty: [SystemChangeNotifier uniqueInstance
>>> noMoreNotificationsFor: class.
>>>                         SystemAnnouncer unsubscribe: class.
>>>                         class isTrait
>>>                                 ifFalse: [(class class includesSelector:
>>> #unload)
>>>                                                 ifTrue: [class
>>> removeSelector: #unload]].
>>>                         class removeFromSystem]] in
>>> SystemNavigation>>removeAllButPackages:
>>> 35 OrderedCollection(Collection)>>ifEmpty:
>>> 36 [:className |
>>> | class |
>>> class := Smalltalk globals classOrTraitNamed: className.
>>>         class allSubclasses
>>>                 ifEmpty: [SystemChangeNotifier uniqueInstance
>>> noMoreNotificationsFor: class.
>>>                         SystemAnnouncer unsubscribe: class.
>>>                         class isTrait
>>>                                 ifFalse: [(class class includesSelector:
>>> #unload)
>>>                                                 ifTrue: [class
>>> removeSelector: #unload]].
>>>                         class removeFromSystem]] in
>>> SystemNavigation>>removeAllButPackages:
>>> 37 SortedCollection(OrderedCollection)>>do:
>>> 38 SystemNavigation>>removeAllButPackages:
>>> 39 [| packages |
>>> 10
>>>                 timesRepeat: [(Delay forMilliseconds: 100) wait.
>>>                         Processor yield].
>>>         Author fullName: 'Mr.Shrinker'.
>>>         self privCleanMonticello.
>>>         UIManager default: DummyUIManager new.
>>>         UIManager default progressBarEnabled: false.
>>>         self privCleanProcesses.
>>>         self privCleanGlobals.
>>>         5
>>>                 timesRepeat: [Smalltalk garbageCollect].
>>>         MCDataStream initialize.
>>>         Beeper instVarNamed: #default put: nil.
>>>         Smalltalk cleanOutUndeclared.
>>>         5
>>>                 timesRepeat: [Smalltalk garbageCollect].
>>>         Author reset.
>>>         KMPragmaKeymapBuilder release.
>>>         self privShrinkUnicodeTables.
>>>         Display newDepth: 1.
>>>         self privCleanStartUpList.
>>>         self privCleanShutDownList.
>>>         Object
>>>                 subclass: #Model
>>>                 instanceVariableNames: 'dependents'
>>>                 classVariableNames: ''
>>>                 poolDictionaries: ''
>>>                 category: 'Kernel-Objects'.
>>>         self privCleanTextConstants.
>>>         SoundService default: nil.
>>>         SoundService unregister: DummySoundSystem.
>>>         ThreadSafeTranscript install.
>>>         self privCleanUnloadMethods.
>>>         SystemNavigation new removeAllButPackages: self
>>> kernelPackageNames.
>>>         Smalltalk flushClassNameCache.
>>>         3
>>>                 timesRepeat: [Smalltalk garbageCollect.
>>>                         Symbol compactSymbolTable].
>>>         Undeclared removeUnreferencedKeys.
>>>         self privRecompileAll.
>>>         self privCleanChangeSets.
>>>         SystemEventManager allInstances
>>>                 do: [:i | i instVarNamed: #actionMap put:
>>> IdentityDictionary new].
>>>         FileServices removeObsolete.
>>>         DebuggerMethodMap voidMapCache.
>>>         Object flushEvents.
>>>         MCDataStream initialize.
>>>         Locale classPool at: #LocaleChangeListeners put: nil.
>>>         SmalltalkImage classPool at: #Tools put: nil.
>>>         Behavior flushObsoleteSubclasses.
>>>         Smalltalk flushClassNameCache.
>>>         Smalltalk organization removeEmptyCategories.
>>>         WeakArray restartFinalizationProcess.
>>>         Smalltalk saveImageInNewContext] in
>>> SmalltalkImage>>privShrinkingProcess
>>> 40 BlockClosure>>on:do:
>>> 41 BlockClosure>>ifError:
>>> 42 SmalltalkImage>>privShrinkingProcess
>>> 43 [self privShrinkingProcess] in SmalltalkImage>>shrinkToKernel
>>> 44 [self value.
>>>         Processor terminateActive] in BlockClosure>>newProcess
>>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [update 2.0] #20236

Stéphane Ducasse
Thanks pavel.

stef

On Jul 29, 2012, at 3:19 PM, Pavel Krivanek wrote:

> Sorry, this was not an issue in the Announcements but in a wrong
> automatic line break in the shrinking script. Pharo Kernel 2.0 job is
> green now.
>
> -- Pavel
>
> On Sun, Jul 29, 2012 at 12:45 PM, Guillermo Polito
> <[hidden email]> wrote:
>>
>>
>> On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <[hidden email]>
>> wrote:
>>>
>>> Yes there is still mess in ChangesLog>>logEvent: . I'll clean up this
>>> tomorrow. By the way, does somone knows why ChangesLog only logs classes and
>>> methods deletion and nothing more?
>>>
>>
>> But the mess is consistent :/.  If I evaluate in a workspace:
>>
>> (RemovedEvent class: SystemChangeNotifier  category: 'aCategoryName')
>> asAnnouncement event
>>
>> It yields to the event and not to nil.... So there is another problem in the
>> shrinking maybe...
>>
>>>
>>>
>>> 2012/7/28 Pavel Krivanek <[hidden email]>
>>>>
>>>> On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[hidden email]>
>>>> wrote:
>>>>> 20236
>>>>> -----
>>>>>
>>>>> Issue 6467:     Remove SystemChangeNotifier 2 - All events using
>>>>> SystemAnnouncer
>>>>>        http://code.google.com/p/pharo/issues/detail?id=6467
>>>>>
>>>>> the beast is not dead yet... but almost :)
>>>>>
>>>>
>>>> Hi Esteban,
>>>>
>>>> the shrinking to the Pharo Kernel now fails with this error:
>>>>
>>>> PharoKernel shrinking report
>>>> Error:
>>>> MessageNotUnderstood: receiver of "isRemoved" is nil
>>>> 441 [:e |
>>>> | rep |
>>>> rep := FileStream forceNewFileNamed: 'PharoDebug.log'.
>>>>        rep nextPutAll: 'PharoKernel shrinking report';
>>>>                 cr.
>>>>        rep nextPutAll: 'Error:';
>>>>                 cr.
>>>>        rep nextPutAll: e asString;
>>>>                 cr.
>>>>        rep nextPutAll: thisContext stack size asString.
>>>>        thisContext stack copy
>>>>                withIndexDo: [:stck :i | [rep nextPutAll: i asString;
>>>>                                 space;
>>>>                                 nextPutAll: stck asString;
>>>>                                 cr]
>>>>                                ifError: []].
>>>>        rep close.
>>>>        Smalltalk exitFailure] in SmalltalkImage>>privShrinkingProcess
>>>> 2 BlockClosure>>cull:
>>>> 3 BlockClosure>>cull:cull:
>>>> 4 [:ex | errorHandlerBlock cull: ex description cull: ex receiver] in
>>>> BlockClosure>>ifError:
>>>> 5 BlockClosure>>cull:
>>>> 6 [(self tempAt: 2)
>>>>                cull: exception] in
>>>> MethodContext(ContextPart)>>handleSignal:
>>>> 7 BlockClosure>>ensure:
>>>> 8 MethodContext(ContextPart)>>handleSignal:
>>>> 9 MethodContext(ContextPart)>>handleSignal:
>>>> 10 MessageNotUnderstood(Exception)>>signal
>>>> 11 UndefinedObject(Object)>>doesNotUnderstand: #isRemoved
>>>> 12 ChangesLog>>logEvent:
>>>> 13 ChangesLog>>logAnnouncement:
>>>> 14 MessageSend>>value:
>>>> 15 MessageSend>>cull:
>>>> 16 MessageSend>>cull:cull:
>>>> 17 [action cull: anAnnouncement cull: announcer] in
>>>> AnnouncementSubscription>>deliver:
>>>> 18 BlockClosure>>on:do:
>>>> 19 BlockClosure>>on:fork:
>>>> 20 AnnouncementSubscription>>deliver:
>>>> 21 [subscription deliver: anAnnouncement] in
>>>> SubscriptionRegistry>>deliver:to:startingAt:
>>>> 22 BlockClosure>>ifCurtailed:
>>>> 23 SubscriptionRegistry>>deliver:to:startingAt:
>>>> 24 SubscriptionRegistry>>deliver:to:
>>>> 25 SubscriptionRegistry>>deliver:
>>>> 26 SystemAnnouncer(Announcer)>>announce:
>>>> 27 SystemAnnouncer>>basicAnnounce:
>>>> 28 SystemAnnouncer>>announce:
>>>> 29 SystemAnnouncer>>trigger:
>>>> 30 SystemAnnouncer>>classRemoved:fromCategory:
>>>> 31 SystemDictionary>>forgetClass:logged:
>>>> 32 ClassRenameFixTest class(Class)>>removeFromSystem:
>>>> 33 ClassRenameFixTest class(Class)>>removeFromSystem
>>>> 34 [SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class.
>>>>        SystemAnnouncer unsubscribe: class.
>>>>        class isTrait
>>>>                ifFalse: [(class class includesSelector: #unload)
>>>>                                ifTrue: [class removeSelector: #unload]].
>>>>        class removeFromSystem] in [:className |
>>>> | class |
>>>> class := Smalltalk globals classOrTraitNamed: className.
>>>>        class allSubclasses
>>>>                ifEmpty: [SystemChangeNotifier uniqueInstance
>>>> noMoreNotificationsFor: class.
>>>>                        SystemAnnouncer unsubscribe: class.
>>>>                        class isTrait
>>>>                                ifFalse: [(class class includesSelector:
>>>> #unload)
>>>>                                                ifTrue: [class
>>>> removeSelector: #unload]].
>>>>                        class removeFromSystem]] in
>>>> SystemNavigation>>removeAllButPackages:
>>>> 35 OrderedCollection(Collection)>>ifEmpty:
>>>> 36 [:className |
>>>> | class |
>>>> class := Smalltalk globals classOrTraitNamed: className.
>>>>        class allSubclasses
>>>>                ifEmpty: [SystemChangeNotifier uniqueInstance
>>>> noMoreNotificationsFor: class.
>>>>                        SystemAnnouncer unsubscribe: class.
>>>>                        class isTrait
>>>>                                ifFalse: [(class class includesSelector:
>>>> #unload)
>>>>                                                ifTrue: [class
>>>> removeSelector: #unload]].
>>>>                        class removeFromSystem]] in
>>>> SystemNavigation>>removeAllButPackages:
>>>> 37 SortedCollection(OrderedCollection)>>do:
>>>> 38 SystemNavigation>>removeAllButPackages:
>>>> 39 [| packages |
>>>> 10
>>>>                timesRepeat: [(Delay forMilliseconds: 100) wait.
>>>>                        Processor yield].
>>>>        Author fullName: 'Mr.Shrinker'.
>>>>        self privCleanMonticello.
>>>>        UIManager default: DummyUIManager new.
>>>>        UIManager default progressBarEnabled: false.
>>>>        self privCleanProcesses.
>>>>        self privCleanGlobals.
>>>>        5
>>>>                timesRepeat: [Smalltalk garbageCollect].
>>>>        MCDataStream initialize.
>>>>        Beeper instVarNamed: #default put: nil.
>>>>        Smalltalk cleanOutUndeclared.
>>>>        5
>>>>                timesRepeat: [Smalltalk garbageCollect].
>>>>        Author reset.
>>>>        KMPragmaKeymapBuilder release.
>>>>        self privShrinkUnicodeTables.
>>>>        Display newDepth: 1.
>>>>        self privCleanStartUpList.
>>>>        self privCleanShutDownList.
>>>>        Object
>>>>                subclass: #Model
>>>>                instanceVariableNames: 'dependents'
>>>>                classVariableNames: ''
>>>>                poolDictionaries: ''
>>>>                category: 'Kernel-Objects'.
>>>>        self privCleanTextConstants.
>>>>        SoundService default: nil.
>>>>        SoundService unregister: DummySoundSystem.
>>>>        ThreadSafeTranscript install.
>>>>        self privCleanUnloadMethods.
>>>>        SystemNavigation new removeAllButPackages: self
>>>> kernelPackageNames.
>>>>        Smalltalk flushClassNameCache.
>>>>        3
>>>>                timesRepeat: [Smalltalk garbageCollect.
>>>>                        Symbol compactSymbolTable].
>>>>        Undeclared removeUnreferencedKeys.
>>>>        self privRecompileAll.
>>>>        self privCleanChangeSets.
>>>>        SystemEventManager allInstances
>>>>                do: [:i | i instVarNamed: #actionMap put:
>>>> IdentityDictionary new].
>>>>        FileServices removeObsolete.
>>>>        DebuggerMethodMap voidMapCache.
>>>>        Object flushEvents.
>>>>        MCDataStream initialize.
>>>>        Locale classPool at: #LocaleChangeListeners put: nil.
>>>>        SmalltalkImage classPool at: #Tools put: nil.
>>>>        Behavior flushObsoleteSubclasses.
>>>>        Smalltalk flushClassNameCache.
>>>>        Smalltalk organization removeEmptyCategories.
>>>>        WeakArray restartFinalizationProcess.
>>>>        Smalltalk saveImageInNewContext] in
>>>> SmalltalkImage>>privShrinkingProcess
>>>> 40 BlockClosure>>on:do:
>>>> 41 BlockClosure>>ifError:
>>>> 42 SmalltalkImage>>privShrinkingProcess
>>>> 43 [self privShrinkingProcess] in SmalltalkImage>>shrinkToKernel
>>>> 44 [self value.
>>>>        Processor terminateActive] in BlockClosure>>newProcess
>>>>
>>>
>>
>