[FIX] Exception>>isNested

Paul McDonough paulm at 4thEstate.com
Thu Jan 13 16:55:22 UTC 2000


Stephen:

This bug would have left you in the hands of the wrong exception
handler, which has nothing to do with method returns per se, so I think
the answer is "no".  You could have run into a hole in the
ensured-execution machinery, though - I don't specifically know of any
bugs in there, but it is one of the more twisted areas in the code, so I
wouldn't be surprised to find one.

I would appreciate hearing about any remaining problems after you
install the fix - test cases that expose bugs are not always easy to
think of!

Cheers,
Paul

Stephen Pair wrote:
> 
> Paul,
> 
> I've noticed in certain situations when using exception handlers that
> returning from a method will mysteriously skip a few contexts.  Is that a
> symptom that this fix corrects?
> 
> Thanks,
> Stephen
> 
> > Folks,
> >
> > In browsing through the recent 2.7 Squeak release, we noticed a bug in
> > Exception>>isNested.  That method is supposed to answer true or false to
> > indicate whether or not the active exception handler is enclosed in
> > another handler which
> > handles similar exceptions.  In the current release, the search for the
> > handler actually *sets* the active handler to be whatever outer handler
> > it finds.  From there, any further code execution would thus take place
> > in an incorrect exception environment with, let's just say, potentially
> > startling results at the application level.
> >
> > The attached patch was installed in an up-to-date 2.7 image, and all
> > regression tests (see system category Exceptions-Tests) ran
> > successfully.  It should also be compatible with all versions of Squeak
> > back to 2.3.
> >
> > Sorry for leaving that one in there,
> > Paul McDonough
> >
> > on behalf of those at TFEI who sometimes write code too late at night
> > ...
> >





More information about the Squeak-dev mailing list