[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Lua segfault during C++ stack unwinding process on linux
- From: Pavel Shevaev <pacha.shevaev@...>
- Date: Mon, 28 Dec 2009 12:25:05 +0300
Folks, I'm trying to spot what causes my application to segfault and
the core dump points to Lua's luaH_getstr() call(the full call stack
is at the the bottom of this mail).
What's really interesting is the fact Lua is called(lua_call to be
more precise) during C++ stack unwinding process.
_Unwind_Resume() call resumes stack unwinding and somehow it ends up
calling dl_iterate_phdr() which in its turn ends up calling lua_call()
and which eventually ends up calling segfaulting luaH_getstr().
Could please someone clarify what's going on :) ? I'm especially
interested in how comes dl_iterate_phdr() ends up calling lua_call?
Thanks in advance for _any_ clues.
Here is the call stack:
#0 0x00002b2d642cb3e7 in kill () from /lib/libc.so.6
#1 0x0000000000520208 in on_signal ()
#2 <signal handler called>
#3 0x00002b2d61ed4731 in luaH_getstr () from libgmesh.so
#4 0x00002b2d61ed47c4 in luaH_get () from libgmesh.so
#5 0x00002b2d61ec1eaf in lua_rawget () from libgmesh.so
#6 0x00000000005ac6bf in module_index_event ()
#7 0x00002b2d61ec6f3b in luaD_precall () from libgmesh.so
#8 0x00002b2d61ec71a6 in luaD_call () from libgmesh.so
#9 0x00002b2d61ed62a9 in callTMres () from libgmesh.so
#10 0x00002b2d61ed65a7 in luaV_gettable () from libgmesh.so
#11 0x00002b2d61ed77dd in luaV_execute () from libgmesh.so
#12 0x00002b2d61ec71b8 in luaD_call () from libgmesh.so
#13 0x00002b2d61ec26e6 in lua_call () from libgmesh.so
#14 0x00002b2d61ed0c32 in ll_require () from libgmesh.so
#15 0x00002b2d61ec6f3b in luaD_precall () from libgmesh.so
#16 0x00002b2d61ed90bb in luaV_execute () from libgmesh.so
#17 0x00002b2d61ec71b8 in luaD_call () from libgmesh.so
#18 0x00002b2d61ec26e6 in lua_call () from libgmesh.so
#19 0x00002b2d61ed0c32 in ll_require () from libgmesh.so
#20 0x00002b2d61ec6f3b in luaD_precall () from libgmesh.so
#21 0x00002b2d61ed90bb in luaV_execute () from libgmesh.so
#22 0x00002b2d61ec71b8 in luaD_call () from libgmesh.so
#23 0x00002b2d61ec26e6 in lua_call () from libgmesh.so
#24 0x00002b2d61ed0c32 in ll_require () from libgmesh.so
#25 0x00002b2d61ec6f3b in luaD_precall () from libgmesh.so
#26 0x00002b2d61ed90bb in luaV_execute () from libgmesh.so
#27 0x00002b2d61ec71b8 in luaD_call () from libgmesh.so
#28 0x00002b2d61ec26e6 in lua_call () from libgmesh.so
#29 0x00002b2d64094849 in ?? () from /lib/libgcc_s.so.1
#30 0x00002b2d614d3870 in ?? () from libgamedlib.so
#31 0x000000000000000b in ?? ()
#32 0x00002b2d64095391 in ?? () from /lib/libgcc_s.so.1
#33 0x00002b2d64392d27 in dl_iterate_phdr () from /lib/libc.so.6
#34 0x00002b2d6a50fe80 in ?? ()
#35 0x0000000000000001 in ?? ()
#36 0x00002b2d64094849 in ?? () from /lib/libgcc_s.so.1
#37 0x00002b2d614d3870 in ?? () from libgamedlib.so
#38 0x000000000000000b in ?? ()
#39 0x00002b2d64095391 in ?? () from /lib/libgcc_s.so.1
#40 0x00002b2d64392d27 in dl_iterate_phdr () from /lib/libc.so.6
#41 0x00002b2d6a50fe80 in ?? ()
#42 0x0000000000000001 in ?? ()
#43 0x00002b2d63bbb4f2 in __gxx_personality_v0 () from
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libstdc++.so.6
#44 0x00002b2d64093e99 in ?? () from /lib/libgcc_s.so.1
#45 0x00002b2d64093f64 in _Unwind_Resume () from /lib/libgcc_s.so.1
#46 0x00002b2d602ee8d3 in AI::reset () from libgamedlib.so
--
Best regards, Pavel