MagmaInvalidOid situation
Hernán Morales Durand
hernan.morales at gmail.com
Tue Jun 16 06:22:13 UTC 2009
Hi all,
I'm looking for more information concerning this error. Maybe a
course of remedy? (I've not tried to isolate yet in the hope of a
better understanding of the problem).
Context: I did this process over two MagmaCollection's before
succesfully. The process re-index an entire MagmaCollection, using a
temporary magma collection for that purpose. The error happened when
committing indexes to the new (temporary) magma collection. All the
process uses a MagmaSession locally connected.
The code looks like this:
| collection |
self session begin.
collection:= self root at: self tempKey put: MagmaCollection new.
self indexes do:[:each | collection addIndex: each ].
self session commit
And the stack obtained with the trick of my previous e-mail:
16 June 2009 2:51:36 am
VM: Win32 - a SmalltalkImage
Image: Squeak3.9 [latest update: #7067]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir D:\OpusApp
Trusted Dir D:\OpusApp\compu
Untrusted Dir C:\Documents and Settings\compu\Mis documentos\My Squeak
MagmaSession>>signalExceptionLike:
Receiver: a MagmaSession D:\OpusApp\Magma
Arguments and temporary variables:
anException: MagmaInvalidOid: 1623575456 is not a valid oid.
signalableError: MagmaInvalidOid: 1623575456 is not a valid oid.
Receiver's instance variables:
id: an UUID('2caca4db-5f85-a546-a057-f7978a775e9c')
user: a MagmaUser
id = Opus
serializer: a MaObjectSerializer
transaction: a MaTransaction
readStrategy: a MaReadStrategy
definition: a MagmaRepositoryDefinition
preferences: a MagmaPreferences
anchor: nil
transactionLevel: 1
strongReferences: an OrderedCollection()
cache: a Dictionary()
guard: a Mutex
statistics: a MagmaSessionStatistics
primaryLink: a MaLocalServerLink
secondaryLink: a MaLocalServerLink
allowFailover: true
oidCount: 12879073
lastClean: 26265480
requiredProgress: 0
[] in MagmaSession>>submit:to: {[aMagmaRepositoryRequest
requiresConnection ifTrue: [self ensureConnected]...]}
Arguments and temporary variables:
aMagmaRepositoryRequest: a MaReadRequest
aMaServerLink: a MaLocalServerLink
didTry: false
link: a MaLocalServerLink
result: MagmaInvalidOid: 1623575456 is not a valid oid.
err: nil
node: nil
[] in BlockContext>>maOn:do:on:do: {[self value]}
Arguments and temporary variables:
exc1: MagmaSessionLost
block1: [] in MagmaSession>>submit:to: {[:err | MagmaNotification
signal: 'Mag...etc...
exc2: NetworkError
block2: [] in MagmaSession>>submit:to: {[:err |
aMagmaRepositoryRequest isConn...etc...
BlockContext>>on:do:
Receiver: [] in BlockContext>>maOn:do:on:do: {[self value]}
Arguments and temporary variables:
exception: MagmaSessionLost
handlerAction: [] in MagmaSession>>submit:to: {[:err |
MagmaNotification signa...etc...
handlerActive: true
Receiver's instance variables:
sender: BlockContext>>on:do:
pc: 29
stackp: 0
nargs: 0
startpc: 27
home: BlockContext>>maOn:do:on:do:
--- The full stack ---
MagmaSession>>signalExceptionLike:
[] in MagmaSession>>submit:to: {[aMagmaRepositoryRequest
requiresConnection ifTrue: [self ensureConnected]...]}
[] in BlockContext>>maOn:do:on:do: {[self value]}
BlockContext>>on:do:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in BlockContext>>maOn:do:on:do: {[[self value] on: exc1 do: block1]}
BlockContext>>on:do:
BlockContext>>maOn:do:on:do:
[] in MagmaSession>>submit:to: {[didTry := false. link :=
aMaServerLink. [aMagmaRepositoryRequest requires...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
[] in MagmaSession>>submit:to: {[aMagmaRepositoryRequest waitCursor
showWhile: [didTry := false. link :...]}
Mutex>>critical:
MagmaSession>>submit:to:
[] in MagmaSession>>secondarySubmit: {[self submit:
aMagmaRepositoryRequest to: secondaryLink]}
[] in BlockContext>>maOn:do:on:do: {[self value]}
BlockContext>>on:do:
[] in BlockContext>>maOn:do:on:do: {[[self value] on: exc1 do: block1]}
BlockContext>>on:do:
BlockContext>>maOn:do:on:do:
MagmaSession>>secondarySubmit:
MagmaSession>>read:
[] in MagmaSession>>realObjectFor: {[result := self read: oid. self
statistics clientSideProxyMaterializationTi...]}
Mutex>>critical:
MagmaSession>>realObjectFor:
MagmaMutatingProxy>>mutant
MagmaMutatingProxy(MaMutatingProxy)>>mutateAndSend:
[] in MagmaMutatingProxy(MaMutatingProxy)>>doesNotUnderstand: #select:
{[self maIsMutatingProxy ifTrue: [self mutateAndSend: aMessage]
ifFalse: ...]}
BlockContext>>on:do:
MagmaMutatingProxy(MaMutatingProxy)>>doesNotUnderstand: #select:
RecordEventManager>>recordEventsOfKind:
SerialManifestation>>issnInternationalRecord
SerialManifestation>>issnInternationalRecordDateString
MaSearchStringIndex(MagmaCollectionIndex)>>indexObjectFor:
MaSearchStringIndex>>canIndex:
MaSearchStringIndex(MagmaCollectionIndex)>>validateCanIndex:
MaSearchStringIndex(MagmaCollectionIndex)>>indexHashesFor:
[] in MagmaCollection>>buildIndexes:ignoring: {[:eachIndex | changes
add: oid at: (eachIndex indexHashesFor: eachObject...]}
...etc...
Best regards
Hernan
More information about the Magma
mailing list