-
Notifications
You must be signed in to change notification settings - Fork 111
[BUG] Calling: disposing a 2nd call agent never returns #2244
Copy link
Copy link
Open
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Metadata
Metadata
Assignees
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Type
Fields
Give feedbackNo fields configured for issues without a type.
Describe the bug
Calling
CallAgent.dispose()blocks forever on the second attempt.I'm able to create a
CallClient, create aCallAgent, and dispose both successfully; but after creating a 2nd call client and a 2nd call agent, disposing the 2nd call agent will block indefinitely. Attempting to create another client or agent in the same app process causes a crash.Workaround: if I just skip disposing the call agent entirely and only dispose the client, everything works fine.
Exception or Stack Trace
No exception, the calling thread blocks indefinitely:
I see these logs, but I'm not sure if they're related:
To Reproduce
Steps to reproduce the behavior:
CallClient,CommunicationTokenCredential, andCallAgent.dispose()on the call agent, credential, and client.callAgent.dispose().Code Snippet
Expected behavior
dispose()should return every time it is called on a un-disposed call agent.Disposing multiple call agents should be supported (e.g. user A logs in, logs out, user B logs in, logs out).
Screenshots
N/A
Setup (please complete the following information):
com.azure.android:azure-communication-calling:2.16.1-beta.12.16.1-beta.3, and experienced the same problem.2.6.0-beta.8without violating 16KB alignment.Additional context
Things I already confirmed:
val executor = Executors.newSingleThreadExecutor()); it just hangs on that thread instead.Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report