libpomelo2当访问的主机不存在时崩溃,必现

libpomelo2当访问的主机不存在时崩溃,必现

标签: 移动开发 bug 反馈 开发求助 libpomelo2
OnlyForDream 在 3-30 08:18发布 分享到 weibo
6 回复
#1 OnlyForDream 3-30 09:13 回复

@wangxy 求助

#2 {1} wangxy 3-30 10:02 回复

没有错误现场怎么破

主机不存在就是普通网络错误而已,没啥大不了

OnlyForDream 3-30 16:45 回复

http://www.jianshu.com/p/68a7dc5183fd
崩溃占,必现

如果主机在没开端口会返回错误

#3 OnlyForDream 3-30 16:47 回复

http://www.jianshu.com/p/68a7dc5183fd
崩溃栈: 必现

如果访问主机在,但是端口没开会返回普通错误

#4 {3} wangxy 3-31 09:47 回复

pthread_mutex_lock 的返回值有问题触发了断言呀,可以把这个ret值打印出来看看是哪个值,看上去像是锁递归的情形

OnlyForDream 3-31 10:42 回复

在你那这个bug不重现么?

wangxy 4-1 11:45 回复

@OnlyForDream 我们是在linux主机上跑的,各种场景都会遇到的,没有出现过问题

具体的你的运行平台?然后看堆栈是pthread_mutex_lock的返回值问题,这里需要一个递归锁,因为可能有嵌套,看看是不是平台这里对mutex的递归支持有问题

OnlyForDream 4-1 13:38 回复

@wangxy 你们客户端在linux主机上跑?在ios设备和模拟器上跑的都会有问题。
好,那我有时间跟一下吧

#5 OnlyForDream 4-3 11:25 回复

问题已解决:
崩溃原因: 如果在调用connect之后调用disconnect,disconnect先返回导致状态设置为PC_ST_INITED,这个时候connect的回调返回导致assert出错
http://www.jianshu.com/p/68a7dc5183fd

#6 wangxy 4-6 17:47 回复

好吧,我们的使用场景有限,虽然会有各种网络异常,但是api的调用时序覆盖的case还是很少的

回到顶部