full/relative path still brokenish

Chris Muller asqueaker at gmail.com
Fri Apr 27 00:31:30 UTC 2007


(Just got back from a biz trip, sorry for the delay).  Yeah, you're
right, I see it.  I thought it was ok below because I actually
*copied* the image and db to another location.  When I opened the
image,it reopened teh db in the original location and I thought
everything was ok..

I'll see about fixing this for the upcoming "r40" release.  If you
happen to fix it yourself before then, please send it to me.  Thanks..

 - Chris

On 4/23/07, Chris Muller <asqueaker at gmail.com> wrote:
> 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