2.0.9p1版本http请求超时 造成APP闪退或卡死

  • Creator 版本:2.0.9p1

  • 目标平台: iOS

  • 详细报错信息,包含调用堆栈:

  • 重现方式:点击测试demo中的Test按钮

  • 之前哪个版本是正常的 :1.9.3

  • 手机型号 :IPhone 7 12.0 12.1.4 12.2

  • 手机浏览器 :Safari

  • 编辑器操作系统 :MAC OS

  • 编辑器之前是否有其它报错 :没有

  • 出现概率:较为频繁

  • 额外线索: 简单

NewProject_2.zip (191.4 KB)demo已提供烦请各位引擎大大帮忙看一下

我这边模拟器测试,目前没有复现,能否定位具体报错的代码行?

我们这个项目也遇到了同样的问题,creator2.07版本;网络情况还可以的情况下app或者ios偶尔会出现因为连接不上http而导致卡在了首页

不建议模拟器测试。可以尝试用真机多测试几次。整个demo打印如下:
2019-04-01 22:49:08.964444+0700 NewProject_2-mobile[3051:124060] [DYMTLInitPlatform] platform initialization successful
2019-04-01 22:49:09.044469+0700 NewProject_2-mobile[3051:124026] (null)
2019-04-01 22:49:09.055876+0700 NewProject_2-mobile[3051:124026] Metal GPU Frame Capture Enabled
2019-04-01 22:49:09.056275+0700 NewProject_2-mobile[3051:124026] Metal API Validation Enabled
Initializing JavaScriptCore
JS: Enable batch GL commands optimization!
glGetIntegerv: pname: 0x8b4c
JS: Cocos Creator v2.0.9
JS: LoadScene 0dhdcusLZPDKCXYzDczRgE: 18.418000000000006ms
JS: Success to load scene: db://assets/testScene.fire
XMLHttpRequest_finalize, 0x103e1de70 …
XMLHttpRequest_finalize, 0x103e002f0 …
2019-04-01 22:49:33.774331+0700 NewProject_2-mobile[3051:124062] NSURLConnection finished with error - code -1001
2019-04-01 22:49:33.794474+0700 NewProject_2-mobile[3051:124062] NSURLConnection finished with error - code -1001
2019-04-01 22:49:33.797735+0700 NewProject_2-mobile[3051:124059] Task <5432D78D-741D-4015-9673-C3CCCD00B079>.<0> HTTP load failed (error code: -999 [1:89])
2019-04-01 22:49:33.798221+0700 NewProject_2-mobile[3051:124059] Task <6336CD46-B971-48D2-BD17-53588EA83C89>.<0> HTTP load failed (error code: -999 [1:89])
2019-04-01 22:50:05.674540+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001
2019-04-01 22:50:05.675122+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001
2019-04-01 22:50:05.683097+0700 NewProject_2-mobile[3051:124057] Task .<0> HTTP load failed (error code: -999 [1:89])
2019-04-01 22:50:05.683633+0700 NewProject_2-mobile[3051:124057] Task .<0> HTTP load failed (error code: -999 [1:89])
Response failed, error buffer: 请求超时。
Response failed, error buffer: 请求超时。
XMLHttpRequest_finalize, 0x103e3ad70 …
XMLHttpRequest_finalize, 0x103d3a040 …
XMLHttpRequest_finalize, 0x103e278b0 …
XMLHttpRequest_finalize, 0x103d46640 …
2019-04-01 22:50:30.109144+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001
2019-04-01 22:50:30.110089+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001
2019-04-01 22:50:30.115341+0700 NewProject_2-mobile[3051:124057] Task <4552641E-63B3-46BC-AD3B-C2BE56011E0B>.<0> HTTP load failed (error code: -999 [1:89])
2019-04-01 22:50:30.115829+0700 NewProject_2-mobile[3051:124057] Task <02176EDC-DBCF-4B23-A94C-69D9D7AF0B35>.<0> HTTP load failed (error code: -999 [1:89])
XMLHttpRequest_finalize, 0x103d46640 …
XMLHttpRequest_finalize, 0x103e3e400 …
2019-04-01 22:50:56.454066+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001
2019-04-01 22:50:56.454695+0700 NewProject_2-mobile[3051:124057] NSURLConnection finished with error - code -1001

抱歉,每次报错Xcode定位的地方会有所改变,目前还无法定位具体报错的代码行。但是在CCData.cpp的clear()函数中的free(_bytes)定位次数居多。

堆栈呢?

麻烦了,堆栈如下,你看还需要提供什么呢?

经过多次测试,问题基本定位:
XMLHttpRequest的析构函数已经调用,但是之前sendRequest时绑定的回调函数却回调成功。麻烦各位引擎大大检查相关代码,看看能否尽快解决呢?

暂时没法看出问题出在哪里,你是否定制过cocos2dx-lite?

没有定制cocos2dx-lite。
经测试,模拟器目前无法重现。麻烦使用真机测试吧。
按道理说析构了,就不会有回调了啊。所以感觉问题大概率出在在这里
麻烦排查一下吧。

我一周前就提过类似的问题了,但是引擎组的人装死,完全不鸟我。。。。。描述写的清楚的不能再清楚了

是的。问题和我遇到的一样。看来这是普遍存在的。希望引擎组的大佬们能关注下!!!

我们已经复现了这个问题,目前是使用你的demo在测试,很快会给回复!

对象是被释放了,但是网络层还没返回,这样试着修复。

2赞

好的。感谢各位大佬!有问题我会再次反馈!
顺便问一下,下一个版本会在什么时候发布呢?

maker

我擦!这个问题我已经遇到了,但是还以为是网络问题。
烦请尽快修复啊!

能不能发新的版本修复。别人不看文档,就找不到方案。
或者把问题再下载页面补充一下。

mark

目前使用的2.0.9 版本, 在 设备 android 6.0 及 以下版本出现, http 请求无响应, 其他高版本则没问题