18/04/26 13:53:16.39 [:00000066] lua call [a8 to :66 : 2442 msgsz = 91] error : [31m./framework/lualib/skynet.lua:988: ./framework/lualib/skynet.lua:452: ./services/guild/guildmanager_core.lua:808: 自己不能踢自己
stack traceback:
[C]: in function 'assert'
./services/guild/guildmanager_core.lua:808: in function 'guild.guildmanager_core.guild_exp'
(...tail calls...)
./services/guild/guildmanager.lua:17: in upvalue 'f'
./framework/lualib/skynet.lua:402: in function <./framework/lualib/skynet.lua:374>
stack traceback:
[C]: in function 'assert'
./framework/lualib/skynet.lua:988: in function 'skynet.dispatch_message'[0m
18/04/26 13:53:16.39 [:000000a8] lua call [66 to :a8 : 2442 msgsz = 0] error : [31m./framework/lualib/skynet.lua:988: ./framework/lualib/skynet.lua:452: ./framework/lualib/skynet/queue.lua:20: ./framework/lualib/skynet.lua:720: call failed
stack traceback:
[C]: in function 'error'
./framework/lualib/skynet.lua:720: in upvalue 'yield_call'
./framework/lualib/skynet.lua:737: in function 'skynet.call'
./msgagent_module/ma_guild.lua:386: in function 'ma_func.guild_expe'
./msgagent_module/ma_guild.lua:174: in function 'ma_func.CGGuild'
./services/msgagent.lua:2146: in local 'f'
./lualib/net.lua:130: in function 'net.dispatch_message'
./services/msgagent.lua:2906: in local 'f'
./services/msgagent.lua:3103: in function <./services/msgagent.lua:3101>
[C]: in function 'xpcall'
./framework/lualib/skynet/queue.lua:34: in upvalue 'lock'
./services/msgagent.lua:3101: in upvalue 'f'
./framework/lualib/skynet.lua:402: in function <./framework/lualib/skynet.lua:374>
stack traceback:
[C]: in function 'assert'
./framework/lualib/skynet/queue.lua:20: in function <./framework/lualib/skynet/queue.lua:12>
(...tail calls...)
./services/msgagent.lua:3101: in upvalue 'f'
./framework/lualib/skynet.lua:402: in function <./framework/lualib/skynet.lua:374>
stack traceback:
[C]: in function 'assert'
./framework/lualib/skynet.lua:988: in function 'skynet.dispatch_message'[0m
1. 本次修复目标
本次修复的目标,是把帮会操作里原本“静默失败”或者直接抛异常的几条链路,统一改成:
- 核心层返回结构化错误码
- 消息层把错误码翻译成中文提示
- 客户端收到明确提示,不再出现无反应
- 避免
skynet.call failed 这类由 assert 引发的上层报错
***付费内容***
function ma_guild:guild_appoint(cg, guild_id)
cg.guild_id = guild_id
local result = skynet.call(".Guildmanager", "lua", "guild_appoint", self:get_guid(), cg)
if not result or result.ok == false then
self:notify_tips(get_guild_appoint_error_tip(result and result.err))
return
end
...
end
剩余 85% 内容需要支付 66.00
金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
|