2012-05-28 15:56, Pedro Lopez-Cabanillas skrev:
Hi,
On Wednesday 23 May 2012, David Henningsson wrote:
FluidSynth upstream) didn't make a bug fix release either. Perhaps we
should do that some time soon...so that the fixes will go into 12.10 at
least...
I'm not sure if only fixing that particular bug justifies a release. It
doesn't harm to do it, of course. But we may face very similar bugs in the
future. Let me explain.
I've found the bug you are talking about some time ago, while I was working
with fluidsynth for a Nokia device having an ARM processor:
http://sourceforge.net/apps/trac/fluidsynth/ticket/100
This bug was solved by David with this patch:
http://sourceforge.net/apps/trac/fluidsynth/changeset/435
The problem was very specific to lowering the polyphony, but the cause was not
uncommon and had plagued FluidSynth for a long time. The root problem is
denormals in floating point calculations:
When you hit an "overflow" situation, i e, when we start to kill voices,
the engine starts swapping rvoice and overflow_rvoice pointers. This is
because we can't kill the rvoice directly in the synth thread, because
it might be currently used by the rendering thread. So we have an
additional rvoice for every "standard" rvoice, which is only being used
in overflow situations.
Now, as the overflow_rvoices were not initialised correctly, so they
could contain garbage, invalid volume envelopes, and so on. This in turn
could very well have caused denormal number problems (as the garbage
could have contained denormal numbers), but I don't see the denormal
numbers as being the root cause for this particular bug.
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev