Replies: 3 comments 2 replies
-
这个随后是如何确保真的是在 另外,既然用了 |
Beta Was this translation helpful? Give feedback.
-
|
这里是可以确认一定是先执行了 |
Beta Was this translation helpful? Give feedback.
-
|
问题有点奇怪,最近的几次更新重启又没有出现类似的情况了,先结了,后面出现了再说。 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
项目已经在线上跑了大半年了,按道理而言应该不会出现这样的问题,但线上确实有这样的问题。看看有没有人遇到过,给个解决方案。
问题描述:在进程启动的时候,会执行下面的代码
local zonecenterd = assert(skynet.uniqueservice("zonecenterd"))
skynet.name(GLOBAL.SERVICE.ZONECENTERD, zonecenterd)
skynet.call(GLOBAL.SERVICE.ZONECENTERD, "lua", "init",{})
到这一步是没有问题的,但是随后在其它 service 里面,调用如下代码
skynet.call(GLOBAL.SERVICE.ZONECENTERD, "lua", "mxwork_startup", mxname(), "on_session_expired")
则会出现 “call to invalid address .zonecenterd” 这样的报错。
而且这个问题不是必现的,现在知道的是仅在线上机器大规模重启的情况下,少量机器会出现类似问题,
针对这部分进程手动重启则一切正常。
因为这个问题的报错显示找不到目标服务,但是这个服务在 init 是调用是正常的,只能想到有没有可能是在两次调用间注册的地址发生了异常。
Beta Was this translation helpful? Give feedback.
All reactions