[SPUR] ImageSegment>>#restoreEndianess works head-ful but not head-less, why?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[SPUR] ImageSegment>>#restoreEndianess works head-ful but not head-less, why?

Tobias Pape

Dear all,

the current Squeak Trunk on Spur is crashing with a 'Recursive not understood error encountered'
in ImageSegment>restoreEndianness. (See http://build.squeak.org/job/SqueakTrunkOnSpur/608/console)

However, running this thing not headless as jenkins but headful, the indicated test does not crash there.

The only thing I noticed is that restoreEndianess relies on the total temporal order of objects:

        object := segment.
        [object := object nextObject.  "all the way to the end of memory to catch remade objects"
                object == endMarker ifTrue: [inSeg := false]. "off end"
                " .... "
                object == 0] whileFalse.

I cannot understand where a recursive dNU should appear here or why it should work
with X but not without.

I am truly puzzled.

I know that ImageSegments are a tad tied to the V3 Memory layout, but nevertheless, I think
spur shouldn't choke that hard on them…

Best regards
        -Tobias