[pulseaudio-discuss] [PATCH] tests: add tolerant variation for comparing the rewind result

Arun Raghavan arun at accosted.net
Mon May 25 05:57:40 PDT 2015


On 25 May 2015 at 12:49, hwang4 <hui.wang at canonical.com> wrote:
>
>
> On 2015年05月25日 14:40, David Henningsson wrote:
>>
>>
>>
>> On 2015-05-25 06:49, Hui Wang wrote:
>>>
>>> On 32bits OS, this test case fails. The reason is when rewinding to
>>> the middle of a block, some of float parameters in the saved_state
>>> are stored in the memory from FPU registers, and those parameters will
>>> be used for next time to process data with lfe. Here if FPU register
>>> is over 32bits, the storing from FPU register to memory will introduce
>>> some variation, and this small variation will introduce small
>>> variation to the rewinding result.
>>
>>
>> Very interesting finding. I didn't know that storing things back and forth
>> to memory could change the computation result.
>>
>> And the fact that it only happens on 32-bit platforms and only with
>> optimisations makes it even stranger. Makes me wonder if this is actually an
>> gcc optimisation bug.
>>
> Probably.

Did I misunderstand something here? Fixing a problem with the compiler
in our test seems to be incorrect.

-- Arun


More information about the pulseaudio-discuss mailing list