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