Skip to content

bug描述

代码中使用了一个cocos的downloader组件去下载一个json配置,这个配置可能存在于两个地址,玩家进入游戏时先尝试从其中优先级高的地址下载,如果下载失败,(在失败的回调中)再起一个线程从另一个地址下载,这个东西在正常网络环境都没什么问题,但是前段时间可能因为某个不能说的“国家纪念日”,部分地区4G网络环境下(具体就是杭州的某两个网段218.205.55.XXX 112.17.241.XXX)会出现启动之后就崩溃的问题。 我们查了一下bugly的后台,发现并没有上报任何相关堆栈,但是在这个逻辑执行之前,bugly的sdk已经初始化了,关于为什么没上报暂时还没有去研究。

解决过程

由于运营方提供的sdk经常出现崩溃问题,并且这次运营调整了sdk之后,也出现了一些sdk导致的崩溃问题,一开始我们认为这有可能是sdk引起的,但是在移除sdk之后交给玩家测试之后发现还是会出现问题,由于之前并没有出现该问题,因此查了一下最近一段时间的改动,比较可疑的就是之前有一个下载json配置的改动。由于问题比较严重,运营急于修复这个问题,我们采取的做法是先回滚相关功能代码,再查明具体原因。于是先把这部分代码回滚了,重新发布了一个版本,线上的问题暂时解决了。到这一步已经基本可以认定是这一部分代码有问题,不过具体的原因还有待进一步分析。 由于没有抓到堆栈,也不好找玩家联调,问了几个杭州的朋友,也都不在这个网段,无法还原当时的情况,只能从代码上去分析有可能出现的漏洞,最近几天都在看相关模块的代码,暂时未发现明显漏洞。后续有进展再更新

未完待续