cocos-engine
cocos-engine copied to clipboard
websocket crash
Cocos Creator version
2.4.3
System information
Android 11 (SDK 30)
Issue description
WebSocket在网络不好的时候,出现断线重连容易发生crash
Relevant error log output
pid: 0, tid: 0 >>> com.xxx.xxx <<<
backtrace:
#00 pc 00000000008a7b90 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) (lws_close_reason+8)
#00 pc 0000000000850530 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) (cocos2d::network::WebSocket::closeAsync(int, std::__ndk1::basic_string<char, std::__ndk1::char_traits
Steps to reproduce
WebSocket断线重连的时候容易发生
Minimal reproduction project
No response
Could you please provide a demo which can easily trigger crash in your issue description? So that I could diagnose your problem faster
https://github.com/cocos/engine-native/pull/4291 This PR may solve the crash issue. Have a try!
cocos/engine-native#4291 This PR may solve the crash issue. Have a try!
my cocos creator version 2.4.3 but the PR is 2.4.10. is the same?
Yes. Not a big deal. You can directly merge the modification.
OK
this changes brings a new crash. [split_config.arm64_v8a.apk!libcocos2djs.so] WebSocketCallbackWrapper::onSocketCallback(lws*, lws_callback_reasons, void*, void*, unsigned long)
#00 pc 0x0000000000d4757c /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000d46408 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (WebSocketCallbackWrapper::onSocketCallback(lws*, lws_callback_reasons, void*, void*, unsigned long)) #00 pc 0x0000000000ea85c4 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000ea8b00 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000ea5650 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000ea813c /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (lws_service_fd_tsi) #00 pc 0x0000000000eb42c8 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (_lws_plat_service_tsi) #00 pc 0x0000000000d45acc /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (WsThreadHelper::onSubThreadLoop()) #00 pc 0x0000000000d45700 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (WsThreadHelper::wsThreadEntryFunc()) #00 pc 0x0000000000d4c1f4 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000d4c13c /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so #00 pc 0x0000000000d4bdd8 /data/app/~~aIz4AWje8mPLWriygfvobQ==/com.xxx.xxx-WnKmkxG2kke-0P20pf7P6w==/split_config.arm64_v8a.apk!libcocos2djs.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_deletestd::__ndk1::__thread_struct >, void (WsThreadHelper::)(), WsThreadHelper> >(void*)) #00 pc 0x00000000000ed098 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)) #00 pc 0x000000000008cb10 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread)
this changes brings a new crash.
how to reproduce the crash and could you send me a demo to reproduce?
Currently we do not support version 2.x, please use the latest version 3.x