[racket-dev] errors from `force`

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Wed Aug 29 11:23:20 EDT 2012

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.
-- 
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.