-
-
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
Fix wrong value interpolation #3929
Conversation
A first test. I'm not quite sure if this test tells anything but I cherry-picked 600e361 into master and tested it with the fpe debug option. The project I tested it with had a calf limiter just as the one in #3685/#3859. We had two separate fixes that will allow the project to play as normally, patching audio_fx.cpp or setting m_valueOld to '0' for new value buffers, and now this third proper fix for the value buffer. They all work and makes the failing projects pass but when you test for floating point errors, they will all come out crashing. The only difference is that with this latest effort it will play for two bars, but they will all crash with a similar backtrace. master with 600e361
|
Yes. I had the same issue before. That's an underflow, which seems harmless there. |
You may |
That worked. Interesting, what shows that there are denormals involved here? |
I inserted |
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.
I can't comment on the code, especially the valueBuffer() stuff, but it's been sweating in the debugger and works fine.
Maybe we should have the underflow check disabled by default for now then. The debugger is a bit too nervous right now. |
Totally agree. In my case, LMMS fails to start with FPE debugging for some reason. |
Also, we do have some tweak to keep denormals under control.
|
Fixes #3859.