-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UliLua stack增长代码的bug #53
Comments
你好,我昨天给你发过一个邮件了,不知道你收到没有? 这个问题我昨天已经作了一个提交修正了。但是没有重现出你说的转菊花的情况 邮件原文如下:我看了一下,确实应该是个 bug。 按理说 我改了之后跑了一下 UniLua 自带的例子没有发现问题 不知道你说的程序一直转菊花是什么状况,能不能给我一个重现的办法?我查一下 |
你好, 刚看到你的邮件。这个转菊花是我们自己游戏内部的转菊花,我暂时也没想到办法如何让你复现。不过确实是把小于改为小于等于之后才出现的。你跑的时那个unilua的例子。 在 2014年12月7日 下午2:16,阿楠 [email protected]写道:
|
嗯,能不能查一下是什么原因引起你的程序转菊花的?确认一下是不是 UniLua 的问题,是的话应该可以定位一下 UniLua 2014-12-07 14:19 GMT+08:00 honemle [email protected]:
|
Hi,
unilua中stack 增长的代码,看过之后觉得有一个bug,那就是:程序不能够分配LuaConf.LUAI_MAXSTACK的栈大小空间。源代码如下:
Do.cs:
private void D_GrowStack(int n)
{
int size = Stack.Length;
if(size > LuaConf.LUAI_MAXSTACK)
D_Throw(ThreadStatus.LUA_ERRERR);
这个代码里边,方法D_GrowStack是允许栈分配LUAI_MAXSTACK大小的,但是方法D_ReallocStack却不允许,因为这里
Utl.Assert(size < LuaConf.LUAI_MAXSTACK || size == ERRORSTACKSIZE);
只允许栈小于LUAI_MAXSTACK。
但是当我把这里的小于直接改为小于等于之后,程序一直转菊花,没反应。
所以想确认下,上述代码是否是一个bug,还是我用的unilua版本不对,我用的最新版。
如果这里确实是个bug,能否给一个解决方案。
期待回复!谢谢!
The text was updated successfully, but these errors were encountered: