On Sun, Jul 29, 2012 at 12:34 AM, camille teruel <[email protected]>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 <[email protected]> > >> On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <[email protected]> >> 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 >> >> >
