Closed Bug 1731564 Opened 3 years ago Closed 3 years ago

Have a mozilla:.SpinEventLoopUntil variant with AutoNestedEventLoopAnnotation

Categories

(Core :: XPCOM, task)

task

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: jstutte, Assigned: jstutte)

References

Details

Attachments

(18 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

We introduced AutoNestedEventLoopAnnotation for JS SpinEventLoopUntil usages.

We should extend this also to normal C++ SpinEventLoopUntil usages.

See Also: → 1719869, 1699041

This patch:

  • renames the original SpinEventLoopUntil to BaseSpinEventLoopUntil
  • changes all uses with IgnoreAndContinue behavior to BaseSpinEventLoopUntil
  • moves the AutoNestedEventLoopAnnotation into SpinEventLoopUntil.h
  • introduces MotivatedSpinEventLoopUntil
  • maps remaining SpinEventLoopUntil instances to MotivatedSpinEventLoopUntil with "Missing motivation."
See Also: → 1730374
Assignee: nobody → jstutte
Attachment #9243088 - Attachment description: WIP: Bug 1731564: Introduce MotivatedSpinEventLoopUntil for direct use from C++. → Bug 1731564: Introduce MotivatedSpinEventLoopUntil for direct use from C++. r?#xpcom-reviewers
Status: NEW → ASSIGNED
See Also: 1730374
Attachment #9243088 - Attachment description: Bug 1731564: Introduce MotivatedSpinEventLoopUntil for direct use from C++. r?#xpcom-reviewers → Bug 1731564: Introduce a motivated SpinEventLoopUntil for direct use from C++. r?#xpcom-reviewers
Attachment #9243504 - Attachment description: WIP: Bug 1731564: Use MotivatedSpinEventLoopUntil inside dom/*. → WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside dom/*.
Attachment #9243915 - Attachment description: WIP: Bug 1731564: Add nested event loop stack to nsTerminator MOZ_CRASH_REASON. → WIP: Bug 1731564: Add nested event loop stack to nsTerminator stderr output.
Summary: Have a mozilla:.SpinEventLoopUntil variant with AutoNestedEventLoopAnnotation and/or shutdown phase condition → Have a mozilla:.SpinEventLoopUntil variant with AutoNestedEventLoopAnnotation
Attachment #9243504 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside dom/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside dom/*. r?smaug
Attachment #9243690 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside devtools/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside devtools/*. r?#devtools-reviewers
Attachment #9243691 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside gfx/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside gfx/*. r?#gfx-reviewers
Attachment #9243694 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside ipc/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside ipc/*. r?#ipc-reviewers
Attachment #9243878 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside netwerk/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside netwerk/*. r?#necko-reviewers
Attachment #9243879 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside extensions/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside extensions/*. r?#extension-reviewers
Attachment #9243888 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside layout/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside layout/*. r?#layout-reviewers
Attachment #9243889 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside modules/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside modules/*. r?#preferences-reviewers
Attachment #9243890 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside security/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside security/*. r?bobowen
Attachment #9243891 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside storage/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside storage/*. r?janv
Attachment #9243892 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside toolkit/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside toolkit/*. r?Gijs
Attachment #9243893 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside uriloader/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside uriloader/*. r?smaug
Attachment #9243894 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside widget/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside widget/*. r?jmathies
Attachment #9243895 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside xpcom/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside xpcom/*. r?#xpcom-reviewers
Attachment #9243896 - Attachment description: WIP: Bug 1731564: Use motivated SpinEventLoopUntil inside xpfe/*. → Bug 1731564: Use motivated SpinEventLoopUntil inside xpfe/*. r?Neil
Attachment #9243911 - Attachment description: WIP: Bug 1731564: Remove the unmotivated SpinEventLoopUntil variant. → Bug 1731564: Remove the unmotivated SpinEventLoopUntil variant. r?#xpcom-reviewers
Attachment #9243915 - Attachment description: WIP: Bug 1731564: Add nested event loop stack to nsTerminator stderr output. → Bug 1731564: Add nested event loop stack to nsTerminator stderr output. r?Gijs
See Also: → 1728721
Attachment #9243915 - Attachment description: Bug 1731564: Add nested event loop stack to nsTerminator stderr output. r?Gijs → Bug 1731564: Add nested event loop stack to nsTerminator stderr output. r?#xpcom-reviewers
Pushed by jstutte@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/53e3f4862439 Introduce a motivated SpinEventLoopUntil for direct use from C++. r=xpcom-reviewers,nika,necko-reviewers https://hg.mozilla.org/integration/autoland/rev/317bc38e3de5 Use motivated SpinEventLoopUntil inside dom/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/283c5393cbbc Use motivated SpinEventLoopUntil inside devtools/*. r=devtools-reviewers,jdescottes https://hg.mozilla.org/integration/autoland/rev/d8071cc32bd9 Use motivated SpinEventLoopUntil inside gfx/*. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/874cab520ce5 Use motivated SpinEventLoopUntil inside ipc/*. r=ipc-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/e9d32926e93c Use motivated SpinEventLoopUntil inside netwerk/*. r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/78d3b0257a6a Use motivated SpinEventLoopUntil inside extensions/*. r=jesup https://hg.mozilla.org/integration/autoland/rev/2cfb094a1ec3 Use motivated SpinEventLoopUntil inside layout/*. r=emilio https://hg.mozilla.org/integration/autoland/rev/0d8905144f5d Use motivated SpinEventLoopUntil inside modules/*. r=Gijs,KrisWright https://hg.mozilla.org/integration/autoland/rev/bb8fb0f9833e Use motivated SpinEventLoopUntil inside security/*. r=bobowen https://hg.mozilla.org/integration/autoland/rev/73b648f1fa70 Use motivated SpinEventLoopUntil inside storage/*. r=janv https://hg.mozilla.org/integration/autoland/rev/aa5ec3aa1535 Use motivated SpinEventLoopUntil inside toolkit/*. r=Gijs https://hg.mozilla.org/integration/autoland/rev/b0ce7db44b99 Use motivated SpinEventLoopUntil inside uriloader/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/d37700fa60b6 Use motivated SpinEventLoopUntil inside widget/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/37b41d187cdb Use motivated SpinEventLoopUntil inside xpcom/*. r=xpcom-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/5630a0e7a109 Use motivated SpinEventLoopUntil inside xpfe/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/0d996df13545 Remove the unmotivated SpinEventLoopUntil variant. r=xpcom-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/0464dbdc8584 Add nested event loop stack to nsTerminator stderr output. r=xpcom-reviewers,nika

Backed out 18 changesets (Bug 1731564) for causing build bustages on SpinEventLoopUntil.
Backout link
Push with failures
Failure Log

Flags: needinfo?(jstutte)

In the meantime we added another call to SpinEventLoopUntil (only active in fuzz builds). I launched a "build all" try push to see if I catched all of them now.

Flags: needinfo?(jstutte)
Pushed by jstutte@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ea75553432cc Introduce a motivated SpinEventLoopUntil for direct use from C++. r=xpcom-reviewers,nika,necko-reviewers https://hg.mozilla.org/integration/autoland/rev/843fa018f79e Use motivated SpinEventLoopUntil inside dom/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/9ecf86eb9ee4 Use motivated SpinEventLoopUntil inside devtools/*. r=devtools-reviewers,jdescottes https://hg.mozilla.org/integration/autoland/rev/208e47ee634d Use motivated SpinEventLoopUntil inside gfx/*. r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/da37d3f1fb85 Use motivated SpinEventLoopUntil inside ipc/*. r=ipc-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/9c56b5e39420 Use motivated SpinEventLoopUntil inside netwerk/*. r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/613a9c5d6bf5 Use motivated SpinEventLoopUntil inside extensions/*. r=jesup https://hg.mozilla.org/integration/autoland/rev/64a63d1daad1 Use motivated SpinEventLoopUntil inside layout/*. r=emilio https://hg.mozilla.org/integration/autoland/rev/88b4c6fc030f Use motivated SpinEventLoopUntil inside modules/*. r=Gijs,KrisWright https://hg.mozilla.org/integration/autoland/rev/4e25217a7807 Use motivated SpinEventLoopUntil inside security/*. r=bobowen https://hg.mozilla.org/integration/autoland/rev/c8b58cc4c6a3 Use motivated SpinEventLoopUntil inside storage/*. r=janv https://hg.mozilla.org/integration/autoland/rev/0cb449278fea Use motivated SpinEventLoopUntil inside toolkit/*. r=Gijs https://hg.mozilla.org/integration/autoland/rev/390f30658f12 Use motivated SpinEventLoopUntil inside uriloader/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/71ed8555adc0 Use motivated SpinEventLoopUntil inside widget/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/d8c9be683fce Use motivated SpinEventLoopUntil inside xpcom/*. r=xpcom-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/7b9f13fab8f0 Use motivated SpinEventLoopUntil inside xpfe/*. r=smaug https://hg.mozilla.org/integration/autoland/rev/6263940a61d6 Remove the unmotivated SpinEventLoopUntil variant. r=xpcom-reviewers,nika https://hg.mozilla.org/integration/autoland/rev/2d978650c932 Add nested event loop stack to nsTerminator stderr output. r=xpcom-reviewers,nika
Regressions: 1741131
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: