<p dir="ltr"><br>
On 17-Sep-2015 11:55 am, "David Henningsson" <<a href="mailto:david.henningsson@canonical.com">david.henningsson@canonical.com</a>> wrote:<br>
><br>
><br>
><br>
> On 2015-09-15 13:22, Arun Raghavan wrote:<br>
>><br>
>> On 15 September 2015 at 16:46, David Henningsson<br>
>> <<a href="mailto:david.henningsson@canonical.com">david.henningsson@canonical.com</a>> wrote:<br>
>>><br>
>>><br>
>>> On 2015-09-15 06:45, Arun Raghavan wrote:<br>
>>>><br>
>>>><br>
>>>> On 9 September 2015 at 15:19, Michael Cree <<a href="mailto:mcree@orcon.net.nz">mcree@orcon.net.nz</a>> wrote:<br>
>>>>><br>
>>>>><br>
>>>>> Pulseaudio fails to build on the Alpha architecture due to a failure<br>
>>>>> in the volume-test of the test suite.  I had reported this to the<br>
>>>>> Debian bug tracker [1] but the maintainer has asked that I forward the<br>
>>>>> patch to this mail list.  The failure in volume-test occurs because it<br>
>>>>> is compiled with -ffast-math which implies -ffinite-math-only of which<br>
>>>>> the gcc manual states that it optimizes for floating-point arithmetic<br>
>>>>> with the assumption that arguments and results are not NaNs or<br>
>>>>> +/-infinity, and futher notes that it may result in incorrect output.<br>
>>>>> On the Alpha platform that is somewhat an understatement as the use of<br>
>>>>> non-finite floating-point arithmetic with -ffinite-math-only results in<br>
>>>>> a floating-point exception and the termination of the program.<br>
>>>>><br>
>>>>> The volume-test converts volumes into decibels (so a zero volume<br>
>>>>> becomes a negative infinity) and proceeds to add two volumes (in<br>
>>>>> decibels), thus does arithmetic with non-finite floating point numbers<br>
>>>>> despite being compiled with -ffast-math!<br>
>>>>><br>
>>>>> I attach a patch that protects against the arithmetic with non-finite<br>
>>>>> numbers for your consideration.  With that patch the test-suite passes<br>
>>>>> on Alpha.<br>
>>>>><br>
>>>>> Cheers<br>
>>>>> Michael.<br>
>>>>><br>
>>>>> [1] <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798248">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798248</a><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Thanks for the fix! I've pushed this out to our next branch (since<br>
>>>> we're frozen for the 7.0 release, it'll only make it out in 8.0).<br>
>>><br>
>>><br>
>>><br>
>>> Hi Arun,<br>
>>><br>
>>> Thanks for picking it up, but I think this is a typical example of a bug fix<br>
>>> that should go in 7.0 even though we're frozen. Not merging it only leads to<br>
>>> more buggy 7.0 release, and more distro patching for downstreams.<br>
>><br>
>><br>
>> Since this patch is for a test, and is rather trivial, I don't<br>
>> particularly mind either way.<br>
><br>
><br>
> Ok, I've now pushed it to master too.<br>
><br>
><br>
>> In general, though, I view each extra patch as a risk of regression<br>
>> when we are frozen, and as they add up, you start to need to do<br>
>> another RC, delaying the release. This is why I advocate a stricter<br>
>> (and thus, imo shorter) freeze period.<br>
><br>
><br>
> Every bug-fix patch is also a chance to get a less buggy release. It's all about the trade-off. For simple fixes like this one, the regression risk is low and the chance to get a less buggy release high.<br>
> A stricter freeze period would prohibit us from making that judgement on a patch-by-patch basis.<br>
><br>
> In general, I believe having a good quality release is more important than having a timely release (but that is also a trade-off - we'll never get to a 100% bug free program). Because if we let something buggy out, then I'll just have to distro patch it instead, and so must other distros, which means more work in total.</p>
<p dir="ltr">Right now, IMO timeliness has been missing, and that's a matter of discipline and availability of our time all over the release process.</p>
<p dir="ltr">You don't necessarily have only diatro patching as a recourse. We do point releases when we feel the need.</p>
<p dir="ltr">-- Arun</p>
<p dir="ltr">><br>
> -- <br>
> David Henningsson, Canonical Ltd.<br>
> <a href="https://launchpad.net/~diwic">https://launchpad.net/~diwic</a><br>
</p>