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. Java 实现对文件系统的监控

    在开发中经常会用到监控文件或是目录的状态,如果你还在手写轮巡扫描文件的话,那你久out了. 1. Commons io为我们提供了一套可靠.高性能的一套文件系统监控API 1.1. 需要的jar包如下 ...

  2. httpd:RSA certificate configured for SERVER does NOT include an ID which matches the server name

    这个是因为ssl认证丢失了密钥的问题,Apache的默认配置文件加载了mod_ssl模块,而且指定密钥对儿的位置,就是我测试salt-api时创建密钥对儿的位置.而且还有一个错误就是我密钥对儿指定的h ...

  3. istio 配置解读

    Istio在服务网络中统一提供了许多关键功能: 流量管理:控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮. 可观察性:了解服务之间的依赖关系,以及它们之间流量的本质 ...

  4. 3、JVM--垃圾回收期和内存分配策略(2)

    3.5.垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商.不同版本的虚拟机所提供的垃圾收集 ...

  5. virtualbox+vagrant学习-2(command cli)-18-vagrant ssh-config命令

    SSH Config 格式: vagrant ssh-config [options] [name|id] 这将从SSH直接将SSH配置文件的有效配置输出到正在运行的vagrant 计算机(而不是使用 ...

  6. select、poll 和epoll区别

    阻塞 I/O(blocking IO) 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据(对于网络IO来说,很多时候数据在一开始还没有到达.比如,还没有收到 ...

  7. vue-cli代理开发

    如何设置接口代理? 一.找到config文件下的index.js 二.找到dev里面的proxyTable他的值就是一个{},这里为了方便配置配置文件单独写成一个文件 dev: { env: requ ...

  8. $python爬虫系列(2)—— requests和BeautifulSoup库的基本用法

    本文主要介绍python爬虫的两大利器:requests和BeautifulSoup库的基本用法. 1. 安装requests和BeautifulSoup库 可以通过3种方式安装: easy_inst ...

  9. vue watch关于对象内的属性监听

    vue可以通过watch监听data内数据的变化.通常写法是: data: { a: 100 }, watch: { a(newval, oldVal) { // 做点什么... console.lo ...

  10. javascript中个别方法注意事项

    1.键值对new Array()的length值只统计下标是数字的键,可以使用for(var key in arr)的方式进行遍历所有元素.例如 <script type="text/ ...