[squeak-dev] Mantis #7695

Frank Shearar frank.shearar at gmail.com
Wed Sep 12 09:35:00 UTC 2012


On 12 September 2012 02:23, Chris Muller <asqueaker at gmail.com> wrote:
> *** (Question for Bert and Josh Gargus, below).
>
> OMG Thank You John!  I cannot review your solution but I tested it.  I
> have been suffering this major problem for a long time now.  It's
> awful, actually -- just working, deep in thought and suddenly -- the
> image locking up seemingly for no reason.  I did eventually realize it
> was due to a bug in my alarm code, but only after lost time and work.
> I'm sure this was not an easy find / fix, thank you!
>
> Maui uses alarms so I used that to test it.  I purposely broke my
> alarm-code to have a DNU in it.  Without your fix, the image locks up.
>  With your fix, I actually get TWO debuggers telling me the problem --
> which is MUCH better than locking up.
>
> I see all you did was fork valuing the alarm..?  Interesting.

But that makes all the difference in the world: without the fork, any
errors raised will unwind the stack past WorldState >>
#triggerAlarmsBefore:, letting "userland" fails eat into "kernel"
parts of the code.

Without being an expert in this _at all_, the lock's there because
using futures means multiple Processes adding alarms. (I would
actually prefer to see futures using something similar to #fork rather
than using Morphic, and would have submitted something, if I weren't
doing umpteen other things. My bad!)

frank

> Even more interesting, I went back to Andreas' original version of the
> method (from year 2000).  When I revert to his version, I get no lock
> up and just one debugger as I would expect.  It's perfect.
>
> And this suddenly made me realize that I think Josh's change
> introduced even another problem which I've been seeing and unable to
> track down -- Maui messages inexplicably firing TWICE.  With your fix
> having two debuggers appear vs. one with Andreas' original  method, it
> sure implicates this method for THAT problem too!
>
> *** Question for Bert and Josh:
>
> This was introduced in Morphic-jcg.301 and Morphic-jcg.302.  The
> comment for 301 says it was inspired by Berts suggestion in the
> "Future Sends" thread.  I found that in the archives at around the
> same time as this change, but I do not understand the discussion, nor
> this change.  Could you guys please revisit this and see if you can
> remember what this is about so we can fix it right?  As it is, it
> really hurts.
>
> I'd be happy to help test if necessary.
>
> Thanks,
>   Chris
>
>
>
> On Tue, Sep 11, 2012 at 7:13 PM, John McKeon <p3anoman at gmail.com> wrote:
>> Hello list,
>> I thought I would take a stab at making a contribution to this software I so
>> love.
>> So I posted a file out to fix this issue and would ask if someone could
>> review it.
>>
>> Thanks
>> John McKeon
>>
>> --
>> jmck.seasidehosting.st
>>
>>
>>
>


More information about the Squeak-dev mailing list