-
-
Notifications
You must be signed in to change notification settings - Fork 102
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
broadcast_message example deadlocks #269
Comments
Hi, thanks for such a thorough description! I think I've stumbled on a similar issue in this commit Could you please target the master branch and tell me how it goes ? Thanks again! |
Thank you. It' seems to be improved but the master branch doesn't fix the issue. The unmodified example still does not process any messages most of the time. On one run a thread panicked.
On most runs with the modified example, I received completely processed messages. A few runs didn't complete. A few runs had panicked threads.
|
Super interesting, I think I might be able to reproduce it with the info you gave me, on my way! :) |
Soooo I think the order is kind of wrong ? I mean we're sending things before someone is available to receive them which will... go bad! |
@marshauf can you please try to target igni/broadcast_message_example_order and let me know how it goes ? :) |
I made the same modification to the example, too. As I wrote it improved it a lot. Targeting the master branch improved it further. But a few runs still don't end with
or this:
|
Thanks for your reply, I'm glad to see it improved. I hope the last issues are resolved by #261 , but merging it will take a bit of time, Mind if I ping you once it's done ? :) |
No, please go ahead. Thank you :) |
Ok uhm I totally forgot to ping you here I'm sorry, #261 has been merged a while ago and i think / hope we're good ^^' I m going to merge the pull request and close this issue, feel free to reopen it if it still is relevant ^^ |
Hello,
the broadcast_message example deadlocks with warnings about "bastion::dispatcher: The message can't be delivered to the group with the 'Processing' name.". Workers are started after the warnings.
When I change the supervisor creation order to: response_supervisor, map_supervisor, input_supervisor results vary but sometimes some messages get processed by a response_group child. Sometimes a bastion-async-thread thread panics with:
And the program deadlocks and has to be interrupted.
A similar problem occurs in my code. Some messages get processed but not all. Depending on the amount of children which process messages and the amountt of messages inserted, all, some or none get completly processed. It seems like broadcasting a message occupies two children sometimes.
Versions:
name = "bastion" version = "0.4.2"
name = "bastion-executor" version = "0.3.6"
name = "lightproc" version = "0.3.5"
Platform:
Linux linux-i9e5 5.8.2-1-default #1 SMP Wed Aug 19 09:43:15 UTC 2020 (71b519a) x86_64 x86_64 x86_64 GNU/Linux
Code:
https://github.com/bastion-rs/bastion/blob/master/src/bastion/examples/broadcast_message.rs
The text was updated successfully, but these errors were encountered: