E-Fir
(E-Fir)
October 11, 2010, 5:57am
1
Description:
When trying use RemDebug 2.0, which part of LueEclipse 1.3 http://luaeclipse.luaforge.net , error appears:
attempt to yield across metamethod/C-call boundary
Steps to reproduce:
Enable in RemDebug 2.0 debug prints
Enable in RemDebug 2.0 print to log file
Run RemDebug 2.0 from xrnx
Results:
Debugger doesn’t work. Reason: attempt to yield across metamethod/C-call boundary
Config:
Platform: windows 7 64bit
Renoise: 2.6.0 b7
Solution:
Lua must be patched with CoCo patch: http://coco.luajit.org/
Can I expect patched lua in next beta?
Thank you.
taktik
(taktik)
October 11, 2010, 10:59am
2
Sorry, I don’t think its a good idea to patch Lua at this stage. The final 2.6 release is very near, so we should be as carefully as possible and avoid throwing in untested stuff at that level.
But we anyway had planed to use LuaJit 2, as soon as it gets stable. From our tests LuaJit 1 was till now not really worth the trouble so far, but LuaJit 2 definitely is. We also need a PPC build for OSX, which LuaJit does not support at all.
E-Fir
(E-Fir)
October 11, 2010, 1:02pm
3
taktik:
Sorry, I don’t think its a good idea to patch Lua at this stage. The final 2.6 release is very near, so we should be as carefully as possible and avoid throwing in untested stuff at that level.
But we anyway had planed to use LuaJit 2, as soon as it gets stable. From our tests LuaJit 1 was till now not really worth the trouble so far, but LuaJit 2 definitely is. We also need a PPC build for OSX, which LuaJit does not support at all.
In any case, very very big thanks for such great platform as Renoise!
E-Fir
(E-Fir)
October 16, 2010, 7:27am
4
For everyone who interested in use remdebug 2.0
Workaround is to change
success, result = xpcall(callFunc, grabStacktrace)
in engine.lua in debugger_loop function to
success, result = true, callFunc()
vvoois
(vV)
October 16, 2010, 11:09am
5
E-Fir:
For everyone who interested in use remdebug 2.0
Workaround is to change
success, result = xpcall(callFunc, grabStacktrace)
in engine.lua in debugger_loop function to
success, result = true, callFunc()
Working around pcalls on serious events (even though pcalls are not the best solution to critical error trapping either) can be dangerous…
At least don’t RemDebug with important unsaved songs in memory.
rakesh
(rakesh)
May 22, 2012, 7:10am
6
This below solution worked for me but script did not pause at the breakpoint.
success, result = true, callFunc()
adding this line simply runs the lua script instead of debugging
kindly share the solution for this if any
Regards,
Rakesh