Closed Bug 1622897 Opened 5 months ago Closed 4 months ago

Intermittent TestAudioTrackGraph.SetOutputDeviceID | Expected equality of these values:

Categories

(GeckoView :: General, defect, P5)

Unspecified
All
defect

Tracking

(firefox77 fixed)

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

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

References

(Regression)

Details

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

Attachments

(2 files)

Filed by: malexandru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=293356085&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/VBw-qIfhSvum0GDjfeARGw/runs/0/artifacts/public/logs/live_backing.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: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=294837288&repo=autoland&lineNumber=4832

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.

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=b206c4bfd44bc1e1cce4c2e5a7be734470b5ddc9

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 rmaries@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b94c124b120c
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 achronopoulos@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2b6cbcc81bdd
Fix intermitten by waiting for the right time to check the result. r=padenot
Status: NEW → RESOLVED
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.