Amazon Chime integration on android is crashing.

0

I am trying to integrate amazon chime into our app and getting beaten down pretty hard with an exception somewhere in libamazon_chime_media_client.so when I invoke start() on the cameraCaptureSource (an instance of DefaultCameraCaptureSource) The stacktrace which I'm struggling to get any clues from is:

2023-10-10 11:43:37.533 23620-23769 rtc                     <package-name>.debug               E  #
                                                                                                    # Fatal error in: ../../../../webrtc/api/video/video_frame.cc, line 165
                                                                                                    # last system error: 0
                                                                                                    # Check failed: video_frame_buffer_ != nullptr
                                                                                                    # 
2023-10-10 11:43:37.534 23620-23769 libc                    <package-name>.debug               A  Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 23769 (DefaultSurfaceT), pid 23620 (<package-name>)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A  Cmdline: <package-name>.debug
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A  pid: 23620, tid: 23769, name: DefaultSurfaceT  >>> <package-name>.debug <<<
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #01 pc 00000000001cc398  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk!libamazon_chime_media_client.so (offset 0x7ea1000) (BuildId: 90425585887a22548165fae9cd9ec5330980936a)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #02 pc 00000000001cca04  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk!libamazon_chime_media_client.so (offset 0x7ea1000) (BuildId: 90425585887a22548165fae9cd9ec5330980936a)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #03 pc 00000000001dbd54  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk!libamazon_chime_media_client.so (offset 0x7ea1000) (BuildId: 90425585887a22548165fae9cd9ec5330980936a)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #04 pc 0000000000607734  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk!libamazon_chime_media_client.so (offset 0x7ea1000) (BuildId: 90425585887a22548165fae9cd9ec5330980936a)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #05 pc 000000000060764c  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk!libamazon_chime_media_client.so (offset 0x7ea1000) (Java_org_amazon_chime_webrtc_NativeAndroidVideoTrackSource_nativeOnFrameCaptured+44) (BuildId: 90425585887a22548165fae9cd9ec5330980936a)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #12 pc 00000000001f4f58  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (org.amazon.chime.webrtc.NativeAndroidVideoTrackSource.onFrameCaptured+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #17 pc 00000000001f5028  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (org.amazon.chime.webrtc.NativeCapturerObserver.onFrameCaptured+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #22 pc 000000000025d750  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.xodee.client.video.VideoSourceAdapter.onFrameCaptured+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #27 pc 00000000002458dc  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.amazonaws.services.chime.sdk.meetings.internal.video.VideoSourceAdapter.onVideoFrameReceived+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #32 pc 0000000000230b64  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.DefaultCameraCaptureSource.onVideoFrameReceived+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #37 pc 0000000000233024  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.DefaultSurfaceTextureCaptureSource.tryCapturingFrame+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #42 pc 0000000000232dec  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.DefaultSurfaceTextureCaptureSource.access$tryCapturingFrame+0)
2023-10-10 11:43:37.860 23837-23837 DEBUG                   pid-23837                            A        #47 pc 0000000000232760  /data/app/~~JJQKVrn45u-d0aFGWFBakw==/<package-name>.debug-3H336_U-UPPIVwrt4bIxNA==/base.apk (com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture.DefaultSurfaceTextureCaptureSource$start$1$1.onFrameAvailable+0)
---------------------------- PROCESS ENDED (23620) for package <package-name>.debug ----------------------------

In the app I'm trying to integrate, no views have been attached or bound yet (it's a jetpack compose app and I'm just trying to feel my way forward as the demo is all xml views). Once I have constructed a meeting session (by joining to a local chime video server) the minimum steps to reproduce this crash in my app is:

val audioVideoConfig = AudioVideoConfiguration(audioMode = AudioMode.Stereo48K)
event.meetingSession.audioVideo.start(audioVideoConfig)

event.meetingSession.audioVideo.startLocalVideo(cameraCaptureSource)
// ----- this bit causes a crash
cameraCaptureSource.start()

However doing exactly the same in the demo does not lead to a crash (indeed in the demo app I'm actively trying to reproduce the crash, immediately on constructing the meeting session, and failing).

I realise there might not be much to go on from this (wouldn't be able to share the app) but I'm happy to add any extra information where I can. Could somebody offer any ideas or help with this?

I have am using the following libraries [amazon-chime-sdk, amazon-chime-sdk-media] both at version 0.18.3 **

Update** Turns out my mistake was to invoke this logic on the UI thread (viewModelScope). Moving it to the background and I'm no longer crashing.

GregA
asked 7 months ago249 views
1 Answer
0

Hi,

Look at final comment of https://github.com/aws/amazon-chime-sdk-android/issues/246

Similar SIGABORT to yours.

After upgrading another library (comet-chat) to new version, the app doesn't crash anymore (with Chime SDK on 
latest version - 0.11.4 as of now). I guess it's just a conflict between libraries.

So, do you have all libraries on which you depend at their very last level

profile pictureAWS
EXPERT
answered 7 months ago
  • Thanks for the comment. Did try to reproduce in another toy compose application and it wouldn't surface ... It would appear that this one is more a case of user error in that I was invoking this logic on the main dispatcher

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions