full/relative path still brokenish
Keith Hodges
keith_hodges at yahoo.co.uk
Mon Apr 23 02:04:20 UTC 2007
Dear Chris,
Allowing images to be moved, and/or uploaded to a server was the
motivating factor in enabling the repository to be specifiable via a
relative path.
I discovered that moving a Squeak image running magma, and the database
to another directory on my server does not work entirely unaided.
The restarting magma server raises the following error.
best regards
Keith
---------
Working Dir /media/hda1/www/gsoc
Trusted Dir /media/hda1/www/gsoc/secure
Untrusted Dir /media/hda1/www/gsoc/My Squeak
MaObjectFiler>>open
Receiver: a MaObjectFiler
Arguments and temporary variables:
Receiver's instance variables:
directory: UnixFileDirectory on
'/media/hda1/squeak/pr_gsoc/magma'
file: nil
preMadeObjectBuffer: a MaObjectBuffer
oid : **invalid**
classId : **invalid*...etc...
filePositionIndex: nil
usedByteArrays: an Array(a ByteArray(0) a ByteArray(0 0) a
ByteArray(0 0 0) a B...etc...
primitiveAttributeAddressesMap: a
Dictionary('anchorOid'->43->64 'booleanFlags'...etc...
MaObjectFiler class>>open:
Receiver: MaObjectFiler
Arguments and temporary variables:
aFileDirectory: UnixFileDirectory on
'/media/hda1/squeak/pr_gsoc/magma'
Receiver's instance variables:
superclass: MaObject
methodDict: a MethodDictionary(#anchorOid->a CompiledMethod
(3402) #anchorOid:-...etc...
format: 142
instanceVariables: #('directory' 'file'
'preMadeObjectBuffer' 'filePositionInde...etc...
organization: ('accessing' anchorOid classDefinitionsOid
dataFileName definitio...etc...
subclasses: nil
name: #MaObjectFiler
classPool: nil
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Magma server-private'
traitComposition: nil
localSelectors: nil
MaObjectRepository>>open:
Receiver: a MaObjectRepository
Arguments and temporary variables:
aFileDirectory: UnixFileDirectory on
'/media/hda1/squeak/pr_gsoc/magma'
Receiver's instance variables:
transactionLog: a MaTransactionLog
sessions: a Dictionary()
filer: nil
repositoryController: a MagmaRepositoryController
largeCollectionManagers: a Dictionary()
systemReadStrategy: nil
nextOid: nil
recoveryManager: nil
commitGuard: a Monitor
applyProcess: nil
wantsToClose: nil
filePool: a MaFileStreamPool
MaObjectRepository class>>open:controller:
Receiver: MaObjectRepository
Arguments and temporary variables:
aFileDirectory: UnixFileDirectory on
'/media/hda1/squeak/pr_gsoc/magma'
aMaRepositoryController: a MagmaRepositoryController
Receiver's instance variables:
superclass: MaObject
methodDict: a MethodDictionary(#abortTransactionFor:->a
CompiledMethod (249) #a...etc...
format: 154
instanceVariables: #('transactionLog' 'sessions' 'filer'
'repositoryController'...etc...
organization: ('client-requests' abortTransactionFor:
fractionLoaded: getTrunkF...etc...
subclasses: nil
name: #MaObjectRepository
classPool: a Dictionary(#RunningTestCases->false
#SimulateOutage->false )
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'Magma server-private'
traitComposition: nil
localSelectors: nil
--- The full stack ---
MaObjectFiler>>open
MaObjectFiler class>>open:
MaObjectRepository>>open:
MaObjectRepository class>>open:controller:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MagmaRepositoryController>>privateOpen:
[] in MagmaRepositoryController>>open {[self privateOpen: directory]}
BlockContext>>on:do:
MagmaRepositoryController>>open
MagmaRepositoryController>>ensureOpen
[] in MagmaRepositoryController class>>startUp: {[each ensureOpen]}
BlockContext>>on:do:
[] in MagmaRepositoryController class>>startUp: {[[each ensureOpen]
on: MagmaNotification do: [:noti | Transcript cr;...]}
BlockContext>>on:do:
[] in MagmaRepositoryController class>>startUp: {[:each | [[each
ensureOpen] on: MagmaNotification do: [:noti | Trans...]}
Set>>do:
MagmaRepositoryController class>>startUp:
[] in SystemDictionary>>send:toClassesNamedIn:with: {[:name | class :=
self at: name ifAbsent: []. class ifNil: [remo...]}
OrderedCollection>>do:
SystemDictionary>>send:toClassesNamedIn:with:
SystemDictionary>>processStartUpList:
SmalltalkImage>>snapshot:andQuit:embedded:
SmalltalkImage>>snapshot:andQuit:
TheWorldMenu>>saveAndQuit
TheWorldMenu>>doMenuItem:with:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
numArgs) = 0 ifTrue: [target perform: selector] ...]}
BlockContext>>ensure:
...etc...
More information about the Magma
mailing list