[pulseaudio-discuss] [PATCH] Fix test-suite failure on Alpha

David Henningsson david.henningsson at canonical.com
Tue Sep 15 04:16:46 PDT 2015



On 2015-09-15 06:45, Arun Raghavan wrote:
> On 9 September 2015 at 15:19, Michael Cree <mcree at orcon.net.nz> wrote:
>> Pulseaudio fails to build on the Alpha architecture due to a failure
>> in the volume-test of the test suite.  I had reported this to the
>> Debian bug tracker [1] but the maintainer has asked that I forward the
>> patch to this mail list.  The failure in volume-test occurs because it
>> is compiled with -ffast-math which implies -ffinite-math-only of which
>> the gcc manual states that it optimizes for floating-point arithmetic
>> with the assumption that arguments and results are not NaNs or
>> +/-infinity, and futher notes that it may result in incorrect output.
>> On the Alpha platform that is somewhat an understatement as the use of
>> non-finite floating-point arithmetic with -ffinite-math-only results in
>> a floating-point exception and the termination of the program.
>>
>> The volume-test converts volumes into decibels (so a zero volume
>> becomes a negative infinity) and proceeds to add two volumes (in
>> decibels), thus does arithmetic with non-finite floating point numbers
>> despite being compiled with -ffast-math!
>>
>> I attach a patch that protects against the arithmetic with non-finite
>> numbers for your consideration.  With that patch the test-suite passes
>> on Alpha.
>>
>> Cheers
>> Michael.
>>
>> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798248
>
> Thanks for the fix! I've pushed this out to our next branch (since
> we're frozen for the 7.0 release, it'll only make it out in 8.0).

Hi Arun,

Thanks for picking it up, but I think this is a typical example of a bug 
fix that should go in 7.0 even though we're frozen. Not merging it only 
leads to more buggy 7.0 release, and more distro patching for downstreams.


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list