Error while setting jpeg background from file (primitive failed)

Andreas Raab andreas.raab at gmx.de
Sun Jan 29 18:58:03 UTC 2006


Marcus Denker wrote:
> 
> What does Traits have do do with this?

Quite a bit. The traits installation adds two variables to Behavior 
(traitComposition and localSelectors) and it looks like this isn't as 
harmless for the VM as most people (including myself) thought. It seems 
like there are a few places where the class name is assumed in a 
specific position, including Interpreter>>printNameOfClass:count: and 
Interpreter>>classNameOf:is:. The latter is what's causing the problem 
since it is used by Interpreter>>is:KindOf: which in turn is used by 
SmartSyntaxPluginCodeGenerator>>ccgLoad:expr:asKindOf:from: which is 
applied as the generic prologue for classes that have no more specific 
type checks (in this case we have a Form argument to which this applies).

Therefore, all primitives using this pattern will fail with post 6706 
images. What's potentially worse is that we don't know where else any of 
those functions are being used (I wonder if they are used in the FFI for 
some of the type checks...)

Fixing this will not be easy - if a VM change is required it means that 
older images will fail on newer VMs and vice versa.

Cheers,
   - Andreas




More information about the Squeak-dev mailing list