[Pharo-project] [update 2.0] #20236

camille teruel camille.teruel at gmail.com
Sat Jul 28 18:34:36 EDT 2012


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 at gmail.com>

> On Fri, Jul 27, 2012 at 9:18 PM, Esteban Lorenzano <estebanlm at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120729/547b7987/attachment-0001.html>


More information about the Pharo-dev mailing list