luaj 配合Handler

大家好,我使用luaj 调用java接口, 一直正常。
但是在java中调用lua回调接口,就会出错。如果在java中直接调用lua接口没有问题,因为是异步处理,所以在Handler中调用lua回调会报错。
java调用lua回调使用的API是 Cocos2dxLuaJavaBridge.callLuaFunctionWithString + Cocos2dxLuaJavaBridge.releaseLuaFunction

程序闪退,错误信息如下:
10-27 10:54:08.646: D/luajc(14837): LuaJavaBridge::callJavaStaticMethod(lua_State *L)
10-27 10:54:08.647: D/JniHelper(14837): JniHelper::getJavaVM(), pthread_self() = -567912144
10-27 10:54:08.647: E/SHAORT(14837): tipInfo = callbacklua; luaFunc = 1
10-27 10:54:08.648: D/luajc(14837): LuaJavaBridge::callJavaStaticMethod(“com/darren/main/shaort”, “callbackLua”, args, “(Ljava/lang/String;I)V”) SUCCESS
10-27 10:54:08.648: D/luajc(14837): luajreleaseLuaFunctionById() - function id 1 released
10-27 10:54:08.649: A/libc(14837): Fatal signal 11 (SIGSEGV), code 1, fault addr 0xa802052 in tid 14889 (GLThread 7883)

每次错误信息会有不同:
10-27 10:56:23.678: D/luajc(15333): LuaJavaBridge::callJavaStaticMethod(lua_State *L)
10-27 10:56:23.678: D/JniHelper(15333): JniHelper::getJavaVM(), pthread_self() = -566867664
10-27 10:56:23.679: E/SHAORT(15333): tipInfo = callbacklua; luaFunc = 2
10-27 10:56:23.679: D/luajc(15333): LuaJavaBridge::callJavaStaticMethod(“com/darren/main/shaort”, “callbackLua”, args, “(Ljava/lang/String;I)V”) SUCCESS
10-27 10:56:23.696: A/libc(15333): heap corruption detected by dlfree
10-27 10:56:23.696: A/libc(15333): Fatal signal 6 (SIGABRT), code -6 in tid 15333 (.jinz.qp.shaort)

应该可以通过发消息 搞定吧

谢谢。找到问题了,要切到GL线程调用。 runOnGLThread