-
Notifications
You must be signed in to change notification settings - Fork 627
Timer trigger deadlock in DefaultStateMachineExecutor #315
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
Comments
Looks like you have some tests to reproduce this, would you mind giving me those tests to speed things up. If there's something you can't show publicly then email would be good either to my gmail or |
We made some progress - found out that timers that we have configured to the state macihne somehowe cause the issue. We can send the test but we have to clean the code and it is not an easy job. |
Maybe we can start with high level machine configuration which hopefully is enough to craft a test case without removing your internal code. Think I just need a config or machine statechart and then what your test do to end up with deadlock. |
Just sent you the class which defines the state machine by mail. hope it helps. |
Thought it might be helpfull - here is the thread dump of the 2 deadlock thread: Name: Thread number: 6 Stack trace:
|
Thanks, I think I have an idea what happens. I'm just trying to come up with a failing test. |
In order to reproduce this issue I run 30 simultaneously threads of the state machine, at least 10 iterations. |
- Add new tests for DefaultStateMachineExecutor to find possible causes for a deadlock. - Handle lifecycle scenario little differently if timer is fired during a executor starting phase order to not getting into a deadlock. - Relates to spring-projects#315
I did push one fix what I'd like you to try. SDG-B12X is building so |
Will test this fix. Yet, when release version will be ready? |
If fix is good for you I can release |
Your fix looks fine. Lets get the release version. |
Please let us know as soon as the release version is ready. |
@davidtepel it's done and in our repos. sync to maven central takes few hours. |
Could you please supply me a link to the release version? |
Thanks! |
Hello,
We need to run multiple state machines simultaniously, yet when we do some of them get BLOCKED. Looking in the thread dump we see that it happens in the DefaultStateMachineExecutor class method: scheduleEventQueueProcessing.
Please see attached thread dump.
see thread number: 12 & 19.
Thanks,
David
test.txt
The text was updated successfully, but these errors were encountered: