[squeak-dev] The Trunk: Kernel-dtl.586.mcz

David T. Lewis lewis at mail.msen.com
Wed May 11 10:36:58 UTC 2011


On Wed, May 11, 2011 at 07:04:14AM +0100, Frank Shearar wrote:
> On 2011/05/11 00:47, commits at source.squeak.org wrote:
> >David T. Lewis uploaded a new version of Kernel to project The Trunk:
> >http://source.squeak.org/trunk/Kernel-dtl.586.mcz
> >
> >==================== Summary ====================
> >
> >Name: Kernel-dtl.586
> >Author: dtl
> >Time: 10 May 2011, 8:47:40.644 pm
> >UUID: 08000000-1508-8a15-1508-8a1514000000
> >Ancestors: Kernel-fbs.585
> >
> >Igor's fix for CompiledMethodTrailer>>encodeVarLengthSourcePointer, see 
> >CompiledMethodTrailerTest>>testEncodingZeroSourcePointer for test 
> >and<http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-May/159822.html>  for discussion.
> >
> >=============== Diff against Kernel-fbs.585 ===============
> >
> >Item was changed:
> >   ----- Method: CompiledMethodTrailer>>encodeVarLengthSourcePointer (in 
> >   category 'encoding') -----
> >   encodeVarLengthSourcePointer
> >
> >   	"source pointer must be>=0"
> >+ 	[data>= 0] assert.
> >- 	(self assert: data>= 0).
> 
> Igor obviously did find an actual problem, but how do we reach this 
> point with data = 0? The above assert raises an exception... which is 
> resumable. So I guess something's resuming the AssertionFailure?

It happened to somebody with a messed up Pharo image (discussion was
on the Pharo list). Consequences included VM crashes and it was hard
for the victim to debug. So although the issue is unlikely to appear
in Squeak, it is nevertheless a good idea to protect against it.

Dave




More information about the Squeak-dev mailing list