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

Dale K. Henrichs dale.henrichs at gemtalksystems.com
Wed Aug 21 09:05:57 PDT 2013


----- Original Message -----

| From: "John McIntosh" <johnmci at smalltalkconsulting.com>
| To: "Dale K. Henrichs" <dale.henrichs at gemtalksystems.com>
| Cc: glass at lists.gemtalksystems.com, "James Foster"
| <James.Foster at gemtalksystems.com>
| 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 at 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 at 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 <
| dale.henrichs at gemtalksystems.com > 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" < johnmci at smalltalkconsulting.com >
| | 
| 
| | | To: "Dale K. Henrichs" < dale.henrichs at gemtalksystems.com >
| | 
| 
| | | Cc: glass at lists.gemtalksystems.com , "James Foster" <
| | | James.Foster at gemtalksystems.com >
| | 
| 
| | | 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 <
| | | johnmci at smalltalkconsulting.com > 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
| | | 
| | 
| 

| | | | https://gist.github.com/dalehenrich/3762982
| | | 
| | 
| 

| | | | But that is unclear given a lack of instructions, which seem to
| | | | be
| | | | found here
| | | 
| | 
| 
| | | | http://gemstonesoup.wordpress.com/2012/09/21/gemstones-3-1-0-1-is-shipping/
| | | 
| | 
| 

| | | | 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 < johnmci at smalltalkconsulting.com >
| | 
| 
| | | Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
| | 
| 
| | | ===========================================================================
| | 
| 

| --
| ===========================================================================
| John M. McIntosh < johnmci at smalltalkconsulting.com >
| Corporate Smalltalk Consulting Ltd. Twitter: squeaker68882
| ===========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20130821/a1756cdd/attachment-0001.html>


More information about the Glass mailing list