[Pharo-project] Issue 3763 in pharo: assert failure during Decompiler>>popIntoTemporaryVariable:

pharo at googlecode.com pharo at googlecode.com
Sat Feb 26 18:50:23 CET 2011


Comment #2 on issue 3763 by da... at teleport.com: 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...






More information about the Pharo-project mailing list