Re: luabind and g++ 4.7
[email protected] Thu, 5 Apr 2012 10:25:40 +0200 (CEST)
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <1251791096.4676183.1333614340071.JavaMail.root@zimbra33-e6.priv.proxad.net> |
Hi,
thanks for the answer. Sorry for the so few details and so vague message last
time. Here are more details.
Compilation works fine under both versions of compilers (CXX exported to the
correct g++ file).
The program crashes when running after being compiled with g++ 4.7.
Here below a backtrace.
But what's annoying me here is that gdb uses the wrong files (here files from
g++ 4.6 whereas the program was _really_ compiled with g++ 4.7).
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe2742700 (LWP 27305)]
_M_lower_bound (__y=<optimized out>, __k=..., __x=0x407, this=<optimized out>)
at /usr/include/c++/4.6/bits/stl_tree.h:1096
warning: Source file is more recent than executable.
1096
(gdb) bt
#0 _M_lower_bound (__y=<optimized out>, __k=..., __x=0x407, this=<optimized out>)
at /usr/include/c++/4.6/bits/stl_tree.h:1096
#1 find (__k=..., this=0x7fffe27410e8) at /usr/include/c++/4.6/bits/stl_tree.h:1539
#2 find (__x=..., this=0x7fffe27410e8) at /usr/include/c++/4.6/bits/stl_map.h:752
#3 get (object_offset=-6846562, dynamic_id=6, target=6, src=6896208, this=0x7fffe27410e8) at src/inheritance.cpp:87
#4 luabind::detail::cast_graph::impl::cast (this=0x7fffe27410d0, p=0x687868, src=6896208, target=6, dynamic_id=6,
dynamic_ptr=<optimized out>) at src/inheritance.cpp:152
#5 0x00007ffff799f66c in luabind::detail::cast_graph::cast (this=<optimized out>, p=<optimized out>,
src=<optimized out>, target=<optimized out>, dynamic_id=<optimized out>, dynamic_ptr=<optimized out>)
at src/inheritance.cpp:227
#6 0x000000000043b6c1 in luabind::detail::pointer_holder<game::ServerMonster*, void const>::get (this=0x696ba0,
target=6) at /usr/include/luabind/detail/instance_holder.hpp:109
#7 0x0000000000423997 in luabind::detail::object_rep::get_instance (this=0x6939f8, target=6)
at /usr/include/luabind/detail/object_rep.hpp:59
#8 0x000000000044015b in luabind::detail::const_ref_converter::match<game::ServerMonster> (this=0x7fffe2741140,
L=0x6859f0, index=1) at /usr/include/luabind/detail/policy.hpp:450
#9 0x0000000000440494 in luabind::detail::invoke_member<game::MonsterState (game::ServerMonster::*)() const, boost::mpl::vector2<game::MonsterState, game::ServerMonster const&>, luabind::detail::null_type> (L=0x6859f0, self=..., ctx=..., f=
@0x692790: (game::MonsterState (game::ServerMonster::*)(const game::ServerMonster * const)) 0x432bd8 <game::ServerMonster::GetState() const>) at /usr/include/luabind/detail/call.hpp:257
#10 0x000000000043fe9c in luabind::detail::invoke0<game::MonsterState (game::ServerMonster::*)() const, boost::mpl::vector2<game::MonsterState, game::ServerMonster const&>, luabind::detail::null_type, boost::is_void<game::MonsterState> > (
L=0x6859f0, self=..., ctx=..., f=
@0x692790: (game::MonsterState (game::ServerMonster::*)(const game::ServerMonster * const)) 0x432bd8 <game::ServerMonster::GetState() const>, policies=...) at /usr/include/luabind/detail/call.hpp:78
#11 0x000000000043e945 in luabind::detail::invoke<game::MonsterState (game::ServerMonster::*)() const, boost::mpl::vector2<game::MonsterState, game::ServerMonster const&>, luabind::detail::null_type> (L=0x6859f0, self=..., ctx=..., f=
@0x692790: (game::MonsterState (game::ServerMonster::*)(const game::ServerMonster * const)) 0x432bd8 <game::ServerMonster::GetState() const>, policies=...) at /usr/include/luabind/detail/call.hpp:101
#12 0x000000000043e12e in luabind::detail::function_object_impl<game::MonsterState (game::ServerMonster::*)() const, boost::mpl::vector2<game::MonsterState, game::ServerMonster const&>, luabind::detail::null_type>::entry_point (L=0x6859f0)
at /usr/include/luabind/make_function.hpp:63
#13 0x00007ffff7bb5e2b in luaD_precall () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#14 0x00007ffff7bb60c1 in luaD_call () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#15 0x00007ffff7bb0279 in lua_call () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#16 0x00007ffff79a02d1 in get_instance_value (L=0x6859f0) at src/object_rep.cpp:165
#17 luabind::detail::(anonymous namespace)::get_instance_value (L=0x6859f0) at src/object_rep.cpp:148
#18 0x00007ffff7bb5e2b in luaD_precall () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#19 0x00007ffff7bb60c1 in luaD_call () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#20 0x00007ffff7bc2df4 in callTMres () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#21 0x00007ffff7bc30fc in luaV_gettable () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
---Type <return> to continue, or q <return> to quit---
#22 0x00007ffff7bc4384 in luaV_execute () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#23 0x00007ffff7bb60d6 in luaD_call () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#24 0x00007ffff7bb02e3 in f_call () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#25 0x00007ffff7bb508f in luaD_rawrunprotected () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#26 0x00007ffff7bb64f5 in luaD_pcall () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#27 0x00007ffff7bb038d in lua_pcall () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#28 0x0000000000434f6d in luabind::detail::proxy_function_void_caller<boost::tuples::tuple<boost::reference_wrapper<game::ServerMonster> const*, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >::~proxy_function_void_caller (this=0x7fffe2741ca0, __in_chrg=<optimized out>)
at /usr/include/luabind/detail/call_function.hpp:262
#29 0x00000000004323f4 in game::ServerMonster::Update (this=0x693a50) at server_monster.cc:78
#30 0x0000000000433e57 in game::MonsterArea::Update (this=0x693460, time=1333612531, dt=3.719329833984375e-05)
at server_monster.cc:469
#31 0x0000000000448867 in game::MonsterManager::Run (this=0x66cde0) at server.cc:127
#32 0x00007fffe4641cee in mel::layers::threads::ThreadFunc (th=0x66cde0) at pthreads.cc:99
#33 0x00007fffe34c8b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#34 0x00007fffe3abd90d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#35 0x0000000000000000 in ?? ()
----- Mail original -----
De: "Ryan Pavlik" <[email protected]>
À: [email protected]
Envoyé: Jeudi 5 Avril 2012 00:33:46
Objet: Re: [luabind] luabind and g++ 4.7
Unfortunately this isn't very much information to go on. Does it fail at compile time or runtime? Are any warnings or error messages printed?
Ryan
On Wed, Apr 4, 2012 at 10:19 AM, < [email protected] > wrote:
Hello,
my program using luabind stopped to work when compiled with g++ 4.7.
If I switch back to g++ 4.6 it works again.
Is it a know issue ?
For the moment it is not easy for me to know where exactly the thing
hurts.
Regards,
dAgeCKo
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
luabind-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luabind-user
--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University
[email protected]
http://academic.cleardefinition.com
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
luabind-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luabind-user
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
luabind-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luabind-user