luabind and LuaJIT

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

luabind and LuaJIT

Max McGuire
I've run into an issue where using luabind and LuaJIT together causes crashes when throwing exceptions.  I found the recent thread on the Lua mailing list discussing this issue, but I can't say I really follow the discussion:

http://comments.gmane.org/gmane.comp.lang.lua.general/64949

I was wondering if there is any general recommended advice for using luabind with LuaJIT?

Max

--
Technical Director
Unknown Worlds Entertainment
http://www.unknownworlds.com

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: luabind and LuaJIT

Daniel Wallin
On Thu, Jun 10, 2010 at 02:17:08PM -0700, Max McGuire wrote:
> I've run into an issue where using luabind and LuaJIT together causes
> crashes when throwing exceptions.  I found the recent thread on the Lua
> mailing list discussing this issue, but I can't say I really follow the
> discussion:
>
> http://comments.gmane.org/gmane.comp.lang.lua.general/64949
>
> I was wondering if there is any general recommended advice for using luabind
> with LuaJIT?

No not really. I want it to just work of course, but I haven't tried to
determine how much work it would entail to do so. Of course, my
preference would be for someone to fix LuaJIT, but Mike Pall says it
isn't possible in that thread.

Patches would be most welcome.

--
Daniel Wallin
BoostPro Computing
http://www.boostpro.com

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: luabind and LuaJIT

Linker
Try SWIG.

On Fri, Jun 11, 2010 at 06:53, Daniel Wallin <[hidden email]> wrote:

No not really. I want it to just work of course, but I haven't tried to
determine how much work it would entail to do so. Of course, my
preference would be for someone to fix LuaJIT, but Mike Pall says it
isn't possible in that thread.



--
Regards,
Linker Lin
[hidden email]

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: luabind and LuaJIT

Daniel Wallin
In reply to this post by Daniel Wallin
On Fri, Jun 11, 2010 at 12:53:08AM +0200, Daniel Wallin wrote:

> On Thu, Jun 10, 2010 at 02:17:08PM -0700, Max McGuire wrote:
> > I've run into an issue where using luabind and LuaJIT together causes
> > crashes when throwing exceptions.  I found the recent thread on the Lua
> > mailing list discussing this issue, but I can't say I really follow the
> > discussion:
> >
> > http://comments.gmane.org/gmane.comp.lang.lua.general/64949
> >
> > I was wondering if there is any general recommended advice for using luabind
> > with LuaJIT?
>
> No not really. I want it to just work of course, but I haven't tried to
> determine how much work it would entail to do so. Of course, my
> preference would be for someone to fix LuaJIT, but Mike Pall says it
> isn't possible in that thread.
>
> Patches would be most welcome.

Some more information. AFAICT there are really only three places that need
to be looked at:

  1. class_rep.cpp:319

     It should be enough to do the string building in some other way,
     probably using lua_concat().

     It's possible that the std::map<>::find() call needs to be moved
     out to another function as well.

 2. make_function.hpp:67,76

    This should be fine. But I can't tell for sure since there's black
    magic involved.

--
Daniel Wallin
BoostPro Computing
http://www.boostpro.com

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: luabind and LuaJIT

Max McGuire
Thanks for the information.  In the short term I've decided to disable exception handling in luabind and modify the code so that in the case of errors, luabind continues without calling std::terminate.  I understand why the code terminates when exception handling is disabled (continuing is certainly a bit dicey), but it might be nice option to have in the library in general.

Max

--
Technical Director
Unknown Worlds Entertainment
http://www.unknownworlds.com


On Fri, Jun 11, 2010 at 9:32 AM, Daniel Wallin <[hidden email]> wrote:
On Fri, Jun 11, 2010 at 12:53:08AM +0200, Daniel Wallin wrote:
> On Thu, Jun 10, 2010 at 02:17:08PM -0700, Max McGuire wrote:
> > I've run into an issue where using luabind and LuaJIT together causes
> > crashes when throwing exceptions.  I found the recent thread on the Lua
> > mailing list discussing this issue, but I can't say I really follow the
> > discussion:
> >
> > http://comments.gmane.org/gmane.comp.lang.lua.general/64949
> >
> > I was wondering if there is any general recommended advice for using luabind
> > with LuaJIT?
>
> No not really. I want it to just work of course, but I haven't tried to
> determine how much work it would entail to do so. Of course, my
> preference would be for someone to fix LuaJIT, but Mike Pall says it
> isn't possible in that thread.
>
> Patches would be most welcome.

Some more information. AFAICT there are really only three places that need
to be looked at:

 1. class_rep.cpp:319

    It should be enough to do the string building in some other way,
    probably using lua_concat().

    It's possible that the std::map<>::find() call needs to be moved
    out to another function as well.

 2. make_function.hpp:67,76

   This should be fine. But I can't tell for sure since there's black
   magic involved.

--
Daniel Wallin
BoostPro Computing
http://www.boostpro.com

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user