Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG][Android] Calling SDK 1.3.0-beta.1 causes unexpected crash without a pattern #951

Closed
bogdanmunteanu opened this issue Nov 26, 2021 · 1 comment
Labels
customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that

Comments

@bogdanmunteanu
Copy link

bogdanmunteanu commented Nov 26, 2021

Describe the bug
When in a conference using Calling SDK 1.3.0-beta.1 , there are moments when the SDK crashes . However they don't seem to have a pattern.

Exception or Stack Trace

com.azure.android.communication.calling.VideoStreamRenderer.dispose VideoStreamRenderer.java:170
com.tremend.reginamaria.fragments.virtualconsultation.VirtualConsultationFragment.disposeLocalVideoStream VirtualConsultationFragment.kt:795
androidx.lifecycle.LiveData.considerNotify LiveData.java:133
androidx.lifecycle.LiveData.dispatchingValue LiveData.java:146
androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged LiveData.java:468
androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged LiveData.java:425
androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent LifecycleRegistry.java:354
androidx.lifecycle.LifecycleRegistry.forwardPass LifecycleRegistry.java:265
androidx.lifecycle.LifecycleRegistry.sync LifecycleRegistry.java:307
androidx.lifecycle.LifecycleRegistry.moveToState LifecycleRegistry.java:148
androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent LifecycleRegistry.java:134
androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent FragmentViewLifecycleOwner.java:77
androidx.fragment.app.Fragment.performStart Fragment.java:3028
androidx.fragment.app.FragmentStateManager.start FragmentStateManager.java:589
androidx.fragment.app.FragmentStateManager.moveToExpectedState FragmentStateManager.java:300
androidx.fragment.app.FragmentStore.moveToExpectedState FragmentStore.java:112
androidx.fragment.app.FragmentManager.moveToState FragmentManager.java:1647
androidx.fragment.app.FragmentManager.dispatchStateChange FragmentManager.java:3126
androidx.fragment.app.FragmentManager.dispatchStart FragmentManager.java:3077
androidx.fragment.app.FragmentController.dispatchStart FragmentController.java:262
androidx.fragment.app.FragmentActivity.onStart FragmentActivity.java:510
androidx.appcompat.app.AppCompatActivity.onStart AppCompatActivity.java:210
com.tremend.reginamaria.activities.MainActivityPacient.onStart MainActivityPacient.java:1593
android.app.Instrumentation.callActivityOnStart Instrumentation.java:1433

To Reproduce
Steps to reproduce the behavior:

  1. Join a call with Calling SDK 1.3.0-beta.1
  2. Sometimes , the SDK crashes when it tries to dispose of the video streams.

Expected behavior
The SDK should not crash

Screenshots

Setup (please complete the following information):

  • OS: Android 11
  • Phone : Samsung A70
  • Version of the Library used : Calling SDK 1.3.0-beta.1

Additional context
Add any other context about the problem here.
We have tried isolating the disposal of the streams to avoid this

 private fun disposeLocalVideoStream() {
        localVideoStreamRenderer?.let {
            it.dispose()
        }
        localVideoStreamRendererView?.let {
            it.dispose()
        }

        if (consultationViewModel.waitingRoomState.value == true) {
            binding?.llFullVideoContainer?.removeAllViews()
        } else {
            localVideoStreamRendererView?.let {
                binding?.cvSmallVideoContainer?.removeAllViews()
            }
        }

        localVideoStreamRenderer = null
        localVideoStreamRendererView = null
    }

    private fun disposeRemoteVideoStreams() {
        remoteVideoStreamRenderer?.let {
            it.dispose()
        }
        remoteVideoStreamRendererView?.let {
            it.dispose()
        }

        binding?.llFullVideoContainer?.removeAllViews()

        remoteVideoStreamRenderer = null
        remoteVideoStreamRendererView = null
    }
@ghost ghost added needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. customer-reported Issues that are reported by GitHub users external to the Azure organization. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Nov 26, 2021
Copy link

Hi @bogdanmunteanu, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Mar 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Projects
None yet
Development

No branches or pull requests

1 participant