Makoto Hamanaka wrote:|
Same results here on Gentoo (5.1.1 compiled from source), and Windows with 5.1.3 from LuaBinaries. However, Windows x64 5.1.3 LuaBinaries completes.For example, everything works here on linux, and the effect of using a step size argument is platform dependent, as the manual says. My guess is that using step size 0 is too small for your runtime.It is the result. The last call to collectgarbage("step",0) never returns. I waited 40 minutes and it doesn't respond.collectgarbage("setpause",100) collectgarbage("setstepmul",2000) collectgarbage("stop") collectgarbage("step",0)
Again, looks like the Windows x64 LuaBinaries returns fine, while Gentoo's 5.1.1 (32-bit) and 32-bit LuaBinaries 5.1.3 on Windows hang.Then I changed the value and experimented. Again, the last collectgarbage("step",10) doesn't return control to the prompt.collectgarbage("setpause",100) collectgarbage("setstepmul",2000) collectgarbage("step",10)
I'll see if I can find a 64-bit Linux system to test that as well.
I'm not sure if this is really a bug, as I'm not familiar with the internals of the garbage collection system and it does indeed say the behavior is 'non-specified', but I can say that I don't think Lua should ever enter an infinite loop.