[Pharo-project] [update 2.0] #20236
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 :)
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm@gmail.com> 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
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 <pavel.krivanek@gmail.com>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm@gmail.com> 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
On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <camille.teruel@gmail.com>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 <pavel.krivanek@gmail.com>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm@gmail.com> 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
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 <guillermopolito@gmail.com> wrote:
On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <camille.teruel@gmail.com> 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 <pavel.krivanek@gmail.com>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm@gmail.com> 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
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 <guillermopolito@gmail.com> wrote:
On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <camille.teruel@gmail.com> 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 <pavel.krivanek@gmail.com>
On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm@gmail.com> 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
participants (5)
-
camille teruel -
Esteban Lorenzano -
Guillermo Polito -
Pavel Krivanek -
Stéphane Ducasse