On Tue, Feb 23, 2010 at 3:55 AM, Fernando olivero <olive...@lu.unisi.ch>wrote:

>
> On Feb 23, 2010, at 4:19 AM, John M McIntosh wrote:
>
> >
> > On 2010-02-22, at 6:48 PM, Javier Pimás wrote:
> >
> >>
> >
> >> Lastly, as I said when I loaded Alien Core the first time, I got this
> error while loading it:
> >>
> >> Alien class>>#ensureInSpecialObjectsArray: "Index probably wrong".
> >>
> >> What should I do about that? ignore it?
> >
> > Well it seems to be related to
> >
> >       ((Smalltalk includesKey: #ObjectMemory)
> >        and: [((Smalltalk at: #ObjectMemory) classPool at: #ClassAlien
> ifAbsent: []) ~~ (index - 1)]) ifTrue:
> >               [self error: 'index probably wrong'].
> >
> > Usually people don't have ObjectMemory loaded in their image, and I"m not
> sure what it is check for.
> > Why don't you try it in a regular Pharo image versus your VMMaker image.
>
> Great work Jorge! Nice to know you won the battle against VMMaker!
>
>
Haha, it's Javier but you were very close, keep trying :P


> The ensure in special objects array error, has to do with some missing
> classes as John pointed out.
>

> The smalltalk special objects array has hardcoded indexes for some relevant
> classes ( Globals) in the system.
> In the alien configuration i've just ensured that the size should be 53,
> before loading Alien, because the Alien code installs itself in that array
> at positions 54 and 55.
>
>
Before loading my image has 50 items, last one being #run:with:in:. After
loading alien I've got 55. The new ones are:

[51] : nil
[52] : nil
[53] : Alien
[54] : #invokeCallback:stack:registers:jmpbuf:
[55] : UnsafeAlien

Other strange stuff is that while inspecting (Smalltalk at: #Interpreter)
classPool I found that

[#PrimErrBadArgument] : nil
[#PrimErrBadIndex] : nil
[#PrimErrBadNumArgs] : nil
[#PrimErrBadReceiver] : nil
[#PrimErrGenericFailure] : nil
[#PrimErrInappropriate] : nil
[#PrimErrNoCMemory] : nil
[#PrimErrNoMemory] : nil
[#PrimErrNoModification] : nil
[#PrimErrNotFound] : nil
[#PrimErrTableIndex] : nil
[#PrimErrUnsupported] : nil
[#PrimNoErr] : nil

Which means that initializePrimitiveErrorCodes hasn't been called, which
explains why special object #52 is nil. Analysing it a bit more I discover
that initializePrimitiveErrorCodes has no senders, is that right?


Regards,
             Javier.



> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Javier Pimás
Ciudad de Buenos Aires
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to