lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


It's a bit strange that lua would not take appropriate measure to
enlarge the stack automatically. Silently stumping data is even more
strange.

On Mon, Jun 13, 2011 at 3:02 PM, Ross Andrews <ross.andrews@gmail.com> wrote:
> Seems fairly straightforward: you're pushing more things on to the stack
> than it has room for. If you call lua_checkstack first, it will enlarge the
> stack to make the room.
>
> On Mon, Jun 13, 2011 at 1:53 PM, Gabriel Lassonde
> <gabriel.lassonde@gmail.com> wrote:
>>
>> This question was probably answered before but I ran into a problem
>> trying to push many lua values from a c function.
>>
>> This is a small application that shows the problem.
>>
>> extern "C"
>> {
>> #include "lua-5.1.4/src/lua.h"
>> #include "lua-5.1.4/src/lauxlib.h"
>> }
>>
>> void main()
>> {
>>        lua_State * state = luaL_newstate();
>>
>>        for(size_t i = 0; i < 50; ++i)
>>        {
>>                //lua_checkstack(state, 1); // Uncommenting this "fixes"
>> the problem.
>>                lua_pushnumber(state, 7.0);
>>        }
>>
>>        lua_close(state);
>> }
>>
>> Upon "lua_close" the program crash (Heap corruption).
>>
>> I am compiling under windows.
>>
>> Can anyone help me understand what the problem is?
>>
>> Thank you,
>>
>> Gabriel
>>
>
>