-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Fixes a race condition when loading tracks via AutoDJ #4267
Conversation
…DJPorcessor This ensures that the stack of slots connected to the original signal is fully processed. Fixes https://bugs.launchpad.net/mixxx/+bug/1941743
Could you add tests for that issue to avoid future regressions? |
Does this fix https://bugs.launchpad.net/mixxx/+bug/1941989 ? |
Probably not. The skipped tracks are not supposed to have a very short or zero duration. |
Running the manual test from the bug report triggers debug assertions in main due to invalid frame positions. Did you run the tests for 2.3 successfully? |
I'll publish a PR for main to fix those assertions. Stress testing AutoDJ while constantly cycling through those empty tracks does not show a memory leak. |
@daschuer Please run this test for 2.3 and watch the memory footprint. |
Yes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least one of the race conditions is fixed. While testing I noticed that AutoDJ always loads tracks into the same deck again and again. But this is an edge case and only happens with empty tracks.
Let's merge to fix the bug, even though we don't have any regression tests.
Thank you! LGTM
This is the desired behavior. The AutoDJ loads new tracks until it finds a suitable successor. This happens normally while the previous track is still playing in the other deck. |
This fixes https://bugs.launchpad.net/mixxx/+bug/1941743 at two places.
See commits.