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.

