[racket-dev] errors from `force`

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Thu Aug 30 10:47:36 EDT 2012

On Wed, Aug 29, 2012 at 11:23 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Wed, Aug 29, 2012 at 11:17 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>> At Wed, 29 Aug 2012 10:34:02 -0400, Sam Tobin-Hochstadt wrote:
>>> On Wed, Aug 29, 2012 at 9:20 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>>> > At Mon, 27 Aug 2012 17:36:42 -0400, Sam Tobin-Hochstadt wrote:
>>> >> Since I've made the Typed Racket tests run in parallel, there have
>>> >> been intermittent errors in DrDr, like this:
>>> >>
>>> >>   http://drdr.racket-lang.org/25278/collects/tests/typed-racket/run.rkt
>>> >>
>>> >> I'm not sure exactly what could be causing this -- I don't think
>>> >> promises should ever fail to `force`.  Might there be something I'm
>>> >> doing wrong, or is this a bug in promises?
>>> >
>>> > I've fixed a race in `delay/sync' that I think could cause the error.
>>>
>>> Unfortunately, this DrDr build with your fix still has the problem:
>>> http://drdr.racket-lang.org/25292/collects/tests/typed-racket/run.rkt
>>>
>>> I've never been able to reproduce this bug on my machine, though.
>>
>> For this problem, I think I should be looking at `delay/thread',
>> instead of `delay/sync'.
>>
>> I can provoke the error in the DrDr report with
>>
>>  (force (delay/thread (kill-thread (current-thread))))
>>
>> I'll fix `delay/thread'. But could it be that a test wrapped with
>> `delay/thread' times out and aborts by killing the current thread?
>
> There's no timeout in the Typed Racket tests themselves, and I don't
> think it's running into the DrDr timeout, since that's much longer
> than the the 10 seconds it's taking to produce this error.
>
> I'll investigate why the thread is getting killed.

I've been unable to replicate the error from revision 6039e35, which
is right before you fixed the bugs in `delay/*`.

Jay, is there something DrDr is doing when it runs the command that I
should change to try to replicate this?
-- 
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.