Makoto Hamanaka wrote:
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)
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.
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)
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.
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.
--
Irayo
|