full/relative path still brokenish
Chris Muller
asqueaker at gmail.com
Mon Apr 23 16:25:16 UTC 2007
Hi,
I just tried it with "r39" (the current release) and it seemed to
work.. Let's clarify the use-case, here's what I did:
1. Created a repository in "curr1". This is a directory inside the
directory the image was launched from.
2. opened a MagmaSession on it locally.
3. Save and exit the image.
4. Move the image, changes and "curr1" directory to another place.
5. Launch the image in the new place.
6. "self root" in the session inspector worked fine.
Would you mind clarifying what you did, maybe we can see a difference
to identify the cause of the issue.
Thanks..
On 4/22/07, Keith Hodges <keith_hodges at yahoo.co.uk> wrote:
> 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...
>
> _______________________________________________
> Magma mailing list
> Magma at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
More information about the Magma
mailing list