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 之后...更换一下位置就好了

 

【Skynet】Traceback汇总的更多相关文章

  1. skynet的协程

    之前对skynet的印象,主要是来自于我对golang的理解,对gevent开发的经验,以及云风的blog.对于底层的代码,并没有仔细去阅读过.最近在实现业务系统的时候,发现有同事在同一个函数里做了一 ...

  2. 收藏所用C#技术类面试、笔试题汇总

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  3. Python常见的错误汇总

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 错误: [错误分析]第二个参数必须为类,否则会报TypeError,所以正确的应 ...

  4. PHP之道 - php各方面的知识汇总

    看到一个PHP的知识各方面的汇总,写的很有借鉴意义,搬过来了 转自: https://laravel-china.github.io/php-the-right-way/ 欢迎阅读 其他语言版本 参与 ...

  5. 『TensorFlow』专题汇总

    TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...

  6. skynet的火焰图

    之前搞过一下systemtap(systemtap折腾笔记),可惜很快琐事缠身,没有继续搞下去.最近偷空搞了一下,有点意思. 章大大的思路,是用perl生成systemtap脚本,从/proc/$pi ...

  7. day 7 - 1 集合、copy及基础数据类型汇总

    集合:{},可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复.(不重要)集合的书写 set1 = set({1,2,3}) #set2 = {1,2,3,[2,3],{'name':' ...

  8. Python_环境部署及报错汇总(0)

    一.安装Anaconda Anaconda是一个开源的包.环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换. Anaconda包括Conda.Python以及 ...

  9. 死磕salt系列-salt 故障汇总

    这里将salt使用过程中遇到的所有的故障进行一个汇总. grains 匹配后多了一个列表 salt-master中配置jinja模板来匹配自定义的grins. vim /etc/salt/minion ...

随机推荐

  1. __autoreleasing 与 局部变量

    __autoreleasing 修饰的变量不是局部变量: 它的生命周期由autoreleasepool负责: +(Reachability*)reachabilityWithHostname:(NSS ...

  2. 【bzoj 3252】攻略

    题意 我们想到一个贪心,就是每次找到根路径前缀和最大的一个点,取走这条路径,同时把这条路径上的点权变成\(0\) 正确性显然 进一步发现我们需要从树上选择\(m\)条链使得链的总和最大 于是我们考虑换 ...

  3. [USACO08JAN]Running

    嘟嘟嘟 这很显然是一道dp题. 令dp[i][j]表示第 i 分钟末,疲劳度为 j 是的最大跑步距离,则 dp[i][0] = max(dp[i - 1][0], max(dp[i - j][j])) ...

  4. Python文件和流

    #coding = utf-8 from pprint import pprint import fileinput #read(n) f = open(r'E:\test_dir\somefile. ...

  5. transfer function

    线性变化后,往往希望进行非线性变化,常用的非线性变化函数有Sigmoid,Tanh,ReLU.会发现,经过这三个函数变化后,Tensor的维度并不发生变化. tanh(双曲正切函数):

  6. [转]C#调用C++类(以COM组件的形式)

    如果想用C#调用C/C++写的函数,可以先将C/C++的函数写成dll文件,由C#用DllImport的方式来调用,但是这种方法无法调用C++写的类,如果想调用C++类,可以先把C++类封装成COM组 ...

  7. BI之报表测试总结

    报表测试总结: 1.测试准备工作: 数据准备 保证足够多的有效数据 清楚报表中涉及到的算法.公式 清楚业务功能接口 2.报表测试点 基本测试点:界面.控件.格式.布局.明显的数据错误.js报错.报表标 ...

  8. 【Potplayer】视频播放器

    Potplayer——视频播放器

  9. 【js】插件—动效Velocity.js

    Velocity.js——加速JavaScript动画 一款替代jQuery的$ .animate()动效的插件.兼容IE8和Android2.3及以上. 相比较优点: 1.它比JQuery更快,并实 ...

  10. JQuery中的事件委托

    JQuery 中的事件委托 定义 事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能:其次可以让新元素的子元素也可以拥 ...