use pcall to protect co_free