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