Closed Bug 1622897 Opened 5 months ago Closed 4 months ago

Intermittent TestAudioTrackGraph.SetOutputDeviceID | Expected equality of these values:


(GeckoView :: General, defect, P5)



(firefox77 fixed)

Tracking Status
firefox77 --- fixed


(Reporter: intermittent-bug-filer, Assigned: achronop)




(Keywords: intermittent-failure, Whiteboard: [retriggered][stockwell fixed:patch])


(2 files)

Filed by: malexandru [at]
Parsed log:
Full log:

[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - TEST-START | OpusAudioTrackEncoder.FrameEncode
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - TEST-PASS | OpusAudioTrackEncoder.FrameEncode | test completed (time: 30ms)
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - TEST-START | TestAudioTrackGraph.DifferentDeviceIDs
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - TEST-PASS | TestAudioTrackGraph.DifferentDeviceIDs | test completed (time: 8ms)
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - TEST-START | TestAudioTrackGraph.SetOutputDeviceID
[task 2020-03-16T17:12:15.330Z] 17:12:15 WARNING - TEST-UNEXPECTED-FAIL | TestAudioTrackGraph.SetOutputDeviceID | Expected equality of these values:
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - cubeb->GetCurrentOutputDeviceID()
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - Which is: NULL
[task 2020-03-16T17:12:15.330Z] 17:12:15 INFO - reinterpret_cast<cubeb_devid>(1)
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - Which is: 0x1
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - After init confirm the expected output device id @ /builds/worker/checkouts/gecko/dom/media/gtest/TestAudioTrackGraph.cpp:98
[task 2020-03-16T17:12:15.331Z] 17:12:15 WARNING - TEST-UNEXPECTED-FAIL | TestAudioTrackGraph.SetOutputDeviceID | test completed (time: 2ms)
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - TEST-START | BenchmarkStorage.MovingAverage
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - TEST-PASS | BenchmarkStorage.MovingAverage | test completed (time: 0ms)
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - TEST-START | BenchmarkStorage.ParseStoredValue
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - TEST-PASS | BenchmarkStorage.ParseStoredValue | test completed (time: 0ms)
[task 2020-03-16T17:12:15.331Z] 17:12:15 INFO - TEST-START | BenchmarkStorage.PrepareStoredValue

Thank you, I will have a look.

Assignee: nobody → achronop
Flags: needinfo?(achronop)

Over the last 7 days there are 62 failures present on this bug. These happen on windows10-64 and android-em-7-0-x86_64.
Here is the most recent failure log:

Flags: needinfo?(achronop)

Thank you for pinging me. I have been investigated with lower priority. My latest try run is in [1]. TBH is not a very important error and I expect to be fixed by the following patches. However, they take some time. I'll check if I can do something in the meantime to avoid the error.


Flags: needinfo?(achronop)

The intermittent happens because of the previous test (TestAudioTrackGraph, DifferentDeviceIDs). The cubeb stream init method, of the previous test, executed (asynchronously) late so when the current test is running we still get the values from the previous test. I will implement a logic to wait for the graphs in the previous test to init and shut down before the test end.

Alex can this test be disabled?

Flags: needinfo?(achronop)

Sure, please go on and disable it. This will give me the time to fix it properly. Thanks!

Flags: needinfo?(achronop)

The new problem is that the message used to control the expected result is executed in the Fallback driver before the AudioCallbackDriver::Init. In Bug 1493990 I have implemented a way to signal back from the MTG when the actual audio has started which is what we need here. This is planned to be landed in the following weeks.

:achronop, please make sure in Bug 1493990 that you revert this change.

Attachment #9137065 - Attachment description: Bug 1622897 - disable TestAudioTrackGraph.SetOutputDeviceID on all platforms r?#intermittent-reviewers → Bug 1622897 - disable TestAudioTrackGraph.SetOutputDeviceID on android r=jmaher

Sure. Can we keep this bug open? I will land the corresponding earlier than bug 1493990 in order to fix this.

Keywords: leave-open
Pushed by
disable TestAudioTrackGraph.SetOutputDeviceID on android r=jmaher
Whiteboard: [retriggered][stockwell disable-recommended] → [retriggered][stockwell disabled]
Depends on: 1630986

First update the previous test,TestAudioTrackGraph.DifferentDeviceIDs, to make sure that has been finished before starting the current one. The reason is that when the cubeb_stream_init method, of the previous test, is executed (asynchronously) late, the verified test results, of the current test, are wrong (it gets the values of the previous test). Second, on the currently failing test, use the promise returned from the new MTG::NotifyWhenDeviceStarted() method, that it is guaranteed to be resolved after the cubeb_stream_init() so the correct/expected device id will be found and compared. Finally, create a basic logging mechanism in MockCubeb for easier debugging.

Pushed by
Fix intermitten by waiting for the right time to check the result. r=padenot
Closed: 4 months ago
Keywords: leave-open
Resolution: --- → FIXED
Whiteboard: [retriggered][stockwell disabled] → [retriggered][stockwell fixed:patch]
Target Milestone: --- → mozilla77
You need to log in before you can comment on or make changes to this bug.