Since the dynamic wind error is definitely a Racket bug, I reproduced
it in a single file and opened an issue here:
https://github.com/racket/racket/issues/2341

I haven't gotten an error in RacketCS yet, but it is about 2x slower
than on traditional Racket.

Sam
On Sun, Oct 28, 2018 at 2:05 PM Christopher Lemmer Webber
<[email protected]> wrote:
>
> Christopher Lemmer Webber writes:
>
> > Matthew Flatt writes:
> >
> >> Is your example something I can run myself to track down the problem?
> >> The trigger for these kinds of bugs is often difficult to extract into
> >> a small example.
> >
> > It is, but there's currently another bug intertwined which is causing
> > memory exhaustion in this same case.  I don't think they're interrelated
> > anymore, but let me fix that one so you can see the problem in isolation
> > without blowing through your RAM :)
> >
> > I'll try to clean it up today/tomorrow and will respond with an example
> > you can run once I've done so.
>
> So I actually didn't get rid of the memory exhaustion problem, but I
> *did* get rid of the "Dynamic-wind record doesn't match prompt!" error.
> I'm not sure exactly how the "fix" fixed it though, I mostly moved the
> code shape closer to the shape it was previously before the error
> happened.
>
> To reproduce, clone goblins:
>   https://gitlab.com/spritely/goblins.git
>
> Now check out the commit 1db58e8, which is the v0.1 release
>
> Now follow the instructions on the top of:
>   https://gitlab.com/spritely/goblins/issues/8
>
> (the second code block there has some code you can run yourself to
> reproduce the bug.)
>
> More about the "fix":
> https://gitlab.com/spritely/goblins/issues/8#note_112548932
>
> Note that I still am hitting problems, but they aren't this problem:
>  - Still have the memory leak.  It's very hard for me to figure out
>    why references to the promises, promise resolvers, and listeners
>    are not being cleaned up.
>  - A couple of the fixes I've tried have managed to segfault Racket...
>    one crashed the GC.  I guess those might be of interest.
>
> I didn't have these problems before I moved to the promise-based
> architecture I'm now using.  There's a lot more allocation of
> intermediate actors powering things now, and I'm okay with some
> performance tradeoff if it means a cleaner design, but I should probably
> sort out the leaks and crashes :)
>
>  - Chris
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to