Skip to content

Instantly share code, notes, and snippets.

@agentzh
Created January 31, 2014 19:28
Show Gist options
  • Select an option

  • Save agentzh/8741240 to your computer and use it in GitHub Desktop.

Select an option

Save agentzh/8741240 to your computer and use it in GitHub Desktop.
LuaJIT v2.1 (commit 5a5a340f)
local function factory()
local f = function ()
local function func1()
return error([[blah]])
end
local function func2()
local v = func1()
return v
end
local function func3()
local v = func2()
return v
end
local function func4()
local v = func3()
return v
end
local function func5()
local v = func4()
return v
end
local function func6()
local v = func5()
return v
end
local function func7()
local v = func6()
return v
end
local function func8()
local v = func7()
return v
end
local function func9()
local v = func8()
return v
end
local function func10()
local v = func9()
return v
end
local function func11()
local v = func10()
return v
end
local function func12()
local v = func11()
return v
end
local function func13()
local v = func12()
return v
end
local function func14()
local v = func13()
return v
end
local function func15()
local v = func14()
return v
end
local function func16()
local v = func15()
return v
end
local function func17()
local v = func16()
return v
end
local function func18()
local v = func17()
return v
end
func18()
end
local g = {}
setmetatable(g, { __index = _G })
setfenv(f, g)
return f
end
local ok, err
for i = 1, 100 do
-- print(i)
local f = factory()
local co = coroutine.create(f)
ok, err = coroutine.resume(co)
end
if not ok then
print(err)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment