[Glass] Migrating from 3.2.9 to 3.3.3 block compilation issue

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Thu Jan 26 13:20:40 PST 2017


Dale, after checking the logs in upgradeLog directory, I found out that I
had errors in file `upgradeTo3x.out ` pasted below.

BTW, I can share with you a zip with all files if you want to.


Cheers,



topaz 1>
topaz 1> ! clear caches - those that are unneeded or create problem during
initial load
topaz 1> run
"MCDefinition clearInstances"
MCDefinition _classVars at: #Instances put: nil.
"MCMethodDefinition shutdown"
MCMethodDefinition _classVars at: #Definitions put: nil.
"MethodVersionHistory reset"
UserGlobals removeKey: #MethodVersionHistory_UniqueInstance ifAbsent: [].
"clear out PackageOrganizer default class instance variable"
PackageOrganizer atClassInstVar: #default put: nil.
"clear out McCacheRepository default class instance variable"
MCCacheRepository atClassInstVar: #default put: nil.
"wipe out the working copy registry ... will be redefined later"
MCPackageManager atClassInstVar: #registry put: nil.
MCWorkingCopy atClassInstVar: #registry put: nil.
"wipe out the default MCRepositoryGroup"
MCRepositoryGroup atClassInstVar: #default put: nil.
"Wipe out the Metacello registry ... if it exists"
(GsCurrentSession currentSession symbolList objectNamed:
#MetacelloProjectRegistration)
  ifNotNil: [:cl | cl _classVars at: #Registry put: nil ].
true
%
*GemStone Smalltalk Compiler Errors:*
*   "MCDefinition clearInstances"*
*   MCDefinition _classVars at: #Instances put: nil.*
* * ^1
********
*   "MCMethodDefinition shutdown"*
*   MCMethodDefinition _classVars at: #Definitions put: nil.*
* * ^2
********
*   "MethodVersionHistory reset"*
*   UserGlobals removeKey: #MethodVersionHistory_UniqueInstance ifAbsent:
[].*
*   "clear out PackageOrganizer default class instance variable"*
*   PackageOrganizer atClassInstVar: #default put: nil.*
* * ^3
********
*   "clear out McCacheRepository default class instance variable"*
*   MCCacheRepository atClassInstVar: #default put: nil.*
* * ^4
********
*   "wipe out the working copy registry ... will be redefined later"*
*   MCPackageManager atClassInstVar: #registry put: nil.*
* * ^5
********
*   MCWorkingCopy atClassInstVar: #registry put: nil.*
* * ^6
********
*   "wipe out the default MCRepositoryGroup"*
*   MCRepositoryGroup atClassInstVar: #default put: nil.*
* * ^7
********
*   "Wipe out the Metacello registry ... if it exists"*
*   (GsCurrentSession currentSession symbolList objectNamed:
#MetacelloProjectRegistration)*
*     ifNotNil: [:cl | cl _classVars at: #Registry put: nil ].*
*   true*

*1: [1031] undefined symbol*
*2: [1031] undefined symbol*
*3: [1031] undefined symbol*
*4: [1031] undefined symbol*
*5: [1031] undefined symbol*
*6: [1031] undefined symbol*
*7: [1031] undefined symbol*
ERROR: UNEXPECTED ERROR
topaz> time
 01/26/2017 11:50:27.993 EST
topaz > exec iferr 1 : stk
Stack is not active
topaz > exec iferr 2 : stack
Stack is not active
topaz > exec iferr 3 : input pop
topaz > exec iferr 4 : exit
Logging out session 1.



On Thu, Jan 26, 2017 at 6:11 PM, Dale Henrichs via Glass <
glass at lists.gemtalksystems.com> wrote:

> Mariano,
>
> I'll dig into this later this afternoon (I'm out of time right now) ...
> All of the code is reloaded at each upgrade, so it is likely that there are
> few blocks that are hanging around (SortedCollections, etc.) that need to
> be rebuilt ...
> Dale
>
>
> On 01/26/2017 11:01 AM, Mariano Martinez Peck via Glass wrote:
>
> Hi guys,
>
> I am migrating some stones (tODE and GsDevKit based) that are on GemStone
> 3.2.9 to 3.3.3. I am doing this with the `upgradeStone` gsDevKit command.
>
> I first hit one problem when trying to execute this code via topaz:
>
> MCRepositoryGroup default removeRepository: (MCHttpRepository
>                         location: 'xxx'
>                         user: ''
>                         password: '').
>
>
>
>
> *ERROR 2142 , a ImproperOperation occurred (error 2142), Cannot execute
> method, 'method needs recompile, MCRepositoryGroup class >> default , oop
> 206736385' (ImproperOperation) *
>
> Then, I said...ok, let's connect with tODE and investigate some more (like
> doing Object _objectForOop: 206736385). But when I try to connect with tODE
> I get:
>
>
> *Error running testLogin:*
>
> *'Error: Unable to log into server:a ImproperOperation occurred (error
> 2142), Cannot execute method, ''method needs recompile, TDTopezServer class
> >> createFor: , oop 245949953''with: ''TDTopezServer createFor: 1'''*
>
> * NOTE: netldi log can be found in the file:
> '$GS_HOME/server/stones/<stone-name>/logs/netldi.log'.*
>
>
>
> So...looks like I have methods to be recompiled everywhere. I saw this
> issue [1] but that does not seem to help as these closures are not in
> sorted collections right ?
>
> Now, manually fixing each, like this:
>
>  | sc sortBlock val cls str val |
>   sc := "sortedcollection instance".
>   sortBlock := sc sortBlock.
>   str := sortBlock _sourceString.
>   val := str evaluate.
>   sc _sortBlock: val
>
> Is a pain...because I must know how to re-assign the new compiled method.
> Is there an alternative GENERIC solution to recompile all needed ones? I
> can think of that but using #become:
>
>
> System commit.
>   [
>   MCPlatformSupport installAlmostOutOfMemoryStaticHandler: 75.
>   ExecBlock allSubInstances do: [:each |
> each become: each _sourceString evaluate.
> ].
> ]
>   ensure: [ MCPlatformSupport uninstallAlmostOutOfMemoryStaticHandler ].
> System commit.
>
> But...comment of #become: says that BlockClosure instances cannot be
> become...BUUUUUUH.
>
> So.. any idea?
>
> Thanks in advance,
>
> [1] https://github.com/GsDevKit/GsDevKit_home/issues/70
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
> _______________________________________________
> Glass mailing listGlass at lists.gemtalksystems.comhttp://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20170126/8b062688/attachment-0001.html>


More information about the Glass mailing list