Closed 4brunu closed 3 years ago
Hi @4brunu ! Thanks for reaching out regarding this issue. Do you have any logs from the Redmi 9T device? Also, what were the other physical devices that you used and experienced the crash?
Hi, unfortunately the Redmi 9T is with a colegue in another city, so I won't be able to get the logs. The emulator and the Redmi 9T where the only devices where we found the crash. But since it always crashs on the Android Emulator Pixel 2 API 30 x86_64, it should be easy to reproduce.
Here is some additional information that we discovered. This crash on the Android clients, only happens when performing a call with a windows 10 desktop using Twilio Video Javascript 2.0.1, but we also tried the version 2.16.0 and the same happens.
The windows desktop has the following characteristics:
With the following webcam: Conceptronic AMDIS FullHD - AMDIS01B
Running the on the following embeded chrome library:
We tested on a different PC and it works.
We tried using a different webcam than Conceptronic AMDIS FullHD - AMDIS01B, and it works. Looks like the problem is from this webcam.
Reverting the twilio video android sdk from 6.2.1 to 5.10.2, makes the Android App work with this webcam.
Here is the crash in the real device
2021-09-03 10:46:43.200 27332-27805/com.sample.sampleapp I/tvi.webrtc.Logging: AndroidVideoDecoder: ctor name: c2.android.vp8.decoder type: VP8 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@757eff9
2021-09-03 10:46:43.201 27332-27805/com.sample.sampleapp I/tvi.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.qcom.video.decoder.vp9 type: VP9 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@757eff9
2021-09-03 10:46:43.201 27332-27805/com.sample.sampleapp I/tvi.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.qcom.video.decoder.avc type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@757eff9
2021-09-03 10:46:43.202 27332-27805/com.sample.sampleapp I/tvi.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.google.h264.decoder type: H264 color format: 19 context: tvi.webrtc.EglBase14Impl$Context@757eff9
2021-09-03 10:46:43.209 27332-27332/com.sample.sampleapp I/tvi.webrtc.Logging: EglRenderer: primaryVideoView: setLayoutAspectRatio: 0.5065666
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp D/OpenSLESRecorder: InitRecording[tid=27805]
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp D/OpenSLESRecorder: ObtainEngineInterface
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp D/OpenSLESRecorder: CreateAudioRecorder
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp W/libOpenSLES: Conversion from OpenSL ES positional channel mask 0x4 to Android mask 0 loses channels
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x4, using default mask 0x10 based on channel count of 1)
2021-09-03 10:46:43.616 27332-27805/com.sample.sampleapp D/AudioRecord: set(): inputSource 7, sampleRate 48000, format 0x1, channelMask 0x10, frameCount 0, notificationFrames 0, sessionId 0, transferType 1, flags 0x5, opPackageName uid -1, pid -1
2021-09-03 10:46:43.652 27332-27805/com.sample.sampleapp D/OpenSLESRecorder: StartRecording[tid=27805]
2021-09-03 10:46:43.652 27332-27805/com.sample.sampleapp D/OpenSLESRecorder: state.count:2 state.index:0
2021-09-03 10:46:43.652 27332-27805/com.sample.sampleapp D/AudioRecord: start(77): sync event 0 trigger session 0, mSessionID=233
2021-09-03 10:46:43.745 27332-27925/com.sample.sampleapp I/tvi.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2021-09-03 10:46:43.747 27332-27925/com.sample.sampleapp I/tvi.webrtc.Logging: SurfaceTextureHelper: Setting listener to tvi.webrtc.AndroidVideoDecoder@11e92b5
2021-09-03 10:46:43.747 27332-27911/com.sample.sampleapp I/tvi.webrtc.Logging: AndroidVideoDecoder: initDecodeInternal name: c2.android.vp8.decoder type: VP8 width: 720 height: 405
2021-09-03 10:46:43.753 27332-27927/com.sample.sampleapp D/CCodec: allocate(c2.android.vp8.decoder)
2021-09-03 10:46:43.755 27332-27927/com.sample.sampleapp I/Codec2Client: Available Codec2 services: "software"
2021-09-03 10:46:43.755 27332-27927/com.sample.sampleapp I/Codec2Client: Creating a Codec2 client to service "software"
2021-09-03 10:46:43.758 27332-27927/com.sample.sampleapp I/Codec2Client: Client to Codec2 service "software" created
2021-09-03 10:46:43.762 27332-27927/com.sample.sampleapp I/CCodec: Created component [c2.android.vp8.decoder]
2021-09-03 10:46:43.762 27332-27927/com.sample.sampleapp D/CCodecConfig: read media type: video/x-vnd.on2.vp8
2021-09-03 10:46:43.763 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.max-count.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.subscribed-indices.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: input.buffers.allocator-ids.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.allocator-ids.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.allocator-ids.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2021-09-03 10:46:43.764 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.pool-ids.values
2021-09-03 10:46:43.765 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: ignored struct field coded.color-format.locations
2021-09-03 10:46:43.765 27332-27927/com.sample.sampleapp D/CCodecConfig: ignoring local param raw.size (0xd2001800) as it is already supported
2021-09-03 10:46:43.765 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: ignored struct field raw.hdr-static-info.mastering
2021-09-03 10:46:43.765 27332-27927/com.sample.sampleapp I/CCodecConfig: query failed after returning 9 values (BAD_INDEX)
2021-09-03 10:46:43.766 27332-27927/com.sample.sampleapp D/CCodecConfig: c2 config diff is Dict {
c2::u32 coded.pl.level = 0
c2::u32 coded.pl.profile = 0
c2::u32 default.color.matrix = 0
c2::u32 default.color.primaries = 0
c2::u32 default.color.range = 0
c2::u32 default.color.transfer = 0
c2::u32 input.buffers.max-size.value = 2097152
c2::u32 input.delay.value = 0
string input.media-type.value = "video/x-vnd.on2.vp8"
string output.media-type.value = "video/raw"
c2::u32 raw.color.matrix = 0
c2::u32 raw.color.primaries = 0
c2::u32 raw.color.range = 0
c2::u32 raw.color.transfer = 0
c2::u32 raw.max-size.height = 240
c2::u32 raw.max-size.width = 320
c2::u32 raw.pixel-format.value = 35
c2::i32 raw.rotation.flip = 0
c2::i32 raw.rotation.value = 0
c2::u32 raw.sar.height = 1
c2::u32 raw.sar.width = 1
c2::u32 raw.size.height = 240
c2::u32 raw.size.width = 320
c2::u32 raw.surface-scaling.value = 1
}
2021-09-03 10:46:43.766 27332-27927/com.sample.sampleapp W/ColorUtils: expected specified color aspects (0:0:0:0)
2021-09-03 10:46:43.768 27332-27926/com.sample.sampleapp D/SurfaceUtils: connecting to surface 0x7b4ad18010, reason connectToSurface
2021-09-03 10:46:43.768 27332-27926/com.sample.sampleapp I/MediaCodec: [c2.android.vp8.decoder] setting surface generation to 27987969
2021-09-03 10:46:43.768 27332-27926/com.sample.sampleapp D/SurfaceUtils: disconnecting from surface 0x7b4ad18010, reason connectToSurface(reconnect)
2021-09-03 10:46:43.768 27332-27926/com.sample.sampleapp D/SurfaceUtils: connecting to surface 0x7b4ad18010, reason connectToSurface(reconnect)
2021-09-03 10:46:43.768 27332-27927/com.sample.sampleapp D/CCodecConfig: no c2 equivalents for native-window
2021-09-03 10:46:43.769 27332-27927/com.sample.sampleapp D/CCodecConfig: config failed => CORRUPTED
2021-09-03 10:46:43.769 27332-27927/com.sample.sampleapp D/CCodecConfig: Bad parameter value
2021-09-03 10:46:43.769 27332-27927/com.sample.sampleapp D/CCodecConfig: c2 config diff is c2::u32 raw.size.width = 720
2021-09-03 10:46:43.769 27332-27927/com.sample.sampleapp W/CCodec: failed to configure c2 params
2021-09-03 10:46:43.769 27332-27926/com.sample.sampleapp E/MediaCodec: Codec reported err 0xffffffea, actionCode 0, while in state 3
2021-09-03 10:46:43.771 27332-27926/com.sample.sampleapp D/SurfaceUtils: disconnecting from surface 0x7b4ad18010, reason disconnectFromSurface
2021-09-03 10:46:43.771 27332-27911/com.sample.sampleapp E/MediaCodec: configure failed with err 0xffffffea, resetting...
2021-09-03 10:46:43.775 27332-27927/com.sample.sampleapp D/CCodec: allocate(c2.android.vp8.decoder)
2021-09-03 10:46:43.777 27332-27927/com.sample.sampleapp I/CCodec: Created component [c2.android.vp8.decoder]
2021-09-03 10:46:43.778 27332-27927/com.sample.sampleapp D/CCodecConfig: read media type: video/x-vnd.on2.vp8
2021-09-03 10:46:43.779 27332-27811/com.sample.sampleapp I/tvi.webrtc.Logging: CameraStatistics: Camera fps: 27.
2021-09-03 10:46:43.779 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.max-count.values
2021-09-03 10:46:43.779 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.subscribed-indices.values
2021-09-03 10:46:43.779 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: input.buffers.allocator-ids.values
2021-09-03 10:46:43.780 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.allocator-ids.values
2021-09-03 10:46:43.780 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.allocator-ids.values
2021-09-03 10:46:43.780 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: output.buffers.pool-ids.values
2021-09-03 10:46:43.780 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: extent() != 1 for single value type: algo.buffers.pool-ids.values
2021-09-03 10:46:43.780 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: ignored struct field coded.color-format.locations
2021-09-03 10:46:43.781 27332-27927/com.sample.sampleapp D/CCodecConfig: ignoring local param raw.size (0xd2001800) as it is already supported
2021-09-03 10:46:43.781 27332-27927/com.sample.sampleapp D/ReflectedParamUpdater: ignored struct field raw.hdr-static-info.mastering
2021-09-03 10:46:43.781 27332-27927/com.sample.sampleapp I/CCodecConfig: query failed after returning 9 values (BAD_INDEX)
2021-09-03 10:46:43.781 27332-27927/com.sample.sampleapp D/CCodecConfig: c2 config diff is Dict {
c2::u32 coded.pl.level = 0
c2::u32 coded.pl.profile = 0
c2::u32 default.color.matrix = 0
c2::u32 default.color.primaries = 0
c2::u32 default.color.range = 0
c2::u32 default.color.transfer = 0
c2::u32 input.buffers.max-size.value = 2097152
c2::u32 input.delay.value = 0
string input.media-type.value = "video/x-vnd.on2.vp8"
string output.media-type.value = "video/raw"
c2::u32 raw.color.matrix = 0
c2::u32 raw.color.primaries = 0
c2::u32 raw.color.range = 0
c2::u32 raw.color.transfer = 0
c2::u32 raw.max-size.height = 240
c2::u32 raw.max-size.width = 320
c2::u32 raw.pixel-format.value = 35
c2::i32 raw.rotation.flip = 0
c2::i32 raw.rotation.value = 0
c2::u32 raw.sar.height = 1
c2::u32 raw.sar.width = 1
c2::u32 raw.size.height = 240
c2::u32 raw.size.width = 320
c2::u32 raw.surface-scaling.value = 1
}
2021-09-03 10:46:43.781 27332-27927/com.sample.sampleapp W/ColorUtils: expected specified color aspects (0:0:0:0)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: java.lang.IllegalArgumentException
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at android.media.MediaCodec.native_configure(Native Method)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at android.media.MediaCodec.configure(MediaCodec.java:2024)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at android.media.MediaCodec.configure(MediaCodec.java:1952)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at tvi.webrtc.MediaCodecWrapperFactoryImpl$MediaCodecWrapperImpl.configure(MediaCodecWrapperFactoryImpl.java:37)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at tvi.webrtc.AndroidVideoDecoder.initDecodeInternal(AndroidVideoDecoder.java:192)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp W/System.err: at tvi.webrtc.AndroidVideoDecoder.initDecode(AndroidVideoDecoder.java:157)
2021-09-03 10:46:43.783 27332-27911/com.sample.sampleapp E/rtc: #
# Fatal error in: gen/sdk/android/generated_base_jni/../../../../../../../src/sdk/android/src/jni/jni_generator_helper.h, line 94
# last system error: 0
# Check failed: !env->ExceptionCheck()
#
--------- beginning of crash
2021-09-03 10:46:43.784 27332-27911/com.sample.sampleapp A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 27911 (DecodingQueue -), pid 27332 (nepocketandroid)
2021-09-03 10:46:43.815 27332-27894/com.sample.sampleapp W/OpenSLESPlayer: Bad OpenSL ES playout timing, dT=159 [ms]
2021-09-03 10:46:43.941 27332-27921/com.sample.sampleapp W/OpenSLESRecorder: Bad OpenSL ES record timing, dT=289 [ms]
@Alton09 I have this device for a limited period of time, do you need any extra logs? Thanks
This is now fixed in version 7.0.1, thanks 👍
Description
Hi, I updated twilio video android sdk from 5.10.2 to 6.2.1 (I checked 6.4.0 and the same error happens), and a new error happened on some devices.
This crash always happens in the Xiaomi Redmi 9T. It also happens on the Android Emulator Pixel 2 API 30 x86_64. In the Android Emulator Pixel 2 API 30 x86 works fine, so it seems to be related to x86_64 somehow in the case of the emulator.
On the other devices that I tested, it worked well!
Steps to Reproduce
Reproduces how Often
Always.
Logs
Versions
All relevant version information for issue.
Video Android SDK
6.2.1
Android API
30
Android Device
Android Emulator Pixel 2 API 30 x86_64