[Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Dale Henrichs-3



From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Tuesday, August 20, 2013 5:29:26 PM
Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Ah
johnmci@mail:~$ locate upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/seaside/bin/upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/upgrade/upgradeSeasideImage.topaz
johnmci@mail:~$ 
It was just a guess:)

Anyway, I'm curious why the upgrade script is loading GLASS 1.0-beta.8.7.3?

The default version of GLASS in the BootstrapApplicationLoadSpecs is 1.0-beta.9:

  UserGlobals
         at: #BootstrapApplicationLoadSpecs
          ifAbsent: [.
            UserGlobals.
              at: #BootstrapApplicationLoadSpecs.
              put: {
                  {'ConfigurationOfGLASS'. '1.0-beta.9'. #('default'). BootstrapRepositoryDirectory. }.
              }.

and your script is loading 1.0-beta.8.7.3. Did you set BootstrapApplicationLoadSpecs? If so, what does it look like?


no 3.1.0 on that machine, I scp a copy of the extent0 (made after gemstone backup and shutdown) between the production machine and a test machine, no tranlogs around... 

The 3.1.0 machine does not have the current GLASS version loaded, is that a pre-req by chance? Need one upgrade their 3.1.0 server to GLASS 1.0-beta.9. before doing the migration? 
It is not required that you upgrade to GLASS 1.0-beta.9 before the upgrade, however, it is prudent to ensure that your application will function correctly on GLASS 1.0-beta.9. In fact it is prudent to load and test your application in any new version of GemStone just to ensure that none of the bugfixes negatively impact your application...

In all of this can I suggest a upgradeSeasideImage that does all the required work (like the upgradeImage, fetching any cached data, determining if proper seaside code is loaded, etc). 
At the moment the upgradeSeasideImage is designed to allow you to tell the system which versions of projects to load and which cache repository to use based on decisions that you've made after doing testing and validation of your application on the target version of GemStone.

I think that there are way too many variables in the upgrade process to expect that an automated script can make all the right decisions without feedback from the developer:)

Also it seems at any point of failure in the update leaves you with a unworkable database btw. I'd be concerned about a network server/failure issue against various remote repositories we are pulling MC code from.  
We expect you to have created a disk-based repository (BootstrapRepositoryDirectory or the repository slot in the BootstrapApplicationLoadSpecs) with all of your required packages for the express purpose of avoiding network during an upgrade ...



On Tue, Aug 20, 2013 at 12:05 PM, Dale K. Henrichs <[hidden email]> wrote:
John,

It looks like the upgradeSeasideImage script is trying to load  GLASS 1.0-beta.8.7.3. The default GLASS version in the 3.1.0.4 upgradeSeasideImage script is 1.0-beta.9.

I'm going to guess that you are using the upgradeSeasideImage script from 3.1.0? You should use the 3.1.0.4 upgradeSeasideImage script.

Dale

From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Monday, August 19, 2013 9:55:31 PM

Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Bit more poking but when I run the upgradeSeasideImage -s seaside
Tue Aug 20 00:50:32 EDT 2013
Starting upgrade...
ERROR: topaz exited with status 1.
Please check the file topazerrors.log and all files in 

At the end it has... 

Successful commit
topaz 1> 
topaz 1> ! Now load the entire configuration to pick up user apppiation code and to ensure
topaz 1> !   that the in-memory package state is correct
topaz 1> run
BootstrapApplicationLoadSpecs do: [:loadSpec | | version repo repoPath configurationClassName versionString loadList |
    configurationClassName := loadSpec at: 1.
    versionString := loadSpec at: 2.
    loadList := loadSpec at: 3.
    repoPath := loadSpec at: 4.
    repo := MCDirectoryRepository new.
    repo directory: (ServerFileDirectory on: repoPath).
    version := (BootstrapSymbolDictionary at: configurationClassName asSymbol) project version: versionString.
    version repositoryOverrides: (OrderedCollection with: repo).
    GsDeployer bulkMigrate: [ 
        [ version load: loadList ]
          on: MCPerformPostloadNotification
          do: [:ex |
            (BootstrapApplicationPostloadClassList includes: ex postloadClass theNonMetaClass name)
              ifTrue: [ ex resume: true ]
              ifFalse: [ 
                GsFile gciLogServer: '  Skip ', ex postloadClass name asString, ' initialization.'.
                ex resume: false ]]].
].
true
%
--transcript--'Loading 1.0-beta.8.7.3 of ConfigurationOfGLASS...'
--transcript--'Fetched -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/reposi
tory'
--transcript--'Loaded -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Core 0.246.1'
--transcript--'Fetched -> Core.v3-dkh.66 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Base-Bootstrap.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Bootstrap.v3-dkh.223 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-ANSI-Streams-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Indexing-Extensions-dkh.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Sport3.010.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Squeak.v3-dkh.285 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Core-DaleHenrichs.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Tests-Core-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.243'
--transcript--'Project: Core 0.246'
--transcript--'Fetched -> PackageInfo-Base.g-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Monticello.v3-dkh.448 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Deployment-dkh.22 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Change-Notification.v3-dkh.18 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Metacello 1.0-beta.31.1.5'
--transcript--'Fetched -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Gofer Core 1.0.5.1'
--transcript--'Fetched -> Gofer-Core.gemstone-dkh.135 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.242'
--transcript--'Fetched -> Metacello-Base-DaleHenrichs.19 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...FAILED->Metacello-Core-dkh.492'
-----------------------------------------------------
GemStone: Error         Nonfatal
a MetacelloPackageSpecResolutionError occurred (error 2710)
Error Category: 231169 [GemStone] Number: 2710  Arg Count: 4 Context : 514565889 exception : 1052486657
Arg 1: [1052495361 sz:12 cls: 516192257 MetacelloPackageSpec] aMetacelloPackageSpec
Arg 2: [1052492545 sz:2 cls: 66817 Array] anArray
Arg 3: [20 sz:0 cls: 76289 UndefinedObject] nil
Arg 4: [20 sz:0 cls: 76289 UndefinedObject] nil
ERROR: UNEXPECTED ERROR
topaz > exec iferr 1 : stk 


On Tue, Aug 20, 2013 at 12:29 AM, John McIntosh <[hidden email]> wrote:
Ok well obviously I didn't flip the blank page at 34 over and read page 35, although it kinda suggests this a 2.4/3.0.x to 3.1 migration plan. 
Frankly I'd suggest checking in the upgradeSeasideImage to do the check and prompt to continue. 
I guess a question here is that page 37 is a 'template' but what I really need to do is covered in 


But that is unclear given a lack of instructions, which seem to be found here

However I'm unclear how to run the  seaside cache repository logic? Via the old gemtools before starting? Or topaz?

I do have a /opt/gemstone/product/seaside/monticello/repository but that does not contain ConfigurationOfSeaside30
and wouldn't GsPackageLibrary getMonticelloRepositoryDirectory be the seaside cache repository?

Anyway past midnight so tomorrow... 




--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================





--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

johnmci
8.7.3?
Yes because I did this setup via http://gemstonesoup.wordpress.com/2012/09/21/gemstones-3-1-0-1-is-shipping

UserGlobals

at: #BootstrapApplicationLoadSpecs

  put: {

      { 'ConfigurationOfGLASS'. '1.0-beta.8.7.3'. #('default'). BootstrapRepositoryDirectory. } .

      { 'ConfigurationOfSeaside30'.

        '3.0.7.1'.

        #('default').

        '/opt/gemstone/product/seaside/monticello/repository'.

      } .

    }.


After carefully confirming yes my production system is using the above configuration versions.

If I had loaded 1.0-beta-9 into my production system then I would have coded up different values based on what MC said I had loaded into production.

Still I see you are doing the UserGlobal>at:ifAbsent: check on BootstrapApplicationLoadSpecs in the updateSeasideImage, so I don't need to in future mess
with a custom one, unless I've a need for other MC packages to be loaded?


As for> "We expect you to have created a disk-based repository"
I'm not sure if anyone directly answered if GsPackageLibrary getMonticelloRepositoryDirectory could be the seaside cache repository?





On Wed, Aug 21, 2013 at 12:05 PM, Dale K. Henrichs <[hidden email]> wrote:



From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Tuesday, August 20, 2013 5:29:26 PM

Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Ah
johnmci@mail:~$ locate upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/seaside/bin/upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/upgrade/upgradeSeasideImage.topaz
johnmci@mail:~$ 
It was just a guess:)

Anyway, I'm curious why the upgrade script is loading GLASS 1.0-beta.8.7.3?

The default version of GLASS in the BootstrapApplicationLoadSpecs is 1.0-beta.9:

  UserGlobals
         at: #BootstrapApplicationLoadSpecs
          ifAbsent: [.
            UserGlobals.
              at: #BootstrapApplicationLoadSpecs.
              put: {
                  {'ConfigurationOfGLASS'. '1.0-beta.9'. #('default'). BootstrapRepositoryDirectory. }.
              }.

and your script is loading 1.0-beta.8.7.3. Did you set BootstrapApplicationLoadSpecs? If so, what does it look like?



no 3.1.0 on that machine, I scp a copy of the extent0 (made after gemstone backup and shutdown) between the production machine and a test machine, no tranlogs around... 

The 3.1.0 machine does not have the current GLASS version loaded, is that a pre-req by chance? Need one upgrade their 3.1.0 server to GLASS 1.0-beta.9. before doing the migration? 
It is not required that you upgrade to GLASS 1.0-beta.9 before the upgrade, however, it is prudent to ensure that your application will function correctly on GLASS 1.0-beta.9. In fact it is prudent to load and test your application in any new version of GemStone just to ensure that none of the bugfixes negatively impact your application...


In all of this can I suggest a upgradeSeasideImage that does all the required work (like the upgradeImage, fetching any cached data, determining if proper seaside code is loaded, etc). 
At the moment the upgradeSeasideImage is designed to allow you to tell the system which versions of projects to load and which cache repository to use based on decisions that you've made after doing testing and validation of your application on the target version of GemStone.

I think that there are way too many variables in the upgrade process to expect that an automated script can make all the right decisions without feedback from the developer:)


Also it seems at any point of failure in the update leaves you with a unworkable database btw. I'd be concerned about a network server/failure issue against various remote repositories we are pulling MC code from.  
We expect you to have created a disk-based repository (BootstrapRepositoryDirectory or the repository slot in the BootstrapApplicationLoadSpecs) with all of your required packages for the express purpose of avoiding network during an upgrade ...



On Tue, Aug 20, 2013 at 12:05 PM, Dale K. Henrichs <[hidden email]> wrote:
John,

It looks like the upgradeSeasideImage script is trying to load  GLASS 1.0-beta.8.7.3. The default GLASS version in the 3.1.0.4 upgradeSeasideImage script is 1.0-beta.9.

I'm going to guess that you are using the upgradeSeasideImage script from 3.1.0? You should use the 3.1.0.4 upgradeSeasideImage script.

Dale

From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Monday, August 19, 2013 9:55:31 PM

Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Bit more poking but when I run the upgradeSeasideImage -s seaside
Tue Aug 20 00:50:32 EDT 2013
Starting upgrade...
ERROR: topaz exited with status 1.
Please check the file topazerrors.log and all files in 

At the end it has... 

Successful commit
topaz 1> 
topaz 1> ! Now load the entire configuration to pick up user apppiation code and to ensure
topaz 1> !   that the in-memory package state is correct
topaz 1> run
BootstrapApplicationLoadSpecs do: [:loadSpec | | version repo repoPath configurationClassName versionString loadList |
    configurationClassName := loadSpec at: 1.
    versionString := loadSpec at: 2.
    loadList := loadSpec at: 3.
    repoPath := loadSpec at: 4.
    repo := MCDirectoryRepository new.
    repo directory: (ServerFileDirectory on: repoPath).
    version := (BootstrapSymbolDictionary at: configurationClassName asSymbol) project version: versionString.
    version repositoryOverrides: (OrderedCollection with: repo).
    GsDeployer bulkMigrate: [ 
        [ version load: loadList ]
          on: MCPerformPostloadNotification
          do: [:ex |
            (BootstrapApplicationPostloadClassList includes: ex postloadClass theNonMetaClass name)
              ifTrue: [ ex resume: true ]
              ifFalse: [ 
                GsFile gciLogServer: '  Skip ', ex postloadClass name asString, ' initialization.'.
                ex resume: false ]]].
].
true
%
--transcript--'Loading 1.0-beta.8.7.3 of ConfigurationOfGLASS...'
--transcript--'Fetched -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/reposi
tory'
--transcript--'Loaded -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Core 0.246.1'
--transcript--'Fetched -> Core.v3-dkh.66 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Base-Bootstrap.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Bootstrap.v3-dkh.223 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-ANSI-Streams-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Indexing-Extensions-dkh.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Sport3.010.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Squeak.v3-dkh.285 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Core-DaleHenrichs.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Tests-Core-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.243'
--transcript--'Project: Core 0.246'
--transcript--'Fetched -> PackageInfo-Base.g-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Monticello.v3-dkh.448 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Deployment-dkh.22 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Change-Notification.v3-dkh.18 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Metacello 1.0-beta.31.1.5'
--transcript--'Fetched -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Gofer Core 1.0.5.1'
--transcript--'Fetched -> Gofer-Core.gemstone-dkh.135 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.242'
--transcript--'Fetched -> Metacello-Base-DaleHenrichs.19 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...FAILED->Metacello-Core-dkh.492'
-----------------------------------------------------
GemStone: Error         Nonfatal
a MetacelloPackageSpecResolutionError occurred (error 2710)
Error Category: 231169 [GemStone] Number: 2710  Arg Count: 4 Context : 514565889 exception : 1052486657
Arg 1: [1052495361 sz:12 cls: 516192257 MetacelloPackageSpec] aMetacelloPackageSpec
Arg 2: [1052492545 sz:2 cls: 66817 Array] anArray
Arg 3: [20 sz:0 cls: 76289 UndefinedObject] nil
Arg 4: [20 sz:0 cls: 76289 UndefinedObject] nil
ERROR: UNEXPECTED ERROR
topaz > exec iferr 1 : stk 


On Tue, Aug 20, 2013 at 12:29 AM, John McIntosh <[hidden email]> wrote:
Ok well obviously I didn't flip the blank page at 34 over and read page 35, although it kinda suggests this a 2.4/3.0.x to 3.1 migration plan. 
Frankly I'd suggest checking in the upgradeSeasideImage to do the check and prompt to continue. 
I guess a question here is that page 37 is a 'template' but what I really need to do is covered in 


But that is unclear given a lack of instructions, which seem to be found here

However I'm unclear how to run the  seaside cache repository logic? Via the old gemtools before starting? Or topaz?

I do have a /opt/gemstone/product/seaside/monticello/repository but that does not contain ConfigurationOfSeaside30
and wouldn't GsPackageLibrary getMonticelloRepositoryDirectory be the seaside cache repository?

Anyway past midnight so tomorrow... 




--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================





--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================





--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Dale Henrichs-3



From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>, [hidden email], "James Foster" <[hidden email]>
Sent: Wednesday, August 21, 2013 4:28:45 PM
Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

8.7.3?
Yes because I did this setup via http://gemstonesoup.wordpress.com/2012/09/21/gemstones-3-1-0-1-is-shipping

UserGlobals

at: #BootstrapApplicationLoadSpecs

  put: {

      { 'ConfigurationOfGLASS'. '1.0-beta.8.7.3'. #('default'). BootstrapRepositoryDirectory. } .

      { 'ConfigurationOfSeaside30'.

        '3.0.7.1'.

        #('default').

        '/opt/gemstone/product/seaside/monticello/repository'.

      } .

    }.
Okay. This explains the source of GLASS 1.0-beta.8.7.3 and the source of the error about the missing package: the monticello repository (BootstrapRepositoryDirectory) shipped with the 3.1.0.4 release does not include the package versions for earlier versions of GLASS.

So you probably should port you application to GLASS 1.0-beta.9 before attempting to upgrade to 3.1.0.5 (when it becomes available). To do that I would recommend that you load your application code into a fresh 3.10.4 seaside extent and verify that your app runs correctly there. If no application changes are required, then you can change the  upgrade script to load GLASS 1.0-beta.9.

Now I notice that you don't seem to have included instructions for reloading your application code in your upgrade script. You need to do that as well...


After carefully confirming yes my production system is using the above configuration versions.

If I had loaded 1.0-beta-9 into my production system then I would have coded up different values based on what MC said I had loaded into production.

Still I see you are doing the UserGlobal>at:ifAbsent: check on BootstrapApplicationLoadSpecs in the updateSeasideImage, so I don't need to in future mess
with a custom one, unless I've a need for other MC packages to be loaded?
Well, I would think that you will always need to specify the configurations for your application code and dependent projects ... you must include the GLASS configuration first, then the list of configurations that are needed for your application


As for> "We expect you to have created a disk-based repository"
I'm not sure if anyone directly answered if GsPackageLibrary getMonticelloRepositoryDirectory could be the seaside cache repository?
I would think that it is cleaner to keep your application packages separate from the set of packages shipped with GemStone/S ... with that said, you certainly could use `GsPackageLibrary getMonticelloRepositoryDirectory` as the cache repository...





On Wed, Aug 21, 2013 at 12:05 PM, Dale K. Henrichs <[hidden email]> wrote:



From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Tuesday, August 20, 2013 5:29:26 PM

Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Ah
johnmci@mail:~$ locate upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/seaside/bin/upgradeSeasideImage
/opt/gemstone/GemStone64Bit3.1.0.4-x86_64.Linux/upgrade/upgradeSeasideImage.topaz
johnmci@mail:~$ 
It was just a guess:)

Anyway, I'm curious why the upgrade script is loading GLASS 1.0-beta.8.7.3?

The default version of GLASS in the BootstrapApplicationLoadSpecs is 1.0-beta.9:

  UserGlobals
         at: #BootstrapApplicationLoadSpecs
          ifAbsent: [.
            UserGlobals.
              at: #BootstrapApplicationLoadSpecs.
              put: {
                  {'ConfigurationOfGLASS'. '1.0-beta.9'. #('default'). BootstrapRepositoryDirectory. }.
              }.

and your script is loading 1.0-beta.8.7.3. Did you set BootstrapApplicationLoadSpecs? If so, what does it look like?



no 3.1.0 on that machine, I scp a copy of the extent0 (made after gemstone backup and shutdown) between the production machine and a test machine, no tranlogs around... 

The 3.1.0 machine does not have the current GLASS version loaded, is that a pre-req by chance? Need one upgrade their 3.1.0 server to GLASS 1.0-beta.9. before doing the migration? 
It is not required that you upgrade to GLASS 1.0-beta.9 before the upgrade, however, it is prudent to ensure that your application will function correctly on GLASS 1.0-beta.9. In fact it is prudent to load and test your application in any new version of GemStone just to ensure that none of the bugfixes negatively impact your application...


In all of this can I suggest a upgradeSeasideImage that does all the required work (like the upgradeImage, fetching any cached data, determining if proper seaside code is loaded, etc). 
At the moment the upgradeSeasideImage is designed to allow you to tell the system which versions of projects to load and which cache repository to use based on decisions that you've made after doing testing and validation of your application on the target version of GemStone.

I think that there are way too many variables in the upgrade process to expect that an automated script can make all the right decisions without feedback from the developer:)


Also it seems at any point of failure in the update leaves you with a unworkable database btw. I'd be concerned about a network server/failure issue against various remote repositories we are pulling MC code from.  
We expect you to have created a disk-based repository (BootstrapRepositoryDirectory or the repository slot in the BootstrapApplicationLoadSpecs) with all of your required packages for the express purpose of avoiding network during an upgrade ...



On Tue, Aug 20, 2013 at 12:05 PM, Dale K. Henrichs <[hidden email]> wrote:
John,

It looks like the upgradeSeasideImage script is trying to load  GLASS 1.0-beta.8.7.3. The default GLASS version in the 3.1.0.4 upgradeSeasideImage script is 1.0-beta.9.

I'm going to guess that you are using the upgradeSeasideImage script from 3.1.0? You should use the 3.1.0.4 upgradeSeasideImage script.

Dale

From: "John McIntosh" <[hidden email]>
To: "Dale K. Henrichs" <[hidden email]>
Cc: [hidden email], "James Foster" <[hidden email]>
Sent: Monday, August 19, 2013 9:55:31 PM

Subject: Re: [Glass] a InternalError occurred (error 2261), The object with object ID 20 is corrupt. Reason: 'process switch not in critial state'

Bit more poking but when I run the upgradeSeasideImage -s seaside
Tue Aug 20 00:50:32 EDT 2013
Starting upgrade...
ERROR: topaz exited with status 1.
Please check the file topazerrors.log and all files in 

At the end it has... 

Successful commit
topaz 1> 
topaz 1> ! Now load the entire configuration to pick up user apppiation code and to ensure
topaz 1> !   that the in-memory package state is correct
topaz 1> run
BootstrapApplicationLoadSpecs do: [:loadSpec | | version repo repoPath configurationClassName versionString loadList |
    configurationClassName := loadSpec at: 1.
    versionString := loadSpec at: 2.
    loadList := loadSpec at: 3.
    repoPath := loadSpec at: 4.
    repo := MCDirectoryRepository new.
    repo directory: (ServerFileDirectory on: repoPath).
    version := (BootstrapSymbolDictionary at: configurationClassName asSymbol) project version: versionString.
    version repositoryOverrides: (OrderedCollection with: repo).
    GsDeployer bulkMigrate: [ 
        [ version load: loadList ]
          on: MCPerformPostloadNotification
          do: [:ex |
            (BootstrapApplicationPostloadClassList includes: ex postloadClass theNonMetaClass name)
              ifTrue: [ ex resume: true ]
              ifFalse: [ 
                GsFile gciLogServer: '  Skip ', ex postloadClass name asString, ' initialization.'.
                ex resume: false ]]].
].
true
%
--transcript--'Loading 1.0-beta.8.7.3 of ConfigurationOfGLASS...'
--transcript--'Fetched -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfMetacello-dkh.752 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsCore-dkh.287 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMisc-dkh.110 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsSqueakCommon-dkh.23 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsOB-dkh.89 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGrease-topa.192 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/reposi
tory'
--transcript--'Loaded -> ConfigurationOfGoferProjectLoader-DaleHenrichs.21 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Fetched -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGsMonticello-dkh.172 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Core 0.246.1'
--transcript--'Fetched -> Core.v3-dkh.66 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Base-Bootstrap.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Bootstrap.v3-dkh.223 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-ANSI-Streams-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Indexing-Extensions-dkh.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Sport3.010.v3-dkh.29 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Squeak.v3-dkh.285 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Core-DaleHenrichs.3 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Regex-Tests-Core-DaleHenrichs.5 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.243'
--transcript--'Project: Core 0.246'
--transcript--'Fetched -> PackageInfo-Base.g-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Monticello.v3-dkh.448 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> GemStone-Deployment-dkh.22 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Fetched -> Change-Notification.v3-dkh.18 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Metacello 1.0-beta.31.1.5'
--transcript--'Fetched -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Loaded -> ConfigurationOfGofer-dkh.36 --- /opt/gemstone/product/seaside/monticello/repository --- cache'
--transcript--'Project: Gofer Core 1.0.5.1'
--transcript--'Fetched -> Gofer-Core.gemstone-dkh.135 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'Project: Monticello 0.242'
--transcript--'Fetched -> Metacello-Base-DaleHenrichs.19 --- /opt/gemstone/product/seaside/monticello/repository --- /opt/gemstone/product/seaside/monticello/repository'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...RETRY->Metacello-Core-dkh.492'
--transcript--'...FAILED->Metacello-Core-dkh.492'
-----------------------------------------------------
GemStone: Error         Nonfatal
a MetacelloPackageSpecResolutionError occurred (error 2710)
Error Category: 231169 [GemStone] Number: 2710  Arg Count: 4 Context : 514565889 exception : 1052486657
Arg 1: [1052495361 sz:12 cls: 516192257 MetacelloPackageSpec] aMetacelloPackageSpec
Arg 2: [1052492545 sz:2 cls: 66817 Array] anArray
Arg 3: [20 sz:0 cls: 76289 UndefinedObject] nil
Arg 4: [20 sz:0 cls: 76289 UndefinedObject] nil
ERROR: UNEXPECTED ERROR
topaz > exec iferr 1 : stk 


On Tue, Aug 20, 2013 at 12:29 AM, John McIntosh <[hidden email]> wrote:
Ok well obviously I didn't flip the blank page at 34 over and read page 35, although it kinda suggests this a 2.4/3.0.x to 3.1 migration plan. 
Frankly I'd suggest checking in the upgradeSeasideImage to do the check and prompt to continue. 
I guess a question here is that page 37 is a 'template' but what I really need to do is covered in 


But that is unclear given a lack of instructions, which seem to be found here

However I'm unclear how to run the  seaside cache repository logic? Via the old gemtools before starting? Or topaz?

I do have a /opt/gemstone/product/seaside/monticello/repository but that does not contain ConfigurationOfSeaside30
and wouldn't GsPackageLibrary getMonticelloRepositoryDirectory be the seaside cache repository?

Anyway past midnight so tomorrow... 




--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================





--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================





--
===========================================================================
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
===========================================================================



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
12