client-sdk-android: Livekit 2.0 Native crash Fatal signal 11 (SIGSEGV)
I am getting a Fatal signal 11 (SIGSEGV). I think it started since upgrading to 2.0 of Livekit. the issue seems to be related to NetworkMonitor. I have disabledNetworkMonitor in options.
Reproduced both on Samsung A52 and Pixel 6
Seems to happen only when I end a call, but not always reproducable
private fun buildPeerConnectionFactory(): PeerConnectionFactory {
return PeerConnectionFactory
.builder()
.setVideoDecoderFactory(DefaultVideoDecoderFactory(rootEglBase.eglBaseContext))
.setVideoEncoderFactory(
DefaultVideoEncoderFactory(
rootEglBase.eglBaseContext,
true,
true
)
)
.setOptions(PeerConnectionFactory.Options().apply {
disableNetworkMonitor = true
})
.createPeerConnectionFactory()
}
2024-04-18 12:28:11.189 12226-12461 libc com.bambuser.onetoone.dev A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xffffffc2000008 in tid 12461 (ConnectivityThr), pid 12226 (er.onetoone.dev) 2024-04-18 12:28:12.061 13151-13151 DEBUG pid-13151 A Cmdline: com.bambuser.onetoone.dev 2024-04-18 12:28:12.061 13151-13151 DEBUG pid-13151 A pid: 12226, tid: 12461, name: ConnectivityThr >>> com.bambuser.onetoone.dev <<< 2024-04-18 12:28:12.062 13151-13151 DEBUG pid-13151 A #00 pc 0000000000390c44 /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!libjingle_peerconnection_so.so (offset 0x1603000) (BuildId: 6ca9af36c844c199) 2024-04-18 12:28:12.062 13151-13151 DEBUG pid-13151 A #01 pc 000000000041b5c8 /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!libjingle_peerconnection_so.so (offset 0x1603000) (BuildId: 6ca9af36c844c199) 2024-04-18 12:28:12.062 13151-13151 DEBUG pid-13151 A #02 pc 000000000041b4b0 /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!libjingle_peerconnection_so.so (offset 0x1603000) (Java_livekit_org_webrtc_NetworkMonitor_nativeNotifyOfNetworkConnect+32) (BuildId: 6ca9af36c844c199) 2024-04-18 12:28:12.062 13151-13151 DEBUG pid-13151 A #08 pc 0000000000061cc4 [anon:dalvik-classes33.dex extracted in memory from /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!classes33.dex] (livekit.org.webrtc.NetworkMonitor.notifyObserversOfNetworkConnect+0) 2024-04-18 12:28:12.062 13151-13151 DEBUG pid-13151 A #13 pc 0000000000061ab4 [anon:dalvik-classes33.dex extracted in memory from /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!classes33.dex] (livekit.org.webrtc.NetworkMonitor.-$$Nest$mnotifyObserversOfNetworkConnect+0) 2024-04-18 12:28:12.063 13151-13151 DEBUG pid-13151 A #18 pc 0000000000060350 [anon:dalvik-classes33.dex extracted in memory from /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!classes33.dex] (livekit.org.webrtc.NetworkMonitor$2.onNetworkConnect+0) 2024-04-18 12:28:12.063 13151-13151 DEBUG pid-13151 A #23 pc 0000000000060fb8 [anon:dalvik-classes33.dex extracted in memory from /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!classes33.dex] (livekit.org.webrtc.NetworkMonitorAutoDetect$SimpleNetworkCallback.onNetworkChanged+0) 2024-04-18 12:28:12.063 13151-13151 DEBUG pid-13151 A #28 pc 0000000000060dac [anon:dalvik-classes33.dex extracted in memory from /data/app/~~lFNIYzULyDLD2VfRjyfeiA==/com.bambuser.onetoone.dev-QgpzWBLO_PUuaPsu0lnOkw==/base.apk!classes33.dex] (livekit.org.webrtc.NetworkMonitorAutoDetect$SimpleNetworkCallback.onCapabilitiesChanged+0)
About this issue
- Original URL
- State: open
- Created 2 months ago
- Comments: 15 (7 by maintainers)
The point is you can pass in your CustomVideoCapturer to createVideoTrack without calling initialize.
We will call initialize for you and supply you with the capture observer to use.
Basically, just remove your own creation of the video source and calling of initialize, as well as not creating your own PeerConnectionFactory.