[squeak-dev] Mantis #7695
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!)
> 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.
> 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
>> So I posted a file out to fix this issue and would ask if someone could
>> review it.
>> John McKeon
More information about the Squeak-dev