Code: Select all
69 if world then
70 world:destroy()
71 end
Is this an internal error, or one on my part? And can I avoid it somehow?
Code: Select all
69 if world then
70 world:destroy()
71 end
Code: Select all
world:setCallbacks(collisionBeginContact, function() collectgarbage() end)
Yes, a very nasty one. It messes up the memoizer lookups if you collect too late.Whyte Vuh'uni wrote:What a peculiar bug.
I ran into a very similar issue and thought I could provide some additional details that may be helpful to those seeing (or fixing) it.Boolsheet wrote:Yes, a very nasty one. It messes up the memoizer lookups if you collect too late.
Is there anything I can do after resuming in the debugger to avoid/minimize this situation. I tried calling collectgarbage, but it doesn't seem to be enough. Is there a way to "clean up" collision objects to make it continue without crashing? Thanks.bartbes wrote:Ah, yes, the pausing might actually be causing this, since the lifetime of these objects is very short, and the pause would then extend it beyond its intended goal (which causes this). For instance, it might be messing with lua's gc, causing it to not collect in time.
At this point I'm good with using workarounds .bartbes wrote:Well, with userdata you typically have to do two gc cycles to clean it up, so you could try that, though it's a workaround at best.
Users browsing this forum: Ahrefs [Bot], Google [Bot], snibo and 5 guests