PGO Related Bugs
PGO Related Bugs
Firefox crashes or experiences bugs after creating PGO builds on Windows. The focus of this project is to determine what is causing these crashes or bugs and either patch/fix them or find solutions to allow for the optimizations without incurring the problems.
As of Oct 2nd:
Profiling Firefox to increase the number of functions optimized in the PGO build of Firefox.
Contributors are needed for help on profiling Firefox to improve PGO on Firefox.
What contributions are needed?
- What should be profiled?
- A write up on steps to produce profile.
- Creating scripts to execute profile steps.
|Chris Bishop ( Example )||Script to open and close Firefox.|
- Need some bash scripting help.
- I'm on IRC as chrisBee
|Chinmay Patel||Created a small script to search and replace a piece of text in a file.|
|Task||Details||Priority||Status||Target||Link(s) or Notes|
|Compile Firefox PGO||Compile the trunk of Firefox using
|Reproduce PGO Bugs or Crashes||I need to reproduce the bugs or crashes other people were experiencing with their pgo builds.||High||Done||0.1 R||Unable to reproduce. Focusing on profiling Firefox. Blog Post|
|Compile Firefox PGO Tests||Compile Firefox with VS 2005 and Vista SDK and compile with VS 2008 w/o Vista SDK.||Low||Not Started||0.3 R|
|Determine 0.1 Release||I need to determine what I'll be releasing for the 0.1 Release.||High||Done||Sept 28th, 2008|
|Scenario Scripts||I need a script that will build multiple PGO builds in different directories using different profiling scenarios.||High||Done||Oct 24th, 2008||I need some help from contributors to help me accomplish this. **Update** Thanks to Chinmay and Dave Humphrey I was able to create this script.|
|Create SQLite Upstream Bug||I have determined the pgo bug is actually with SQLite and it needs to be added to the upstream for it to be worked on.||High||On Going||Oct 24th, 2008||Looking into how to actual do this|
|Setup Test Environment||I need to setup a test environment to duplicate the testing done on Thunderbird.||High||Done||Nov 4th, 2008||I have this VM setup but I am not using yet since my XP OS that is not on a VM is much faster.|
|December 6th||Ted Mielczarek|
I told Ted about how a large number of pgc (profile data) files were in a folder that gets deleted before the pgc files get used to optimize Thunderbird. It turns out that this folder gets clobbered to make sure if some one rebuilt their try after removing a component that it would not still be there. Ted suggest adding a flag that
|Thunderbird PGO Details|
| Address Book enabled with PGO|
Turned on speed optimizations for the Address Book module.
|Profiledbuild doesn't work on comm-central - 448515|
|Figure out why building jemalloc breaks with PGO enabled - 419470|
|sort out PGO-triggered bugs - 419893|
|win32 mozilla-central weirdness with PGO - 437002|
|To enable PGO on Thunderbird a module in the Mozilla core needs to have PGO disabled - 465592 - Resolved|
|Components cannot be PGO'd on Windows - 468285|
|js3250!1.pgc remains in dist/bin during a PGO build - 467271|
|Here is the patch for bug 465592.|
|Here is the proposed patches for bug 468285.|
Thunderbird PGO Errors
The lcms module breaks pgo. Found Here
Last updated: October 11th, 2008
|Dec 8nd, 2008||I successfully optimized the components but I broke something small. I blogged about it.|
|Dec 6nd, 2008||I posted a new bug about components not getting optimized for Windows. This is the bug.|
|Dec 6nd, 2008||After talking with Ted Mielczarek on IRC I have found out why the files I'm profiling are not getting merged into the optimized build. Here is the conversation.|
|Dec 6nd, 2008||My patch has made into mozilla-central. Here is the blog posting.|
|Dec 5nd, 2008||My patch has been reviewed. It needed some changes but was approved. This is the bug.|
|Dec 5nd, 2008||Still trying to get the address book optimized. Discovered that all the modules are getting optimized for size by default. I blogged about it.|
|Dec 3nd, 2008||Added speed optimizations to the address book module in Thunderbird. This library gets linked into the mail.dll.|
|Dec 2nd, 2008||I got a patch up that will disable pgo for the mozlcms module when it is not linked into the xul.dll.|
|Nov 24th, 2008||I've been looking at the Thunderbird Makefiles. I'm trying to understand how the build process works. I blogged about it.|
|Nov 18th, 2008||I created a new bug to get input on how to enable PGO for Thunderbird without modifying the Mozilla core files. Blog is here.|
|Nov 12th, 2008||I have updated my 0.2 Release.|
|Nov 12th, 2008||Nomis who is working on enabling PGO for TB on Mac is having different errors than me. He is posting to the same bug as I am.|
|Nov 12th, 2008||A closed bug for PGO on Thunderbird has been re-opened. I am posting to it with new information and findings.|
|Nov 7th, 2008||I posted results from using PGO.|
|Nov 7th, 2008||I successfully compiled Thunderbird with PGO enabled. I had to disable PGO for the mozlcms.dll.|
|Nov 4th, 2008||Made change to the client.mk file for Thunderbird and compiled it with PGO enable. I received a compile error.|
|Nov 1st, 2008||Installed Windows 2003 for creating a testing environment.|
|Oct 28th, 2008||Focusing on adding PGO to Thunderbird. Built Thunderbird from source.|
|Oct 17th, 2008||I have written up my 0.1 Release and have blogged about it.|
|Oct 16th, 2008||After compiling Firefox with sqlite pgo enabled I was able to reproduce the crash as reported on the bug. I also received errors in xpcshell which I posted to the bug on bugzilla. I also created a test application for sqlite and found it crashed when compiled with PGO as a stand alone application.|
|Oct 14th, 2008||Through the contribution of a fellow student I was able to create a script to automate multiple PGO Builds.|
|Oct 11th, 2008||I checked my performance tests again this time including a pgo build with no profiling and Google Maps was 45% on both Minefields. Regardless of the profiling.|
|Oct 10th, 2008||Updated the contributions section for help with creating bash shell scripts.|
|Oct 10th, 2008||Made a pgo performance chart. Google Maps was 45% faster in my pgo build after I profiled the site.|
|Oct 8th, 2008||Still receiving 35 failed tests even when I have no windows open and am not at the computer.|
|Oct 8th, 2008||Ted mentioned on IRC that the 35 failed tests may of happened because I was moving my mouse during the tests. Which I was. I'm going to try the tests again.|
|Oct 7th, 2008||Using pgomgr I am able to see what profiling data has been collected.|
|Oct 4th, 2008||A build of Firefox without PGO resulted in 35 failed Tests in Mochitest. Xpcshell passed just fine. At this time the tree is closed so I cannot get the latest bug free version.|
|Oct 2nd, 2008||After talking with Ted and Dave Humphrey I am going to focus my project on increasing the profiling of Firefox to increase its speed.|
I am also enabling the modules that have PGO disable and running the xpcshell and Mochitests on them to determine if they are still broken or if they are now working.
|Sept 30th, 2008||Failed to reproduce bugs. I followed Ted's suggestions on my blog but still not experiencing any problems with my pgo build.|
|Sept 28th, 2008||Ted pointed me in the right direction on how to reproduce the PGO bugs. His post is here.|
|Sept 26th, 2008||Successfully compiled Firefox with PGO using Visual Studio 2005 compiler. Tests and debug are disabled.|
|Sept 26th, 2008||On IRC some guys suggested compiling with Visual Studio 2005 instead.|
|Sept 24th, 2008||Attempted to compile with debug and test disabled. Still Failed.|
|Sept 22th, 2008||Failed to compile Firefox with PGO on Visual Studio 2008.|
|Sept 20th, 2008||Successfully compiled one old assignment using PGO in Visual Studio. Results in Project Details.|
|Sept 19th, 2008||Tried to compile some old assignments using PGO in Visual Studio. Two assignments failed.|
|Sept 18th, 2008||Created this Project Page.|
|Sept 17th, 2008||Created First Build of Firefox.|
|Sept 15th, 2008||Met with Ted Mielczarek and discuss PGO Project.|