fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] FPE Exceptions (was Re: Problem in fluidsynth (Ubuntu 11


From: David Henningsson
Subject: Re: [fluid-dev] FPE Exceptions (was Re: Problem in fluidsynth (Ubuntu 11.10) still in Ubuntu 12.04)
Date: Wed, 30 May 2012 11:36:09 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]