cocos-engine icon indicating copy to clipboard operation
cocos-engine copied to clipboard

websocket crash

Open Yetland opened this issue 2 years ago • 7 comments

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, std::__ndk1::allocator > const&)+44) #00 pc 0000000000801438 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) (WebSocket_closeRegistry(v8::FunctionCallbackInfov8::Value const&)+352) #00 pc 0000000001220218 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) (v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo)+532) #00 pc 000000000121f874 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) #00 pc 000000000121f048 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000) #00 pc 0000000001138248 /data/app/~~Ufumv1bVWmwewH0UBoN9lw==/com.xxx.xxx-tXGFzvuMly1fIfRRdiKJ0A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libcocos2djs.so (offset 0x1be6000)

Steps to reproduce

WebSocket断线重连的时候容易发生

Minimal reproduction project

No response

Yetland avatar Jul 08 '22 09:07 Yetland

Could you please provide a demo which can easily trigger crash in your issue description? So that I could diagnose your problem faster

mmyduckx avatar Jul 13 '22 05:07 mmyduckx

https://github.com/cocos/engine-native/pull/4291 This PR may solve the crash issue. Have a try!

mmyduckx avatar Jul 26 '22 11:07 mmyduckx

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?

Yetland avatar Jul 26 '22 11:07 Yetland

Yes. Not a big deal. You can directly merge the modification.

mmyduckx avatar Jul 26 '22 11:07 mmyduckx

OK

Yetland avatar Jul 26 '22 11:07 Yetland

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)

Yetland avatar Aug 08 '22 03:08 Yetland

this changes brings a new crash.

how to reproduce the crash and could you send me a demo to reproduce?

mmyduckx avatar Aug 08 '22 03:08 mmyduckx

Currently we do not support version 2.x, please use the latest version 3.x

mmyduckx avatar Aug 26 '23 18:08 mmyduckx