Closed Bug 872856 Opened 11 years ago Closed 11 years ago

Intermittent Windows PGO RuntimeError: maximum recursion depth exceeded while compiling WebIDL bindings

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 7
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED
mozilla24

People

(Reporter: RyanVM, Assigned: gps)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

This contributed to a long tree closure today, and I know it's also contributed to backouts in the past. As spontaneously as it appeared, it seems to have disappeared again. However, I figured we'd at least want an official bug on file for it. https://tbpl.mozilla.org/php/getParsedLog.php?id=22999366&tree=Mozilla-Inbound WINNT 5.2 mozilla-inbound pgo-build on 2013-05-15 14:10:42 PDT for push 060dd308b234 slave: w64-ix-slave110 evaluation from e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\config\rules.mk:1674:4:4:0$ nsinstall nsinstall -t -m 644 "AnimationEventBinding.h" "../../dist/include/mozilla/dom" make.py[8]: Leaving directory 'e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\obj-firefox\dom\system\windows' make.py[8]: Entering directory 'e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\obj-firefox\dom\system\tests' make.py[8]: Leaving directory 'e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\obj-firefox\dom\system\tests' make.py[7]: Leaving directory 'e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\obj-firefox\dom\system' Traceback (most recent call last): File "e:/builds/moz2_slave/m-in-w32-pgo-00000000000000000/build/build/pymake/make.py", line 21, in <module> pymake.process.ParallelContext.spin() File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\process.py", line 526, in spin c.run() File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\process.py", line 456, in run cb(*args, **kwargs) File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 868, in _depfinishedparallel self.resolvecb(error=self.error, didanything=self.didanything) File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 762, in resolvecb self.runnext() File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 782, in runnext self.rlist.pop(0).runcommands(self.indent, self.commandscb) File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 910, in runcommands cb(error=False) File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 792, in commandscb self.runnext() File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 782, in runnext self.rlist.pop(0).runcommands(self.indent, self.commandscb) ...and then the 910, 792, 782 repeated until it eventually dies. File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 910, in runcommands cb(error=False) File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 792, in commandscb self.runnext() File "e:\builds\moz2_slave\m-in-w32-pgo-00000000000000000\build\build\pymake\pymake\data.py", line 775, in runnext self.target.notifydone(self.makefile) RuntimeError: maximum recursion depth exceeded program finished with exit code 1
Bumping severity on this. I fully expect this to start burning nightlies before too long, and with PGO builds taking 5+ hours these days, it will cause major disruptions to timely shipping.
Severity: normal → critical
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3) > Bumping severity on this. I fully expect this to start burning nightlies > before too long, and with PGO builds taking 5+ hours these days, it will > cause major disruptions to timely shipping. Not to mention timely merges from inbound to m-c.
Nice, so that thing I'm looking at for bz is happening without his patch now.
Assignee: nobody → khuey
On the bright side if we back out the most recent stuff that added WebIDL files and don't add any more we should be ok.
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #6) > On the bright side if we back out the most recent stuff that added WebIDL > files and don't add any more we should be ok. I can't land bug 871786 until this bug is fixed? Great news...
Blocks: 871786
Quick fix: sys.setrecursionlimit(2 * sys.getrecursionlimit()) ? Then we can patch pymake whenever.
I found it extremely suspicious that today's tree closure was over two PGO builds, one on w64-ix-slave110 and one on w64-ix-slave110. Oops, apparently I missed seeing one, there was also a third on w64-ix-slave110.
Blocks: 870678
Blocks: 823512
FYI bug 823512 was landed on inbound a few hours ago, in case PGO builds go south again. It has a ton of new WebIDL.
Assignee: khuey → gps
Blocks: 870856
Comment on attachment 751169 [details] [diff] [review] Temporarily increase Python recursion limit in pymake Review of attachment 751169 [details] [diff] [review]: ----------------------------------------------------------------- ::: build/pymake/make.py @@ +17,5 @@ > > gc.disable() > > + # This is meant as a temporary workaround until issues with many targets > + # and prerequisites is addressed. Put a bug number here?
Attachment #751169 - Flags: review?(ted) → review+
Blocks: 874210
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: