Comment #2 on issue 3763 by [email protected]: assert failure during Decompiler>>popIntoTemporaryVariable:
http://code.google.com/p/pharo/issues/detail?id=3763

I am running into this problem without having to load MetacelloBrowser .... The infinite loop is started when printString is sent to the MethodContext for the method MetacellMCVersionSpec resolveToLoadableSpecs:map: Here's the source for the method:

resolveToLoadableSpecs: required map: packageMap

        | reqd allReqd map |
        reqd := required copy.
        allReqd := Set new.
        map := self packages map.
        [ reqd isEmpty ] whileFalse: [ | newReqd |
                newReqd := Set new.
                reqd do: [:req |
                        (self resolveToLoadableSpec: req forMap: map packages: 
packageMap)
                                do: [:loadableSpec |
                                        newReqd addAll: loadableSpec requires.
                                        newReqd addAll: loadableSpec includes 
]].
                allReqd addAll: reqd.
                newReqd removeAllFoundIn: allReqd.
                reqd := newReqd ].
        packageMap keys do: [:pkgName | | spec |
                (spec := (packageMap at: pkgName) resolveToLoadableSpec) == nil
                        ifTrue: [ packageMap removeKey: pkgName ]
ifFalse: [ packageMap at: pkgName put: (packageMap at: pkgName) resolveToLoadableSpec ]]

This particular bug is shutting me down so I will see if I can recast this method in a form that gets past method context printstring bug so I can figure out the root cause...



Reply via email to