luaL_newstate 在 valgrind 下不成功?
luaL_newstate doesn't succeed under valgrind?
我正在尝试调试 64 位下基于 luajit 的应用程序的一些问题 Linux。
该脚本通过 FFI 回调到许多库中,我正试图找出一些内存损坏问题。 Valgrind 通常是我为此选择的工具,但是我发现 luaL_newstate 在 Valgrind 下 运行 时失败。
经过一番摸索,我发现标准的 luajit 也无法加载。我认为 valgrind 比 luajit 更可能是个问题。有没有办法给 valgrind 更多内存?
如果您使用的 valgrind 版本从 3.9.0 版开始一直到(但不包括)3.11.0 版,这很可能是问题所在。
这些版本似乎是 "broken" 在 x86_64 上与 luajit。
参见 Mike Pall 的 this email:
[Note that Valgrind 3.9.0 has chosen to block MAP_32BIT, which
breaks LuaJIT on Linux/x64:
https://bugs.kde.org/show_bug.cgi?id=324181
Older versions of Valgrind still work. It wasn't that useful to
debug LuaJIT on x64, anyway, due to the mandatory use of the
builtin allocator. But none of that relates to your problem.]
我正在尝试调试 64 位下基于 luajit 的应用程序的一些问题 Linux。
该脚本通过 FFI 回调到许多库中,我正试图找出一些内存损坏问题。 Valgrind 通常是我为此选择的工具,但是我发现 luaL_newstate 在 Valgrind 下 运行 时失败。
经过一番摸索,我发现标准的 luajit 也无法加载。我认为 valgrind 比 luajit 更可能是个问题。有没有办法给 valgrind 更多内存?
如果您使用的 valgrind 版本从 3.9.0 版开始一直到(但不包括)3.11.0 版,这很可能是问题所在。
这些版本似乎是 "broken" 在 x86_64 上与 luajit。
参见 Mike Pall 的 this email:
[Note that Valgrind 3.9.0 has chosen to block MAP_32BIT, which breaks LuaJIT on Linux/x64:
https://bugs.kde.org/show_bug.cgi?id=324181
Older versions of Valgrind still work. It wasn't that useful to debug LuaJIT on x64, anyway, due to the mandatory use of the builtin allocator. But none of that relates to your problem.]