KotlinReflectionInternalError crash in ZmAVPreviewBizHandler after upgrading to v6.5.1.31081

Description KotlinReflectionInternalError crash when starting Zoom video call after upgrading from v6.4.5.29521 to v6.5.1.31081. The error occurs in ZmAVPreviewBizHandler when trying to resolve the onRenderHandleChanged function, resulting in a fatal exception that crashes the application during the video preview initialization phase.

Which Android Meeting SDK version?

  • Previous working version: v6.4.5.29521
  • Current crashing version: v6.5.1.31081

To Reproduce(If applicable) Steps to reproduce the behavior:

  1. Upgrade Android Meeting SDK from v6.4.5.29521 to v6.5.1.31081
  2. Initialize Zoom video call functionality
  3. Navigate to video preview screen
  4. Application crashes with KotlinReflectionInternalError

Screenshots

FATAL EXCEPTION: main (Ask Gemini)
Process: co.circlemedical.patient.demo, PID: 31306
kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Function 'onRenderHandleChanged' (JVM signature: onRenderHandleChanged(J)V) not resolved in class us.zoom.component.features.joinflow.avpreview.ZmAVPreviewBizHandler: no members found
	at kotlin.reflect.jvm.internal.KDeclarationContainerImpl.findFunctionDescriptor(KDeclarationContainerImpl.kt:149)
	at kotlin.reflect.jvm.internal.KFunctionImpl.descriptor_delegate$lambda$0(KFunctionImpl.kt:62)
	[...full stack trace truncated for brevity...]

Troubleshooting Routes

  • Verified the crash occurs consistently when upgrading from v6.4.5.29521 to v6.5.1.31081
  • Confirmed the previous version (v6.4.5.29521) worked without issues
  • Issue appears to be related to Kotlin reflection and function resolution in the AV preview component
  • The error suggests a breaking change or missing function in the newer SDK version

Smartphone (please complete the following information):

  • Device: Samsung Galaxy S22
  • OS: Android 14

Additional context This appears to be a regression introduced in v6.5.1.31081 where the onRenderHandleChangedfunction in ZmAVPreviewBizHandler is not being properly resolved through Kotlin reflection. The crash occurs during the video preview initialization phase, specifically when the UI state is being processed. This is blocking our ability to upgrade to the latest SDK version as it makes video calling functionality completely unusable.

2 Likes

@richard.zoom Is this something you could help me with? I’ve tried newer version of the SDK and still able to reproduce

Hi @florian.denu Can you enable logging in your SDK and submit crash logs to this thread? I can help take a look and open an engineering ticket if needed.

Thanks for the help @ticorrian.heard ! I’ve enabled logging in the SDK and attached the crash log below. Happy to provide more details if needed.

kotlin.reflect.jvm.internal.KotlinReflectionInternalError: Function 'onRenderHandleChanged' (JVM signature: onRenderHandleChanged(J)V) not resolved in class us.zoom.component.features.joinflow.avpreview.ZmAVPreviewBizHandler: no members found
                                                                                                    	at kotlin.reflect.jvm.internal.KDeclarationContainerImpl.findFunctionDescriptor(KDeclarationContainerImpl.kt:149)
                                                                                                    	at kotlin.reflect.jvm.internal.KFunctionImpl.descriptor_delegate$lambda$0(KFunctionImpl.kt:62)
                                                                                                    	at kotlin.reflect.jvm.internal.KFunctionImpl.accessor$KFunctionImpl$lambda0(Unknown Source:0)
                                                                                                    	at kotlin.reflect.jvm.internal.KFunctionImpl$$Lambda$0.invoke(Unknown Source:4)
                                                                                                    	at kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal.invoke(ReflectProperties.java:70)
                                                                                                    	at kotlin.reflect.jvm.internal.ReflectProperties$Val.getValue(ReflectProperties.java:32)
                                                                                                    	at kotlin.reflect.jvm.internal.KFunctionImpl.getDescriptor(KFunctionImpl.kt:61)
                                                                                                    	at kotlin.reflect.jvm.internal.KFunctionImpl.toString(KFunctionImpl.kt:229)
                                                                                                    	at kotlin.jvm.internal.FunctionReference.toString(FunctionReference.java:130)
                                                                                                    	at java.lang.String.valueOf(String.java:4112)
                                                                                                    	at java.lang.StringBuilder.append(StringBuilder.java:179)
                                                                                                    	at us.zoom.component.features.joinflow.avpreview.data.AVPreviewUIState.toString(Unknown Source:255)
                                                                                                    	at java.lang.String.valueOf(String.java:4112)
                                                                                                    	at java.lang.StringBuilder.append(StringBuilder.java:179)
                                                                                                    	at us.zoom.component.features.joinflow.avpreview.ZmAVPreviewBizHandler.a(ZmAVPreviewBizHandler.kt:136)
                                                                                                    	at us.zoom.component.features.joinflow.avpreview.ZmAVPreviewBizHandler.a(ZmAVPreviewBizHandler.kt:41)
                                                                                                    	at us.zoom.component.features.joinflow.videopreview.controller.ZmVideoPreviewPageController.C(ZmVideoPreviewPageController.kt:4)
                                                                                                    	at us.zoom.component.clientbase.uicore.compose.ZmAbsComposePageController.E(ZmAbsComposePageController.kt:2)
                                                                                                    	at us.zoom.component.clientbase.uicore.compose.ZmAbsComposePageController.m(ZmAbsComposePageController.kt:1)
                                                                                                    	at us.zoom.component.clientbase.uicore.compose.ZmAbsComposePageController.x(ZmAbsComposePageController.kt:1)
                                                                                                    	at us.zoom.component.clientbase.uicore.compose.ZmAbsComposePage$MainPage$3.invokeSuspend(ZmAbsComposePage.kt:2)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
                                                                                                    	at androidx.compose.ui.platform.AndroidUiDispatcher.performTrampolineDispatch(AndroidUiDispatcher.android.kt:81)
                                                                                                    	at androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch(AndroidUiDispatcher.android.kt:41)
                                                                                                    	at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.run(AndroidUiDispatcher.android.kt:57)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                    	at android.os.Looper.loop(Looper.java:319)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:9063)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
                                                                                                    	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@bfa8df0, androidx.compose.runtime.BroadcastFrameClock@88dbf69, StandaloneCoroutine{Cancelling}@8e2adee, AndroidUiDispatcher@d96c28f]

Same issue happen with me for same version, Any solution?

Same issue happen with me for same version, How can i resolve?

Hi @florian.denu @ranjit.barve Apologies for the wait here. I submitted a ticket to our engineering team to investigate this for you. The reference number is ZSEE-180309. I will keep you updated with their findings.

Thank You, Please update me.