This bug is intended to track work on getting us to start with WAY_TOO_MUCH_GC defined. First step is bug 305884, of course.
With the patches I just attached to bug 307560, bug 327708, bug 327712, and bug 327716, I can start Firefox under WAY_TOO_MUCH_GC.
Created attachment 212312 [details] [diff] [review] debugging code used to debug these I may want to get bits of this in; I'll discuss with brendan sometime. With the debugging code attached (the js_LockGCThing debugging is from other debugging, of leaks), I: * defined WAY_TOO_MUCH_GC (in patch, actually) * set XPCOM_MEM_LOG_CLASSES=JSGCThing and XPCOM_MEM_ALLOC_LOG=JSGCThing.alloc * ran firefox under gdb until assertion failure or crash * looked at the GCThing in question (not necessarily the first one I looked at, but always the first or second for those 4) * found its address in JSGCThing.alloc with grep -A 50 ADDRESS JSGCThing.alloc | fix-linux-stack | less -S * used the Ctor and Dtor stacks to figure out what happened
See also bug 327996 with some ideas on improving WAY_TOO_MUCH_GC.
Marking all tracking bugs which haven't been updated since 2014 as INCOMPLETE. If this bug is still relevant, please reopen it and move it into a bugzilla component related to the work being tracked. The Core: Tracking component will no longer be used.