[squeak-dev] Context>>#tempNames can raise Syntax Error
Thiede, Christoph
Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Nov 4 12:40:48 UTC 2019
Hi,
just to share my observations: I tested your repro in a few different images and found out the following similarities:
* The syntax error is raised by the attempt to create a DebuggerMethodMap for certain contexts
* I did not always manage to chase the pointers of the causing contexts
* But for example, in most images on my disk, one of them is (((World instVarNamed: #worldState) instVarNamed: #stepList) instVarNamed: #sortBlock)
* The context's method is not currently installed (#isInstalled)
* Decompiling that method *with temps* fails because its trail returns an invalid source pointer (usually a few hundred chars too big)
* Basically, the invalid state appears to be created in CompiledMethodTrailer >> #decodeSourcePointer
But I have no clue how this implementation works. Is it possible that is erroneous, or might the SourceFile be corrupted?
(Btw, the image freezes because DebuggerMethodMap class uses a Mutex while caching the new map.)
Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Fabio Niephaus <lists at fniephaus.com>
Gesendet: Donnerstag, 12. September 2019 13:23:57
An: The general-purpose Squeak developers list
Betreff: [squeak-dev] Context>>#tempNames can raise Syntax Error
Hi all,
While debugging a failing Seaside test on Squeak trunk (see [1]), I
learned that Context>>#tempNames can raise a syntax error. Here's a
repro doIt:
`Context allInstances collect: [:e | e tempNames]`
Anyone willing to look into this? When I try to debug the "calling
process", my image freezes...
Cheers,
Fabio
[1] https://travis-ci.org/SeasideSt/Seaside/jobs/578335182#L2733
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191104/f0552045/attachment.html>
More information about the Squeak-dev
mailing list
|