It's interesting that I have never seen this error. And the Jenkins job is able to unload it too...
https://ci.inria.fr/pharo-contribution/view/Pharo-Kernel-3.0/job/PharoKernel3.0-FromTopShrink/

may because you remove more :)
and the ui kills it or something like that.

Stef

-- Pavel


2013/11/30 St�phane Ducasse <stephane.ducasse@inria.fr>
Pavel I tried your scripts (see below)

UnReloader unloadNautilusRefactoring
UnReloader switchToOldBrowser.
UnReloader unloadNautilus2

and I get





unloadNautilus2

        | deletePackages |
        deletePackages := [:packageNames |
  SystemNavigation default removeAllButPackages: ((MCWorkingCopy allManagers collect: #packageName) asSortedCollection copyWithoutAll: packageNames).
  packageNames do: [:pn |
  (ScriptLoader new workingCopyFromPackageName: pn) unregister.
  (RPackage named: pn) unregister]].

        #Nautilus asClass cleanUp.
        #NautilusUI asClass allInstances do: [ :inst |
     SystemAnnouncer uniqueInstance unsubscribe: inst].
        Smalltalk garbageCollect.

        deletePackages value: #('NautilusRefactoring' 'NautilusCommon' 'Nautilus'
   'Refactoring-Critics'  'Refactoring-Changes' 'Refactoring-Core'
   'Refactoring-Environment' 'GroupManager' 'Manifest-Core' 'Manifest-CriticBrowser').


        KMRepository reset.
        KMPragmaKeymapBuilder release.
        Smalltalk resetTools.
5 timesRepeat:[Smalltalk garbageCollect.].
Smalltalk fixObsoleteReferences.

SystemNavigation default obsoleteClasses.
Undeclared.






On Nov 30, 2013, at 9:06 AM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:

> did not work either :(
> Really I wonder if we will succeed to have a modular system one day.
> If we do not exercise it it will never happen.
> Stef
>
>
> unloadNautilus
>
>       #Nautilus asClass cleanUp.
>       KMRepository reset.
>       KMPragmaKeymapBuilder release.
>       #NautilusUI asClass allSubInstances do: [ :inst |
>               SystemAnnouncer uniqueInstance unsubscribe: inst].
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       {Nautilus. PackageTreeNautilus} do: #resetGroups.
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       Smalltalk garbageCollect.
>       (MCWorkingCopy forPackage: (MCPackage named: 'NautilusCommon')) unload.
>       (MCWorkingCopy forPackage: (MCPackage named: 'Nautilus')) unload.
>       (MCWorkingCopy forPackage: (MCPackage named: 'GroupManager')) unload.
>
>