-
-
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
LMMS crash when open one of my project #3223
Comments
Confirmed. Thanks for the bug report. |
Looks like LMMS is running out of buffers. Backtrace:
@zonkmachine could this be related to #3169? |
Yes but I thought that #3169 had been more or less static since around 1.1.0 and here's a change between 1.1.3 and 1.2.0-RC2 . I'll be back to coding in a week and will have a look. A quick thing to test is if this is from before the recent Sample Track updates. |
I have found the problem with the project file and this issue:
You will find that the release of the AHDSR is set to the maximum value of 2.0. This means that if you trigger many samples like it's done in the song many "notes" with long release times are triggered which will play for so long that all the buffers are used up. This means that you can also trigger the crash in a fresh project as follows:
@hashhakaj You can likely solve the crashes in your song by dialing back the release values of the Audio File Processors that you use to play the samples in your song. However, this is only a solution for that one project and in principle it should never be possible to crash the application by just using some "unfortunate" settings. |
@michaelgregorius Thank you for the solution. I reduced the "release" value at '1' and now It works fine without crash even with Beethoven hardcore style. |
The problem with long envelopes was introduced here: #411 In this specific case I can make the project survive by simply increasing the number of available buffers to 1024. I've seen no side effects from increasing this and I'm on a weaker machine than most of us. This way you are more likely to see your machine eat up the CPU cycles and go looking for the trouble instead of getting a crash. |
As it turns out, not by a very big margin. We could just try and raise the available buffers to something bigger, like 4096? Or you could implement extensible buffers, started here: I think we should go with no.1 . Increase available buffers to 4096. Simple and fast. |
Will this affect latency and/or performance in any way? |
I haven't seen anything and I'm running 4096 max buffers now. All that will happen is that the usual limit's will kick in place if you actually go ahead and try to use all those buffers. The power of your CPU will basically be your limit instead of an absolute value. |
As s_availableIndex grows this is the only place I've found where performance |
I got tired of reading Qt documentation so I just stuffed some big numbers in there and hoped things would crash. Running "Krem Kaakkuja" which is slightly more than my machine can run with lmms-1.2.0 I'm curious as to what Valgrind has to say about this. |
Edit: post updated I compared the behaviour of a project on 1.1.3 vs. 1.2.0 with envelope on/off. I think this indicates that the envelope maybe is still running after the sample has finished playing on 1.2.0-rc2 . Results
Envelope means volume envelope amount turned all the way up/down |
I think this issue shows that there are two problems:
|
Re-implement BufferManager using a single lock-free stack instead of two fixed-size arrays. This has the following advantages: * Less code * Immediate re-use of released buffers, no blocking "refresh" required * Dynamic size, no crash when out of buffers (fixes #3670)
Hello Everyone
I did share this project one year ago and put note it will crash your LMMS 100% when it begins play from claps beat bars section at the end of claps bar, colored in red, if you do extend it.
I've done this with different windows hardware and even I've test it with Mac. all have the same situation.
this experiment is done with LMMS 1.1.3
However, I've test the project in latest version of LMMS 1.2. and it crashed at claps beat faster than in LMMS 1.1.3 .
So, I hope that problem be fixed.
project link
https://lmms.io/lsp/?action=show&file=7616
The text was updated successfully, but these errors were encountered: