Closed Bug 1516872 Opened 5 years ago Closed 5 years ago

build should fail if PGO train run did not complete sucesfully

Categories

(Firefox Build System :: General, defect)

64 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1252556

People

(Reporter: jh, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

I discussed Firefox PGO builds with maintainers of RedHat and SUSE packages and found that it is very hard to get correct output with PGO enabled. There are little things specific for build setups that make PGO training fail and because it does not fail the build it remains unnoticed.

I think PGO train script should return non-zero and fail make if Firefox crashes or the train run does not complete until the end. This really costed quite some man-hours to work this out.


Actual results:

Both Martin Liska and Martin Stransky ended up with slow binaries because they was trained on run which crashed (in one case it turned out to be webserver not starting because there was no /dev/shm. Quotin from Martin's message

- there's a problem in OBS chroot that one can't create a file in /dev/shm, thus one needs for training run                                                                                
  to replace location where IPC shared files are created, temporary solution:                                                                                                              
                                                                                                                                                                                           
--- a/ipc/chromium/src/base/file_util_posix.cc                                                                                                                                             
+++ b/ipc/chromium/src/base/file_util_posix.cc                                                                                                                                             
@@ -280,7 +280,7 @@ bool GetTempDir(FilePath* path) {                                                                                                                                      
                                                                                                                                                                                           
 bool GetShmemTempDir(FilePath* path) {                                                                                                                                                    
 #if defined(OS_LINUX) && !defined(ANDROID)                                                                                                                                                
-  *path = FilePath("/dev/shm");                                                                                                                                                           
+  *path = FilePath("/tmp");                                                                                                                                                               
   return true;                                                                                                                                                                            
 #else                                                                                                                                                                                     
   return GetTempDir(path);                                                                                                                                                                
                                                                                                                                                                                             I'll test.
Component: Untriaged → General
Product: Firefox → Firefox Build System
Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.