Open Bug 940203 Opened 6 years ago Updated Last year

Intermittent test_bug694.html,test_bug622558.html,test_bug659743.xml,test_bug660663.html,test_bug677658.html,test_bug763626.html | Assertion count is greater than expected (mRequiredRadioCount about to wrap below 0!, file nsDocument.cpp, line 8077)

Categories

(Core :: Layout: Form Controls, defect, P5)

x86
Windows 8
defect

Tracking

()

Tracking Status
firefox33 --- wontfix
firefox34 --- wontfix
firefox35 --- affected
firefox36 --- affected
firefox37 --- affected
firefox-esr31 --- affected

People

(Reporter: philor, Unassigned)

References

Details

(Keywords: assertion, intermittent-failure, leave-open)

https://tbpl.mozilla.org/php/getParsedLog.php?id=30739208&full=1&branch=mozilla-central
WINNT 6.2 mozilla-central debug test mochitest-1 on 2013-11-18 19:32:18 PST for push f7c711424299
slave: t-w864-ix-063

19:57:11     INFO -  141428 INFO TEST-START | /tests/content/html/content/test/test_bug622558.html
19:57:12     INFO -  --DOCSHELL 0E9C2B38 == 9 [pid = 4076] [id = 593]
19:57:12     INFO -  --DOCSHELL 0E9C2098 == 8 [pid = 4076] [id = 592]
19:57:12     INFO -  --DOMWINDOW == 66 (1FC8CB58) [pid = 4076] [serial = 3647] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug605124-1.html]
19:57:12     INFO -  --DOMWINDOW == 65 (1FC729E0) [pid = 4076] [serial = 3637] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug600155.html]
19:57:12     INFO -  --DOMWINDOW == 64 (1FC749D0) [pid = 4076] [serial = 3638] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 63 (1FC8BB60) [pid = 4076] [serial = 3646] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 62 (1FC7B508) [pid = 4076] [serial = 3639] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug601030.html]
19:57:12     INFO -  --DOMWINDOW == 61 (1FC6DA08) [pid = 4076] [serial = 3650] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 60 (1FC6C0F0) [pid = 4076] [serial = 3635] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug598833-1.html]
19:57:12     INFO -  --DOMWINDOW == 59 (1FC824D0) [pid = 4076] [serial = 3649] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug605124-2.html]
19:57:12     INFO -  --DOMWINDOW == 58 (1FCA6840) [pid = 4076] [serial = 3636] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 57 (1FC83BA0) [pid = 4076] [serial = 3648] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 56 (2002C440) [pid = 4076] [serial = 3651] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug605125-1.html]
19:57:12     INFO -  --DOMWINDOW == 55 (200328A0) [pid = 4076] [serial = 3652] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 54 (20042CB0) [pid = 4076] [serial = 3655] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug606817.html]
19:57:12     INFO -  --DOMWINDOW == 53 (200351B0) [pid = 4076] [serial = 3653] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug605125-2.html]
19:57:12     INFO -  --DOMWINDOW == 52 (20037630) [pid = 4076] [serial = 3656] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 51 (2002A8E0) [pid = 4076] [serial = 3654] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 50 (200455C0) [pid = 4076] [serial = 3658] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 49 (2004A598) [pid = 4076] [serial = 3657] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug607145.html]
19:57:12     INFO -  --DOMWINDOW == 48 (200184E0) [pid = 4076] [serial = 3659] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug610212.html]
19:57:12     INFO -  --DOMWINDOW == 47 (2004B100) [pid = 4076] [serial = 3660] [outer = 00000000] [url = http://mochi.test:8888/tests/SimpleTest/iframe-between-tests.html]
19:57:12     INFO -  --DOMWINDOW == 46 (1FC8C480) [pid = 4076] [serial = 3643] [outer = 00000000] [url = about:blank]
19:57:12     INFO -  --DOMWINDOW == 45 (1FC89250) [pid = 4076] [serial = 3645] [outer = 00000000] [url = about:blank]
19:57:12     INFO -  --DOMWINDOW == 44 (1FC85948) [pid = 4076] [serial = 3641] [outer = 00000000] [url = data:text/html,<input%20autofocus>]
19:57:12     INFO -  --DOMWINDOW == 43 (1A886FB8) [pid = 4076] [serial = 3619] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/test_bug593689.html]
19:57:12     INFO -  --DOMWINDOW == 42 (2003F838) [pid = 4076] [serial = 3669] [outer = 20033408] [url = about:blank]
19:57:12     INFO -  --DOMWINDOW == 41 (20033408) [pid = 4076] [serial = 3668] [outer = 00000000] [url = about:blank]
19:57:12     INFO -  [Parent 4076] WARNING: NS_ENSURE_TRUE(obj) failed: file e:/builds/moz2_slave/m-cen-w32-d-000000000000000000/build/content/base/src/nsObjectLoadingContent.cpp, line 3395
19:57:12     INFO -  [Parent 4076] ###!!! ASSERTION: mRequiredRadioCount about to wrap below 0!: 'radioGroup->mRequiredRadioCount != 0', file e:/builds/moz2_slave/m-cen-w32-d-000000000000000000/build/content/base/src/nsDocument.cpp, line 7353
19:57:12     INFO -  mozilla::dom::HTMLInputElement::WillRemoveFromRadioGroup() [content/html/content/src/HTMLInputElement.cpp:5481]
19:57:12     INFO -  mozilla::dom::HTMLInputElement::UnbindFromTree(bool,bool) [content/html/content/src/HTMLInputElement.cpp:3949]
19:57:12     INFO -  mozilla::dom::Element::UnbindFromTree(bool,bool) [content/base/src/Element.cpp:1246]
19:57:12     INFO -  nsGenericHTMLElement::UnbindFromTree(bool,bool) [content/html/content/src/nsGenericHTMLElement.cpp:644]
19:57:12     INFO -  mozilla::dom::Element::UnbindFromTree(bool,bool) [content/base/src/Element.cpp:1246]
19:57:12     INFO -  nsGenericHTMLElement::UnbindFromTree(bool,bool) [content/html/content/src/nsGenericHTMLElement.cpp:644]
19:57:12     INFO -  mozilla::dom::HTMLBodyElement::UnbindFromTree(bool,bool) [content/html/content/src/HTMLBodyElement.cpp:348]
19:57:12     INFO -  mozilla::dom::Element::UnbindFromTree(bool,bool) [content/base/src/Element.cpp:1246]
19:57:12     INFO -  nsGenericHTMLElement::UnbindFromTree(bool,bool) [content/html/content/src/nsGenericHTMLElement.cpp:644]
19:57:12     INFO -  mozilla::dom::HTMLSharedElement::UnbindFromTree(bool,bool) [content/html/content/src/HTMLSharedElement.cpp:294]
19:57:12     INFO -  nsDocument::cycleCollection::Unlink(void *) [content/base/src/nsDocument.cpp:1898]
19:57:12     INFO -  nsHTMLDocument::cycleCollection::Unlink(void *) [content/html/document/src/nsHTMLDocument.cpp:214]
19:57:12     INFO -  nsCycleCollector::CollectWhite() [xpcom/base/nsCycleCollector.cpp:2389]
19:57:12     INFO -  nsCycleCollector::Collect(ccType,nsTArray<PtrInfo *> *,nsCycleCollectorResults *,nsICycleCollectorListener *) [xpcom/base/nsCycleCollector.cpp:2702]
19:57:12     INFO -  nsCycleCollector_collect(bool,nsCycleCollectorResults *,nsICycleCollectorListener *) [xpcom/base/nsCycleCollector.cpp:3173]
19:57:12     INFO -  nsJSContext::CycleCollectNow(nsICycleCollectorListener *,int,bool) [dom/base/nsJSEnvironment.cpp:2026]
19:57:12     INFO -  nsDOMWindowUtils::GarbageCollect(nsICycleCollectorListener *,int) [dom/base/nsDOMWindowUtils.cpp:1196]
19:57:12     INFO -  NS_InvokeByIndex [xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:71]
19:57:12     INFO -  CallMethodHelper::Invoke() [js/xpconnect/src/XPCWrappedNative.cpp:2593]
19:57:12     INFO -  XPCWrappedNative::CallMethod(XPCCallContext &,XPCWrappedNative::CallMode) [js/xpconnect/src/XPCWrappedNative.cpp:1899]
19:57:12     INFO -  XPC_WN_CallMethod(JSContext *,unsigned int,JS::Value *) [js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1304]
19:57:12     INFO -  js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:220]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:463]
19:57:12     INFO -  js_fun_apply(JSContext *,unsigned int,JS::Value *) [js/src/jsfun.cpp:1046]
19:57:12     INFO -  js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:220]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:463]
19:57:12     INFO -  js_fun_call(JSContext *,unsigned int,JS::Value *) [js/src/jsfun.cpp:892]
19:57:12     INFO -  UNKNOWN 0x0000000000E04B21
19:57:12     INFO -  UNKNOWN 0x000000001FC548D8
19:57:12     INFO -  UNKNOWN 0x0000000000BE1289
19:57:12     INFO -  UNKNOWN 0x000000001FC54A78
19:57:12     INFO -  UNKNOWN 0x00000000009A313E
19:57:12     INFO -  EnterBaseline [js/src/jit/BaselineJIT.cpp:124]
19:57:12     INFO -  js::jit::EnterBaselineMethod(JSContext *,js::RunState &) [js/src/jit/BaselineJIT.cpp:153]
19:57:12     INFO -  js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:409]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:482]
19:57:12     INFO -  js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:513]
19:57:12     INFO -  `anonymous namespace'::ScriptedIndirectProxyHandler::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:1025]
19:57:12     INFO -  js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:2656]
19:57:12     INFO -  proxy_Call [js/src/jsproxy.cpp:3064]
19:57:12     INFO -  js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:220]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:456]
19:57:12     INFO -  js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:513]
19:57:12     INFO -  js::DirectProxyHandler::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:467]
19:57:12     INFO -  js::CrossCompartmentWrapper::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jswrapper.cpp:458]
19:57:12     INFO -  js::Proxy::call(JSContext *,JS::Handle<JSObject *>,JS::CallArgs const &) [js/src/jsproxy.cpp:2656]
19:57:12     INFO -  proxy_Call [js/src/jsproxy.cpp:3064]
19:57:12     INFO -  js::CallJSNative(JSContext *,bool (*)(JSContext *,unsigned int,JS::Value *),JS::CallArgs const &) [js/src/jscntxtinlines.h:220]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:456]
19:57:12     INFO -  Interpret [js/src/vm/Interpreter.cpp:2502]
19:57:12     INFO -  js::RunScript(JSContext *,js::RunState &) [js/src/vm/Interpreter.cpp:420]
19:57:12     INFO -  js::Invoke(JSContext *,JS::CallArgs,js::MaybeConstruct) [js/src/vm/Interpreter.cpp:482]
19:57:12     INFO -  js::Invoke(JSContext *,JS::Value const &,JS::Value const &,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [js/src/vm/Interpreter.cpp:513]
19:57:12     INFO -  JS_CallFunctionValue(JSContext *,JSObject *,JS::Value,unsigned int,JS::Value *,JS::Value *) [js/src/jsapi.cpp:5032]
19:57:12     INFO -  mozilla::dom::EventListener::HandleEvent(JSContext *,JS::Handle<JSObject *>,nsDOMEvent &,mozilla::ErrorResult &) [obj-firefox/dom/bindings/EventListenerBinding.cpp:42]
19:57:12     INFO -  mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget *>(mozilla::dom::EventTarget * const &,nsDOMEvent &,mozilla::ErrorResult &,mozilla::dom::CallbackObject::ExceptionHandling) [obj-firefox/dist/include/mozilla/dom/EventListenerBinding.h:50]
19:57:12     INFO -  nsEventListenerManager::HandleEventSubType(nsListenerStruct *,nsIDOMEvent *,mozilla::dom::EventTarget *,nsCxPusher *) [content/events/src/nsEventListenerManager.cpp:962]
19:57:12     INFO -  nsEventListenerManager::HandleEventInternal(nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *,nsCxPusher *) [content/events/src/nsEventListenerManager.cpp:1042]
19:57:12     INFO -  nsEventListenerManager::HandleEvent(nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent * *,mozilla::dom::EventTarget *,nsEventStatus *,nsCxPusher *) [content/events/src/nsEventListenerManager.h:326]
19:57:12     INFO -  nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor &,ELMCreationDetector &,nsCxPusher *) [content/events/src/nsEventDispatcher.cpp:198]
19:57:12     INFO -  nsEventTargetChainItem::HandleEventTargetChain(nsTArray<nsEventTargetChainItem> &,nsEventChainPostVisitor &,nsDispatchingCallback *,ELMCreationDetector &,nsCxPusher *) [content/events/src/nsEventDispatcher.cpp:294]
19:57:12     INFO -  nsEventDispatcher::Dispatch(nsISupports *,nsPresContext *,mozilla::WidgetEvent *,nsIDOMEvent *,nsEventStatus *,nsDispatchingCallback *,nsCOMArray<mozilla::dom::EventTarget> *) [content/events/src/nsEventDispatcher.cpp:611]
19:57:12     INFO -  imgLoader::SupportImageWithMimeType+0x000A462F [xul +0x00000000003--DOMWINDOW == 40 (20051C38) [pid = 4076] [serial = 3676] [outer = 00000000] [url = http://mochi.test:8888/tests/content/html/content/test/noSuchPage.html?data=a%C3%AFe&_charset_=UTF-8]
19:57:12     INFO -  67BCE]
(rather a bit more)
19:57:12     INFO -  141438 INFO TEST-END | /tests/content/html/content/test/test_bug622558.html | finished in 754ms
19:57:12     INFO -  ++DOMWINDOW == 42 (1A881FE0) [pid = 4076] [serial = 3689] [outer = 0F53A180]
19:57:12     INFO -  141439 ERROR TEST-UNEXPECTED-FAIL | /tests/content/html/content/test/test_bug622558.html | Assertion count 1 is greater than expected range 0-0 assertions.
Priority: -- → P5
Why does this bug happen only around the middle of the month?
Maybe jwatt has an idea what might be causing this?
Flags: needinfo?(jwatt)
There are two "mRequiredRadioCount about to wrap below 0" assertions in nsDocument.cpp, the one that we're hitting being:

https://mxr.mozilla.org/mozilla-central/source/content/base/src/nsDocument.cpp?rev=321b2a16f0d7#8040

So we only get here if a 'required' attribute is set. But test_bug622558.html does not create radio buttons, nor does it set a 'required' attribute.

There are only four tests under content/html/content/test that contain both "required" and "radio" (at least directly in the same file):

  content/html/content/test/forms/test_input_attributes_reflection.html
  content/html/content/test/forms/test_required_attribute.html
  content/html/content/test/forms/test_valueasnumber_attribute.html
  content/html/content/test/test_bug610687.html

The three files under the 'forms' directory have their window destroyed well before the assertion. test_bug610687.html on the other hand is run and has its window destroyed right around the assertion. So it would seem likely that this assertion is a result of test_bug610687.html and that test_bug622558.html is being falsely blamed.
Flags: needinfo?(jwatt)
Bug 856352 looks like an earlier version of this failure where the file being blamed was different, but the assertion stack is the same.
See Also: → 856352
The issue here is probably that HTMLInputElement::GetRadioGroupContainer assumes that if mForm is nullptr it should return the document, but during cycle collection a radio control that is in a form somehow has its mForm null'ed out before HTMLInputElement::UnbindFromTree calls WillRemoveFromRadioGroup. As a result the 'container' that WillRemoveFromRadioGroup calls RemoveFromRadioGroup on is the document when it should have been the form. Since the document never incremented mRequiredRadioCount for that radio, we get this assertion.
As an aside, maybe we should add a couple of:

  SpecialPowers.DOMWindowUtils.cycleCollect();
  SpecialPowers.DOMWindowUtils.garbageCollect();

calls at the end of test_bug610687.html to get this attributed to the correct file (and avoid the blame moving to other files in future).
It might be asked why we only get this assertion once when there are three radio buttons not inside the form element. I believe that is because only 'r2' is left with its 'required' property set to true at the end of the test.
It's worth noting that the stack for the assertion is:

  nsDocument::RemoveFromRadioGroup
  mozilla::dom::HTMLInputElement::WillRemoveFromRadioGroup
  mozilla::dom::HTMLInputElement::UnbindFromTree
  mozilla::dom::Element::UnbindFromTree
  nsGenericHTMLElement::UnbindFromTree
  mozilla::dom::Element::UnbindFromTree
  nsGenericHTMLElement::UnbindFromTree
  mozilla::dom::HTMLBodyElement::UnbindFromTree
  mozilla::dom::Element::UnbindFromTree
  nsGenericHTMLElement::UnbindFromTree
  mozilla::dom::HTMLSharedElement::UnbindFromTree
  nsDocument::cycleCollection::Unlink

so it's actually one of the radio buttons in the div (not the form) that is triggering the assertion. That's still consistent with nsDocument::mRequiredRadioCount being incorrectly decremented for one of the radio buttons in the form though, since Element::UnbindFromTree iterates over its children in document order and the radios in the form come first in document order. If we incorrectly decrement for any of them the subsequent correct decrements for the controls not in the form will result in the underflow.
For this bug to happen we must get into a state where a radio button _in_a_form_ has its mForm null'ed out (so that when UnbindFromTree is called on it we end up calling nsDocument::RemoveFromRadioGroup and decrementing the doc's mRequiredRadioCount) but for which IsInDoc() still returns true (or else HTMLInputElement::GetRadioGroupContainer would return nullptr and we'd never call RemoveFromRadioGroup under the UnbindFromTree call).

After looking at the code I don't see an obvious way in which that can happen.

For the record the call hierarchies for incrementing and decrementing mRequiredRadioCount seem to be:

nsDocument::AddToRadioGroup
  HTMLInputElement::AddedToRadioGroup
    HTMLFormElement::AddElement
      nsGenericHTMLFormElement::AfterSetAttr (type set)
      nsGenericHTMLFormElement::UpdateFormOwner
        nsGenericHTMLFormElement::BindToTree
        nsGenericHTMLFormElement::AfterSetAttr ('form' attr set)
        nsGenericHTMLFormElement::FormIdUpdated
    HTMLInputElement::AfterSetAttr (name or type)
    HTMLInputElement::BindToTree

RemoveFromRadioGroup
  HTMLInputElement::WillRemoveFromRadioGroup
    HTMLFormElement::RemoveElement
      nsGenericHTMLFormElement::BeforeSetAttr (type)
      nsGenericHTMLFormElement::ClearForm (aRemoveFromForm)
        HTMLFormControlsCollection::Clear
        nsGenericHTMLFormElement::UnbindFromTree
        nsGenericHTMLFormElement::UpdateFormOwner
        nsNodeUtils::LastRelease
        CollectOrphans
    HTMLInputElement::BeforeSetAttr
    HTMLInputElement::UnbindFromTree
Something made this perma-fail. Annotated the test.
https://hg.mozilla.org/integration/mozilla-inbound/rev/05a313d99ca8

For those who are intrigued, it appears to have gone perma-fail on this push:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=1c5a1be123b8

I'm not a betting man, but I'm guessing that bug 830734 is at "fault" in that it added a new test that runs during mochitest-1 which perturbed this one into perma-fail. If someone is interested in fixing this, you should have no troubles reproducing now!
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #108)
> Something made this perma-fail. Annotated the test.
> https://hg.mozilla.org/integration/mozilla-inbound/rev/05a313d99ca8
> 
> For those who are intrigued, it appears to have gone perma-fail on this push:
> https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=1c5a1be123b8
> 
> I'm not a betting man, but I'm guessing that bug 830734 is at "fault" in
> that it added a new test that runs during mochitest-1 which perturbed this
> one into perma-fail. If someone is interested in fixing this, you should
> have no troubles reproducing now!

I'm going to guess the same thing just happened on Aurora with either/both bug 984830 and bug 985685's added tests. Pushed the annotation to Aurora in https://hg.mozilla.org/releases/mozilla-aurora/rev/f70fdec4cdff
https://tbpl.mozilla.org/php/getParsedLog.php?id=38946919&full=1&branch=mozilla-inbound#error0
Summary: Intermittent test_bug622558.html | Assertion count 1 is greater than expected range 0-0 assertions from "mRequiredRadioCount about to wrap below 0!" → Intermittent test_bug694.html,test_bug622558.html | Assertion count 1 is greater than expected range (mRequiredRadioCount about to wrap below 0!, file content/base/src/nsDocument.cpp, line 8077)
Summary: Intermittent test_bug694.html,test_bug622558.html | Assertion count 1 is greater than expected range (mRequiredRadioCount about to wrap below 0!, file content/base/src/nsDocument.cpp, line 8077) → Intermittent test_bug694.html,test_bug622558.html,test_bug659743.xml,test_bug660663.html,test_bug677658.html,test_bug763626.html | Assertion count is greater than expected (mRequiredRadioCount about to wrap below 0!, file nsDocument.cpp, line 8077)
Duplicate of this bug: 1016736
Duplicate of this bug: 1020720
Duplicate of this bug: 1030661
You need to log in before you can comment on or make changes to this bug.