problem - very slow "snapshotting methods"

Damien Cassou damien.cassou at gmail.com
Sat Apr 7 11:23:43 UTC 2007


Hi Cédrick,

do you use a base image or a squeak-dev one ? If squeak-dev, can you
try to upgrade packages through the universe browser, deactivate
dynamic protocols (preference browser) and deactivate
AutomaticMethodCategorization (through the #uninstall method or
something like this)?

2007/4/7, Cédrick Béler <cbeler at enit.fr>:
> Hi all...
>
> I just format my PC and now with squeak, I have problem when l encounter
> the step "snapshotting methods" (when loading a package for instance...).
>
> Do you have an idea where it may come from, I'm lost ?
>
> Thanks for all
>
> Cédrick
>
> 7 April 2007 10:41:34 am
>
> VM: Win32 - a SmalltalkImage
> Image: Squeak3.9 [latest update: #7067]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2.8
> Trusted Dir C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2.8\Administrateur
> Untrusted Dir C:\My Squeak\Administrateur
>
> MultiByteFileStream(StandardFileStream)>>register
>         Receiver: MultiByteFileStream: nil
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>
>
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
>         Receiver: MultiByteFileStream: nil
>         Arguments and temporary variables:
>                 fileName:       'C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2...etc...
>                 writeMode:      false
>                 f:      'C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2.8\seas...etc...
>                 id:     a ByteArray(120 1 0 0 208 27 102 4 0 0 0 0 0 0 0 0 155 93 61 0 0
> 0 0 0 0 0 ...etc...
>         Receiver's instance variables:
>
>
> MultiByteFileStream>>open:forWrite:
>         Receiver: MultiByteFileStream: nil
>         Arguments and temporary variables:
>                 fileName:       'C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2...etc...
>                 writeMode:      false
>                 result:         nil
>         Receiver's instance variables:
>
>
> MultiByteFileStream class(StandardFileStream class)>>readOnlyFileNamed:
>         Receiver: MultiByteFileStream
>         Arguments and temporary variables:
>                 fileName:       'C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2...etc...
>                 fullName:       'C:\Documents and
> Settings\Administrateur\Bureau\DEV\Seaside\seaside2...etc...
>                 f:      nil
>         Receiver's instance variables:
>                 superclass:     StandardFileStream
>                 methodDict:     a MethodDictionary(#accepts:->a CompiledMethod (238)
> #ascii->a Comp...etc...
>                 format:         152
>                 instanceVariables:      #('converter' 'lineEndConvention'
> 'wantsLineEndConversion')
>                 organization:   ('accessing' ascii binary converter converter:
> fileInEncodingName...etc...
>                 subclasses:     nil
>                 name:   #MultiByteFileStream
>                 classPool:      a Dictionary(#Cr->Character cr #CrLf->'
>
> ' #Lf->Character lf #LineEn...etc...
>                 sharedPools:    nil
>                 environment:    a SystemDictionary(lots of globals)
>                 category:       #'Multilingual-TextConversion'
>                 traitComposition:       nil
>                 localSelectors:         nil
>
>
> --- The full stack ---
> MultiByteFileStream(StandardFileStream)>>register
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> MultiByteFileStream>>open:forWrite:
> MultiByteFileStream class(StandardFileStream class)>>readOnlyFileNamed:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> [] in CompiledMethod>>timeStamp {[file readOnlyCopy]}
> BlockContext>>on:do:
> CompiledMethod>>timeStamp
> MethodReference>>timeStamp
> MCMethodDefinition class>>forMethodReference:
> MethodReference>>asMethodDefinition
> [] in MCPackage>>snapshot {[:ea | definitions add: ea
> asMethodDefinition]}
> [] in Array(SequenceableCollection)>>do:displayingProgress: {[:each :i |
>  bar value: i.  aBlock value: each]}
> Array(SequenceableCollection)>>withIndexDo:
> [] in Array(SequenceableCollection)>>do:displayingProgress: {[:bar |
> self   withIndexDo: [:each :i |     bar value: i.    aBlock value:
> e...]}
> [] in ProgressInitiationException>>defaultMorphicAction {[result :=
> workBlock value: progress]}
> BlockContext>>ensure:
> ProgressInitiationException>>defaultMorphicAction
> ProgressInitiationException>>defaultAction
> UndefinedObject>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> ProgressInitiationException(Exception)>>signal
> ProgressInitiationException>>display:at:from:to:during:
> ProgressInitiationException class>>display:at:from:to:during:
> ByteString(String)>>displayProgressAt:from:to:during:
> Array(SequenceableCollection)>>do:displayingProgress:
> MCPackage>>snapshot
> MCPackageLoader>>updatePackage:withSnapshot:
> [] in MCVersionLoader>>load {[:ea | ea canOptimizeLoading   ifTrue: [ea
> patch applyTo: loader]   ifFalse:...]}
> OrderedCollection>>do:
> MCVersionLoader>>load
> MCVersionLoader class>>loadVersion:
> MCVersion>>load
> [] in MCFileRepositoryInspector(MCVersionInspector)>>load {[self version
> load]}
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> MCFileRepositoryInspector(MCVersionInspector)>>load
> MCFileRepositoryInspector>>load
> PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
> PluggableButtonMorphPlus>>performAction
> [] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp: {[:m | (m
> containsPoint: evt cursorPoint)   ifTrue: [m performAction]]}
> ...etc...
>
>
>
>


-- 
Damien Cassou


More information about the Squeak-dev mailing list