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?
Hi Esteban,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 :)
>
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