Luabind shutdown crash with global pointer
Dain Bray <[email protected]>
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <[email protected]> |
Hello I'm having an issue with luabind 0.9(using VS2010 RC -- had to fix various compiler errors to get it working though ) where if I register a class with luabind and then pass luabind a pointer to a C++ instance of that class -- luabind will crash on shutdown in object_rep.cpp calling this function...
int destroy_instance(lua_State* L) { object_rep* instance = static_cast<object_rep*>(lua_touserdata(L, 1));
lua_pushstring(L, "__finalize"); lua_gettable(L, 1); <--crashes on this line
if (lua_isnil(L, -1)) { lua_pop(L, 1); } else { lua_pushvalue(L, 1); lua_call(L, 1, 0); }
instance->release_dependency_refs(L); instance->~object_rep(); return 0; }
All I need to do to make it crash is something like this...(tried it with other classes too.. same results)
using namespace luabind; luabind::module(_State) [ luabind::class_<ILua>("ILua") .def(constructor<const char*>()) ];
luabind::globals(_State)["ILuaHandler"] = this;
If I take out the part where I assign the global value to the pointer it does not crash -- is luabind trying to take ownership of the pointer I am passing it?
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
luabind-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luabind-user