【Skynet】Traceback汇总

error:

./skynet/lualib/skynet.lua:534:

./skynet/lualib/skynet.lua:156:

./logic/gate/socket_msg.lua:50:unpack_header:

./logic/gate/socket_msg.lua:41: attempt to get length of a nil value(upvalue'msg')

这个问题一般是客户端传上来的协议的id错误,导致服务端的proto_map无法获取相关协议。


error:

./skynet/lualib/skynet.lua:534:

./skynet/lualib/skynet.lua:156:

./lualib/command_base.lua:51:command[enter_game] is nil

stacktraceback:

./lualib/command_base.lua:51:inupvalue'f'

./skynet/lualib/skynet.lua:111:in function<./skynet/lualib/skynet.lua:105>

stacktraceback:

./skynet/lualib/skynet.lua:534:in function 'skynet.manager.dispatch_message'

rpc_call调用对端服的接口是需要在对应服务的模块定义函数入口,该traceback需要在game.lua定义enter_game这个函数


error :

./skynet/lualib/skynet.lua:534:

./skynet/lualib/skynet.lua:156:

./skynet/lualib/sproto.lua:54: type not found

stack traceback:

C: in function 'assert'

./skynet/lualib/sproto.lua:54: in upvalue 'querytype'

./skynet/lualib/sproto.lua:71: in function 'sproto.encode'

./lualib/sproto_helper.lua:127: in function 'sproto_helper.pack'

./logic/gate/socket_msg.lua:75: in function 'gate.socket_msg.data'

./service/wswatchdog.lua:21: in upvalue 'f'

./skynet/lualib/skynet.lua:106: in function  <./skynet/lualib/skynet.lua:105>

stack traceback:

C: in function 'assert'

./skynet/lualib/skynet.lua:534: in function 'skynet.dispatch_message'

协议问题。协议在 *.sproto 文件中定义完毕,没有用 sproto_gen_linux.lua 生成 *.spb 文件(或者新模块没有在sproto_gen_linux.lua中进行定义)。


[2018-07-03 16:16:29.04 FATAL]@./lualib/requester.lua:43: rpc_call fatal, node[gate1] err:attempt to yield across a C-call boundary

skynet 的 rpc_call 的调用需要放在某些 require 之后...更换一下位置就好了

 

转载于:https://www.cnblogs.com/colourstar/p/10432041.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值