Open Bug 1283056 Opened 8 years ago Updated 2 years ago

Intermittent 876024-1.html | application terminated with exit code 5 | Assertion failure: (mAudioContextState == AudioContextState::Suspended && aNewState == AudioContextState::Running) || (mAudioContextState == AudioContextState::Running && aNewState ==

Categories

(Core :: Web Audio, defect, P3)

defect

Tracking

()

REOPENED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: cbook, Assigned: padenot)

References

(Blocks 1 open bug, )

Details

(Keywords: assertion, intermittent-failure, stale-bug)

Attachments

(1 file)

https://treeherder.mozilla.org/logviewer.html#?job_id=79129&repo=autoland#L9257

 02:40:51 INFO - Assertion failure: (mAudioContextState == AudioContextState::Suspended && aNewState == AudioContextState::Running) || (mAudioContextState == AudioContextState::Running && aNewState == AudioContextState::Suspended) || (mAudioContextState == AudioContextState::Running && aNewState == AudioContextState::Closed) || (mAudioContextState == AudioContextState::Suspended && aNewState == AudioContextState::Closed) || (mAudioContextState == aNewState) (Invalid AudioContextState transition), at /builds/slave/autoland-m64-d-000000000000000/build/src/dom/media/webaudio/AudioContext.cpp:854

 02:46:22 WARNING - TEST-UNEXPECTED-FAIL | file:///builds/slave/test/build/tests/reftest/tests/dom/media/test/crashtests/876024-1.html | application terminated with exit code 5
Rank: 15
Priority: -- → P1
I'm probably going to write some code so that it's more obvious what's happening here.
Assignee: nobody → padenot
Attachment #8767067 - Flags: review?(karlt) → review+
Comment on attachment 8767067 [details]
Bug 1283056 - Print the invalid state transition before crashing on the assert in AudioContext::OnStateChange.

https://reviewboard.mozilla.org/r/61772/#review58734

::: dom/media/webaudio/AudioContext.cpp:845
(Diff revision 1)
> -  MOZ_ASSERT((mAudioContextState == AudioContextState::Suspended &&
> +  if (!((mAudioContextState == AudioContextState::Suspended &&
> -              aNewState == AudioContextState::Running)   ||
> +       aNewState == AudioContextState::Running)   ||
> -             (mAudioContextState == AudioContextState::Running   &&
> +      (mAudioContextState == AudioContextState::Running   &&
> -              aNewState == AudioContextState::Suspended) ||
> +       aNewState == AudioContextState::Suspended) ||
> -             (mAudioContextState == AudioContextState::Running   &&
> +      (mAudioContextState == AudioContextState::Running   &&
> -              aNewState == AudioContextState::Closed)    ||
> +       aNewState == AudioContextState::Closed)    ||
> -             (mAudioContextState == AudioContextState::Suspended &&
> +      (mAudioContextState == AudioContextState::Suspended &&
> -              aNewState == AudioContextState::Closed)    ||
> +       aNewState == AudioContextState::Closed)    ||
> -             (mAudioContextState == aNewState),
> -             "Invalid AudioContextState transition");
> +      (mAudioContextState == aNewState))) {
> +    fprintf(stderr,
> +            "Invalid transition: mAudioContextState: %d -> aNewState %d\n",
> +            mAudioContextState, aNewState);
> +    MOZ_ASSERT(false);
> +  }

Please put this all in #ifdef DEBUG
(which was previously implied by MOZ_ASSERT).
Pushed by paul@paul.cx:
https://hg.mozilla.org/integration/mozilla-inbound/rev/91ff2579f2aa
Print the invalid state transition before crashing on the assert in AudioContext::OnStateChange. r=karlt
Pushed by paul@paul.cx:
https://hg.mozilla.org/integration/mozilla-inbound/rev/55eb13faa8e0
Cast the enum to int to fix a bustage on a CLOSED TREE.
https://hg.mozilla.org/mozilla-central/rev/91ff2579f2aa
https://hg.mozilla.org/mozilla-central/rev/55eb13faa8e0
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Blocks: 1284318
Blocks: 1284768
Depends on: 1285290
Orangefactor hasn't seen this failure in 876024-1.html recently, but the bug still shows up in other tests. e.g. bug 1332033.
Blocks: 1332033
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
Moving to p3 because no activity for at least 1 year(s).
See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3
Depends on: 1644647
No longer depends on: 1285290
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: