Open paulpv opened 3 days ago
Confirmed that if I force the nested FooAsync
to be enqueued and then process on the main thread the code does not deadlock.
I don't have sample code prepared to show this yet, but hopefully you can imagine what I mean! :)
[REQUIRED] Please fill in the following fields:
[REQUIRED] Please describe the issue here:
As the title says, nested
Future::OnCompletion
appears to deadlock.I have created a sample project reproducing this problem at: https://github.com/DistroAV/firebase-functions-future-async-nested
I have a very simple firebase function running in an emulator (the same problem happens when published to project too):
I then have C++ code to call this:
When I run the code I get the following:
The app appears to deadlock and never complete the future and print the expected
FooAsync #4: value=200
. I have to Ctrl-C to end the app.The above is simplified code for this Issue. In my actual code I also show initializing the project app and successful multiple non-async and non-nested async calls.
Steps to reproduce:
100% repro with the code/steps listed above
Relevant Code:
https://github.com/DistroAV/firebase-functions-future-async-nested