1.4.0 http请求bug?

1.4.0改了http返回数据json类型检测么?安卓平台上,1.3.2的时候打包测试过登录是好的,但是1.4.0以后,发送登录请求后直接就崩了,onreadystatechange也没有被调用,windows测试是好的

{“msg”:“用户名或密码错误!”,“fail”:true,“code”:“1”,“data”:null,“ok”:false}
这是配置的数据格式

你说的是安卓上的 XMLHttpRequest 吗?

我记得1.3.2到1.4.0没有改httpclient相关的代码啊。

能否提供一下具体的logcat日志信息?

03-06 11:28:04.502: E/getHeaderFields(1825): {null=[HTTP/1.1 200 OK], Connection=[keep-alive], Content-Length=[17], Content-Type=[application/json; charset=utf-8], Date=[Mon, 06 Mar 2017 03:28:05 GMT], ETag=["-209093005"], X-Android-Received-Millis=[1488770884507], X-Android-Sent-Millis=[1488770884464], X-Powered-By=[Express]}
03-06 11:28:04.502: E/getResponseHeaders=(1825): entry.getKey()
03-06 11:28:04.502: E/dalvikvm(1825): JNI ERROR (app bug): accessed stale weak global reference 0xffffffff (index 65535 in a table of size 0)
03-06 11:28:04.502: E/dalvikvm(1825): VM aborting
03-06 11:28:04.502: A/libc(1825): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 1880 (Thread-97)
03-06 11:28:04.606: I/DEBUG(147): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-06 11:28:04.606: I/DEBUG(147): Build fingerprint: ‘OnePlus/OnePlus/OnePlus 3T:4.4.4/KTU84P/eng.se.infra.20170110.154925:userdebug/release-keys’
03-06 11:28:04.606: I/DEBUG(147): Revision: ‘0’
03-06 11:28:04.606: I/DEBUG(147): pid: 1825, tid: 1880, name: Thread-97 >>> org.cocos2d.kones_js <<<
03-06 11:28:04.610: I/DEBUG(147): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
03-06 11:28:04.798: I/DEBUG(147): eax 0000020c ebx b66ebff4 ecx 00000001 edx 00000000
03-06 11:28:04.798: I/DEBUG(147): esi 948fe970 edi 0000020c
03-06 11:28:04.802: I/DEBUG(147): xcs 00000073 xds 0000007b xes 0000007b xfs 00000043 xss 0000007b
03-06 11:28:04.802: I/DEBUG(147): eip b66261aa ebp 948feb98 esp 948fe960 flags 00010246
03-06 11:28:04.802: I/DEBUG(147): backtrace:
03-06 11:28:04.802: I/DEBUG(147): #00 pc 000611aa /system/lib/libdvm.so (dvmAbort+186)
03-06 11:28:04.806: I/DEBUG(147): #01 pc 00022495 /system/lib/libdvm.so (IndirectRefTable::get(void*) const+325)
03-06 11:28:04.806: I/DEBUG(147): #02 pc 00005a70 [heap]
03-06 11:28:04.806: I/DEBUG(147): #03 pc 2f6d6574
03-06 11:28:04.806: I/DEBUG(147): stack:
03-06 11:28:04.806: I/DEBUG(147): 948fe920 00000000
03-06 11:28:04.806: I/DEBUG(147): 948fe924 00000000
03-06 11:28:04.806: I/DEBUG(147): 948fe928 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe92c 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe930 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe934 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe938 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe93c 00000000
03-06 11:28:04.810: I/DEBUG(147): 948fe940 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe944 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe948 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe94c 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe950 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe954 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe958 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe95c 00000000
03-06 11:28:04.814: I/DEBUG(147): #00 948fe960 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe964 b66b241d /system/lib/libdvm.so
03-06 11:28:04.814: I/DEBUG(147): 948fe968 b66b361b /system/lib/libdvm.so
03-06 11:28:04.814: I/DEBUG(147): 948fe96c 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe970 6c756e28
03-06 11:28:04.814: I/DEBUG(147): 948fe974 0000296c
03-06 11:28:04.814: I/DEBUG(147): 948fe978 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe97c 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe980 00000000
03-06 11:28:04.814: I/DEBUG(147): 948fe984 00000000
03-06 11:28:04.818: I/DEBUG(147): 948fe988 00000000
03-06 11:28:04.818: I/DEBUG(147): 948fe98c 00000000
03-06 11:28:04.822: I/DEBUG(147): 948fe990 00000000
03-06 11:28:04.822: I/DEBUG(147): 948fe994 00000000
03-06 11:28:04.822: I/DEBUG(147): 948fe998 00000000
03-06 11:28:04.826: I/DEBUG(147): 948fe99c 00000000
03-06 11:28:04.826: I/DEBUG(147): … …
03-06 11:28:04.826: I/DEBUG(147): #01 948feba0 00000006
03-06 11:28:04.830: I/DEBUG(147): 948feba4 b66b241d /system/lib/libdvm.so
03-06 11:28:04.830: I/DEBUG(147): 948feba8 b66b81a0 /system/lib/libdvm.so
03-06 11:28:04.830: I/DEBUG(147): 948febac b66b243b /system/lib/libdvm.so
03-06 11:28:04.830: I/DEBUG(147): 948febb0 ffffffff
03-06 11:28:04.830: I/DEBUG(147): 948febb4 0000ffff
03-06 11:28:04.834: I/DEBUG(147): 948febb8 00000000
03-06 11:28:04.834: I/DEBUG(147): 948febbc b664a1e4 /system/lib/libdvm.so (dvmThreadSelf()+36)
03-06 11:28:04.834: I/DEBUG(147): 948febc0 00000007
03-06 11:28:04.834: I/DEBUG(147): 948febc4 00000000
03-06 11:28:04.834: I/DEBUG(147): 948febc8 b7587529 /system/lib/libc.so (pthread_mutex_lock+9)
03-06 11:28:04.834: I/DEBUG(147): 948febcc dead4321
03-06 11:28:04.834: I/DEBUG(147): 948febd0 b66ebff4 /system/lib/libdvm.so
03-06 11:28:04.834: I/DEBUG(147): 948febd4 ffffffff
03-06 11:28:04.834: I/DEBUG(147): 948febd8 b909e8e0 [heap]
03-06 11:28:04.834: I/DEBUG(147): 948febdc b662d722 /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+194)
03-06 11:28:04.834: I/DEBUG(147): … …
03-06 11:28:04.834: I/DEBUG(147): #02 b66eccc8 00400000
03-06 11:28:04.834: I/DEBUG(147): b66ecccc 10000000
03-06 11:28:04.834: I/DEBUG(147): b66eccd0 10000000
03-06 11:28:04.834: I/DEBUG(147): b66eccd4 00000000
03-06 11:28:04.834: I/DEBUG(147): b66eccd8 3fe00000
03-06 11:28:04.834: I/DEBUG(147): b66eccdc 00080000
03-06 11:28:04.834: I/DEBUG(147): b66ecce0 00200000
03-06 11:28:04.834: I/DEBUG(147): b66ecce4 00004000
03-06 11:28:04.834: I/DEBUG(147): b66ecce8 00006000
03-06 11:28:04.834: I/DEBUG(147): b66eccec 00000001
03-06 11:28:04.834: I/DEBUG(147): b66eccf0 00000101
03-06 11:28:04.834: I/DEBUG(147): b66eccf4 00000002
03-06 11:28:04.834: I/DEBUG(147): b66eccf8 00000001
03-06 11:28:04.834: I/DEBUG(147): b66eccfc 00000000
03-06 11:28:04.834: I/DEBUG(147): b66ecd00 00000000
03-06 11:28:04.834: I/DEBUG(147): b66ecd04 00000000
03-06 11:28:04.834: I/DEBUG(147): … …
03-06 11:28:04.834: I/DEBUG(147): memory map around fault addr deadd00d:
03-06 11:28:04.834: I/DEBUG(147): bfb26000-bfb47000 [stack]
03-06 11:28:04.834: I/DEBUG(147): (no map for address)
03-06 11:28:04.834: I/DEBUG(147): (no map above)
03-06 11:28:04.970: I/BootReceiver(300): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
03-06 11:28:04.982: D/dalvikvm(300): GC_FOR_ALLOC freed 314K, 37% free 5747K/9112K, paused 10ms, total 11ms
03-06 11:28:05.026: I/WindowState(300): WIN DEATH: Window{532f3e34 u0 org.cocos2d.kones_js/org.cocos2dx.javascript.AppActivity}
03-06 11:28:05.026: W/WindowManager(300): Force-removing child win Window{533886a8 u0 SurfaceView} from container Window{532f3e34 u0 org.cocos2d.kones_js/org.cocos2dx.javascript.AppActivity}
03-06 11:28:05.026: I/ActivityManager(300): Process org.cocos2d.kones_js (pid 1825) has died.

对,安卓上的

大神帮忙看看

问题已经找到
tomcat 7和tomcat 8版本差异,造成的头少个OK字符
tomcat 8的头如下

tomcat 7的头如下

少了OK,应该是 E/getResponseHeaders=(1825): entry.getKey() 的时候引擎内部JNI调用的时候参数错误引起的崩溃

3赞

追加一个bug
就是如果上次调用http请求,意外中断,如闪退了,
下次调用http的时候会直接闪退
03-07 18:25:13.920: D/dalvikvm(11749): GC_CONCURRENT freed 250K, 15% free 2530K/2944K, paused 1ms+0ms, total 5ms
03-07 18:25:14.292: A/libc(11749): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 11805 (Thread-157)
03-07 18:25:14.400: I/DEBUG(150): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-07 18:25:14.400: I/DEBUG(150): Build fingerprint: ‘OnePlus/OnePlus/OnePlus 3T:4.4.4/KTU84P/eng.se.infra.20170110.154925:userdebug/release-keys’
03-07 18:25:14.400: I/DEBUG(150): Revision: ‘0’
03-07 18:25:14.400: I/DEBUG(150): pid: 11749, tid: 11805, name: Thread-157 >>> org.cocos2d.kones_js <<<
03-07 18:25:14.400: I/DEBUG(150): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
03-07 18:25:14.512: I/DEBUG(150): eax 1a060580 ebx 955a1e28 ecx 1a060580 edx 1a060020
03-07 18:25:14.512: I/DEBUG(150): esi 00000000 edi 1a060020
03-07 18:25:14.516: I/DEBUG(150): xcs 00000073 xds 0000007b xes 0000007b xfs 00000043 xss 0000007b
03-07 18:25:14.516: I/DEBUG(150): eip 98af04dd ebp 955a1df8 esp 955a1c78 flags 00010293
03-07 18:25:14.516: I/DEBUG(150): backtrace:
03-07 18:25:14.516: I/DEBUG(150): #00 pc 000de4dd /system/lib/libhoudini.so
03-07 18:25:14.516: I/DEBUG(150): #01 pc 000d906a /system/lib/libhoudini.so
03-07 18:25:14.520: I/DEBUG(150): #02 pc 000d9347 /system/lib/libhoudini.so
03-07 18:25:14.520: I/DEBUG(150): #03 pc 0000f510 /system/lib/libc.so (__thread_entry+416)
03-07 18:25:14.520: I/DEBUG(150): stack:
03-07 18:25:14.520: I/DEBUG(150): 955a1c38 00000000
03-07 18:25:14.520: I/DEBUG(150): 955a1c3c 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c40 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c44 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c48 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c4c 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c50 00000000
03-07 18:25:14.524: I/DEBUG(150): 955a1c54 00000000
03-07 18:25:14.528: I/DEBUG(150): 955a1c58 00000000
03-07 18:25:14.528: I/DEBUG(150): 955a1c5c 00000000
03-07 18:25:14.528: I/DEBUG(150): 955a1c60 00000000
03-07 18:25:14.532: I/DEBUG(150): 955a1c64 00000000
03-07 18:25:14.532: I/DEBUG(150): 955a1c68 00000000
03-07 18:25:14.536: I/DEBUG(150): 955a1c6c 00000000
03-07 18:25:14.536: I/DEBUG(150): 955a1c70 00000000
03-07 18:25:14.536: I/DEBUG(150): 955a1c74 00000000
03-07 18:25:14.536: I/DEBUG(150): #00 955a1c78 955a1c7c [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1c7c 955a1c80 [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1c80 1a060020
03-07 18:25:14.540: I/DEBUG(150): 955a1c84 14b1c728 /data/app-lib/org.cocos2d.kones_js-1/libcocos2djs.so (cocos2d::network::HttpURLConnection::init(cocos2d::network::HttpRequest*)+108)
03-07 18:25:14.540: I/DEBUG(150): 955a1c88 955a1d6c [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1c8c 955a1d7c [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1c90 98b46c05 /system/lib/libhoudini.so
03-07 18:25:14.540: I/DEBUG(150): 955a1c94 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1c98 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1c9c 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1ca0 955a1d24 [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1ca4 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1ca8 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1cac 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1cb0 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1cb4 00001fa0
03-07 18:25:14.540: I/DEBUG(150): … …
03-07 18:25:14.540: I/DEBUG(150): #01 955a1e00 b75355d6 /system/lib/libc.so (malloc+6)
03-07 18:25:14.540: I/DEBUG(150): 955a1e04 00000014
03-07 18:25:14.540: I/DEBUG(150): 955a1e08 98b4bdcb /system/lib/libhoudini.so
03-07 18:25:14.540: I/DEBUG(150): 955a1e0c 955a1e40 [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1e10 0000000f
03-07 18:25:14.540: I/DEBUG(150): 955a1e14 00000000
03-07 18:25:14.540: I/DEBUG(150): 955a1e18 b98e2610 [heap]
03-07 18:25:14.540: I/DEBUG(150): 955a1e1c b9922b2c [heap]
03-07 18:25:14.540: I/DEBUG(150): 955a1e20 1802b86e
03-07 18:25:14.540: I/DEBUG(150): 955a1e24 1a060000
03-07 18:25:14.540: I/DEBUG(150): 955a1e28 b75caff4 /system/lib/libc.so
03-07 18:25:14.540: I/DEBUG(150): 955a1e2c 98aeb06a /system/lib/libhoudini.so
03-07 18:25:14.540: I/DEBUG(150): 955a1e30 955a1e40 [stack:11805]
03-07 18:25:14.540: I/DEBUG(150): 955a1e34 00000000
03-07 18:25:14.544: I/DEBUG(150): 955a1e38 955a1e68 [stack:11805]
03-07 18:25:14.544: I/DEBUG(150): 955a1e3c 98aeb51a /system/lib/libhoudini.so
03-07 18:25:14.544: I/DEBUG(150): … …
03-07 18:25:14.548: I/DEBUG(150): #02 955a1e70 1c000420
03-07 18:25:14.548: I/DEBUG(150): 955a1e74 00000000
03-07 18:25:14.548: I/DEBUG(150): 955a1e78 00000000
03-07 18:25:14.548: I/DEBUG(150): 955a1e7c 00000000
03-07 18:25:14.548: I/DEBUG(150): 955a1e80 955a2000
03-07 18:25:14.548: I/DEBUG(150): 955a1e84 955a1f00 [stack:11805]
03-07 18:25:14.548: I/DEBUG(150): 955a1e88 955a1ee8 [stack:11805]
03-07 18:25:14.548: I/DEBUG(150): 955a1e8c b7538510 /system/lib/libc.so (__thread_entry+416)
03-07 18:25:14.632: I/BootReceiver(310): Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
03-07 18:25:14.676: I/WindowState(310): WIN DEATH: Window{532d7d04 u0 SurfaceView}
03-07 18:25:14.676: I/ActivityManager(310): Process org.cocos2d.kones_js (pid 11749) has died.
03-07 18:25:14.676: W/ActivityManager(310): Force removing ActivityRecord{532bd8f0 u0 org.cocos2d.kones_js/org.cocos2dx.javascript.AppActivity}: app died, no saved state
03-07 18:25:14.680: I/qtaguid(310): Failed write_ctrl(s 0 10031) res=-1 errno=1

闪退后,重新进入游戏,应该是全新的环境,还会崩溃?

会的,具体的没细查

崩溃后,重启游戏,是一个新的进程,理论上不会出现这种情况啊。
能够整理一个复现Demo给我这测试一下么?
能否在其他设备上也重现这个问题么?

之前只测试过两次,两次都是连tomcat8.0崩溃后再连接引起的,现在tomcat全部退回到7.0了,没能重现,你web服务器用tomcat8.0试试

感谢楼主,今天在坑里挣扎了一天,现在换回tomcat7了:+1: