[plt-scheme] Hang in macro stepper when macro expansion does not terminate

From: Ryan Culpepper (ryanc at ccs.neu.edu)
Date: Wed Sep 2 20:33:09 EDT 2009

Brian Mastenbrook wrote:
> On Sep 2, 2009, at 5:34 PM, Ryan Culpepper wrote:
>> On Sep 2, 2009, at 5:53 PM, Matthias Felleisen wrote:
>>> Sadly Ryan thinks that the macro stepper should execute the code 
>>> through which you step. I am hoping that everyone on this list can 
>>> help me convince him that this shouldn't be the case ...
>>> Use STOP to kill the execution as normal.
>> Matthias: This is not about nonterminating execution. It is about 
>> nonterminating expansion.
>> Brian: Clicking Stop is supposed to interrupt expansion. I'll try to 
>> see why it isn't working. BTW, what platform do you see the problem on?
> Sorry, I forgot to include those details in my original message. I'm 
> using PLT 4.2.1 on OS X. When I click Stop the first time, the macro 
> stepper appears, but then it hangs again for a long time. It seems that 
> the longer I let it go before clicking "Stop", the longer it takes for 
> the stepper to appear. When I first tried this, I had let it run for a 
> while, and so when I clicked Stop I thought it had hung entirely.

Thanks for the details. Here's what seems to be going on. When you click 
Stop, macro expansion is interrupted, and the macro stepper starts 
constructing its report of macro expansion. That takes a long time in 
this case, and it can't be interrupted using Stop again.

I think that making the second process asynchronous would fix the 
problem with DrScheme becoming unresponsive. I'll give that a try.


Posted on the users mailing list.