[FIX] Re: ProcessBrowser

Phil Hargett hargettp at mindspring.com
Mon Nov 24 12:20:14 UTC 2003


Here's a simple fix: I just modified the BlockContext>>decompile method 
to handle errors on decompilation, and now the ProcessBrowser behaves 
fine (informative, too).  BTW, I think the problem is in the "timer 
interrupt watcher class, as the Process Browser thinks there's no 
source for the methods that are executing.  It's not immediately 
obvious to me why the Decompiler can't display this source code, as 
there is reasonable code in the Delay class that implements the timer 
interrupt watcher.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: BlockContext-decompile.st
Type: application/text
Size: 300 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20031124/4f2cf27b/BlockContext-decompile.bin
-------------- next part --------------


On Nov 21, 2003, at 8:05 AM, Phil Hargett wrote:

> Don't have a fix, but I did a little research on this myself (stepping 
> through the debugger...for me, it would always debug the correct 
> process).   What I found is that the Decompiler stuff doesn't do a 
> very good job of checking to see that the source string for the 
> current method is non-empty: I'm getting some kind of failure when 
> attempting to get the source for a method in Delay class, the source 
> returned by CompiledMethod>>getSourceFromFile is empty (''), and the 
> Decompiler craps out.
>
> I fixed one location, but still received an error in another location. 
>  I'd say the checking would need to be fairly extensive, as the source 
> stream appears to be referenced multiple times after it is acquired.
>
> :(
>
> On Nov 20, 2003, at 3:18 AM, Michael Roberts wrote:
>
>> Hi Ned,
>>
>> thanks for all your thoughts.  To answer your questions, 
>> basically...err no!  I hadn't seen the fixes, so haven't loaded them 
>> and didn't appreciate the priority issue.  I will take all these on 
>> board and let you know how I get on.
>>
>> Cheers
>>
>> Mike
>>
>> On Wed, Nov 19, 2003 at 04:06:20PM -0800, Ned Konz wrote:
>>> On Wednesday 19 November 2003 3:13 pm, Michael Roberts wrote:
>>>> I am trying to find out why this happens, but I was wondering if the
>>>> process browser is something that can be debugged normally? ?
>>>>
>>>> I do a debug-it on ProcessBrowser new openAsMorph
>>>>
>>>> It seems as I step through the methods I keep on getting new 
>>>> instances of
>>>> its system window opening in the world. ?The debugger also sometimes
>>>> doesn't always honour the step button and I end up in 
>>>> BlockContext>>on:do:
>>>> with the last line highlighted. ?This seems strange. ?I haven't 
>>>> ever seen
>>>> this before, but that isn't really saying anything.
>>>
>>> When you do a "debug it" you're executing code in a new Process. 
>>> Which isn't
>>> really what you want when you're debugging Morphic (because you want
>>> everything to run in the Morphic Process).
>>>
>>> Instead, try a "do it" on:
>>>
>>> 	ProcessBrowser new halt openAsMorph
>>>
>>>
>>>
>>
>
>


More information about the Squeak-dev mailing list