-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Clean up after render in ProjectRenderer destructor #3680
Conversation
multitapechocrash.mmp.zip |
When you have a win-exe, notch me and i will test if needed. |
That's much appreciated. RC4 should be just around the corner... ;-) |
@musikBear Can you test the projects above and confirm if they crash on render or not on RC3? |
Please… target the |
@zonkmachine I must have overlooked a blue-dot, sorry |
Thanks for testing this!
I should have mentioned that it doesn't happen every time. Please try it some more with this project and see if you can break it. 8)
I'm the bug on that one. Working fast and cloning tracks... Boom! Wave or ogg shouldn't matter. Just export 20 times each project and see how often they break.
Yes, the crash happens at the end of export. I imagine that you could end up with both broken exports and finished working files but I haven't tested that fully. |
I've exported ogg and wav files now and I always end up with a successful output file. I'm going to merge this tomorrow. Testing/Review is most welcome. |
We need to wait with calling Mixer::restoreAudioDevice() and Mixer::changeQuality() after render until all threads have stopped. Moving these calls to ProjectRenderer::~ProjectRenderer() ensures all render theads are done.
I will do that today |
@zonkmachine |
Interesting. rendercrash.mmp failed for me about the same, but multitapechocrash.mmp I haven't managed to render without a crash even once. |
@zonkmachine that is odd -surely there is no version shrew-ups.. or |
There are too many variables that differ here so I no point in comparing setups. In your case you have a weaker computer than I do and your OS is much older, win XP. This issue is related to multiple threads and multi threading is being done differently by Qt on different platforms so we could be trouble shooting this until the next millennium. The code has already been committed to stable-1.2 and will be in RC4 and then you can test it again to see if the crash (hopefully) is gone. |
We need to wait with calling Mixer::restoreAudioDevice() and
Mixer::changeQuality() after render until all threads have stopped.
Moving these calls to ProjectRenderer::~ProjectRenderer() ensures
all render theads are done.
Fixes #3555
Edit: This works just fine...