WebSocket.cpp: ERR: internal signal handler caught signal 11

  • Creator 版本: 3.3.2

  • 目标平台: Android

  • 重现方式:快速接收websocket消息,大小不一,最多700K,一会儿就会出现,然后就卡死,画面静止。日志也没有backtrace,不知如何定位呀

  • 首个报错: D/WebSocket.cpp: ERR: internal signal handler caught signal 11
    V/AudioDecoder: outFrames: 51687
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 50
    V/AudioDecoderProvider: url:@assets/assets/resources/native/f5/f506b11a-ca81-4485-8442-3a75d4bf67c6.ogg, extension:.ogg
    V/PcmAudioPlayer: PcmAudioPlayer constructor: 0x7951a0f560
    V/AudioDecoder: resample() 42631 output frames
    D/WebSocket.cpp: ERR: internal signal handler caught signal 11
    V/AudioDecoder: resample() complete
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 33
    V/AudioDecoderOgg: Create AudioDecoderOgg
    V/PcmAudioPlayer: PcmAudioPlayer (0x7951a0f560) play, url: @assets/assets/resources/native/cf/cf324868-2f90-48b7-b0f0-cfc1a3a7a610.ogg
    V/AudioDecoder: outFrames: 85262
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 4
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 50
    V/AudioDecoder: reset() complete
    D/WebSocket.cpp: WebSocket (0x79b030a500) onConnectionClosed, state: 1 …
    V/AudioDecoder: pcm buffer size: 206748
    D/WebSocket.cpp: Receiving data:index:553, len=64
    V/AudioDecoder: resample() complete
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 33
    V/AudioResampler: resampler load 6 -> 0 MHz due to delta -6 MHz from quality 2
    D/WebSocket.cpp: onConnectionClosed, WebSocket (0x79b030a500) is closing by server.
    D/WebSocket.cpp: Receiving data:index:554, len=64
    V/AudioDecoder: reset() complete
    D/AudioDecoder: Resampling (@assets/assets/resources/native/ab/ab6ef6db-f57d-4159-8496-9cd17a2cf38a.ogg) wasted 23.048000ms
    D/WebSocket.cpp: WebSocket (0x79b030a500) onConnectionClosed DONE!
    D/WebSocket.cpp: WebSocket (0x79b030a500) Unhandled websocket event: 4
    D/WebSocket.cpp: Notify data len 64 to Cocos thread.
    D/AudioDecoder: Interleave (@assets/assets/resources/native/60/60b28d56-b9fd-404c-aa09-fdd0e2052309.mp3) wasted 29.596001ms
    D/WebSocket.cpp: ERR: internal signal handler caught signal 11

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

  • 手机型号: 华为Mate10

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:100%

1赞

你好,这个问题,可否提供一个比较容易复现的demo。我们自己再测试一下?

涉及到和Server交互,不好搞demo :rofl:
不过好像所有报错其实都会报WebSocket.cpp: ERR。因为我发现https://forum.cocos.org/t/topic/125747这个问题也是报WebSocket.cpp: ERR,然后我重新加载前将Skeleton手动destroy掉,再新建然后播放spine就不会报错了

Skeleton spine,这些和WebSocket 应该没有任何关系的,怎么会影响网络传输呢

是没有关系呀,但是我spine报错了,adb就疯狂报WebSocket.cpp: ERR,游戏也卡死,并且以前遇到其他错误也会报WebSocket.cpp: ERR

你有没有可能降到2.4的版本试试 我觉得2.4的WebSocket 还是比较稳定的 比较一下就知道是哪里的问题了

我们也出现这个了,后来请问是怎么避免的呢?

没得避免,一般是引擎底层逻辑问题引起的,要去定位看是哪里引起的,然后手动修复一下

请问这问题有修复吗?我也出现了

3.4.2安卓打包运行也偶现这个报错,界面卡死

我们团队在 3.4.2 上,用 okhttp 替换掉 3.4.2 中的网络实现以后,错误进一步暴露在 js_spine_SkeletonRenderer_stopSchedule,通过合并 fix spine crash by xianyinchen · Pull Request #4271 · cocos/engine-native (github.com) 解决。

感谢,试一下