Closed Bug 678409 Opened 14 years ago Closed 14 years ago

PGO builds with jemalloc broken due to missing jemalloc.pgd

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 7
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 679334

People

(Reporter: RyanVM, Unassigned)

Details

I haven't been able to do PGO builds with jemalloc enabled the last few days due to this error: jemalloc.obj LINK : fatal error LNK1266: error reading instrumentation file 'jemalloc.pgd'; File not found This occurs on the second pass of the PGO build. I am building on Win7 x64 with MSVC2010 SP1 and using pymake. Looking at $OBJDIR\memory\jemalloc, there is no jemalloc.pgd file present.
What is the value of the WIN32_OLD_STYLE_JEMALLOC variable in $OBJDIR/config/autoconf.mk?
No value. WIN32_NEW_STYLE_JEMALLOC is set to 1 in ACDEFINES
That's quite unexpected. I happen to have tried building the new style jemalloc with msvc8 with PGO, which shouldn't be different from a build system perspective on that front, and it worked: d:/mozilla-build/python25/python2.5.exe /e/builds/moz2_slave/try-w32/build/build/win32/pgomerge.py \ jemalloc ../../dist/firefox Microsoft (R) Profile Guided Optimization Manager 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. Merging ..\..\dist\firefox\jemalloc!1.pgc e:/builds/moz2_slave/try-w32/build/obj-firefox/config/nsinstall.exe -m 644 /e/builds/moz2_slave/try-w32/build/memory/jemalloc/jemalloc.h /e/builds/moz2_slave/try-w32/build/memory/jemalloc/jemalloc_types.h ../../dist/include d:/mozilla-build/python25/python2.5.exe /e/builds/moz2_slave/try-w32/build/config/pythonpath.py -I../../config /e/builds/moz2_slave/try-w32/build/config/expandlibs_exec.py --uselist -- link -NOLOGO -DLL -OUT:jemalloc.dll -PDB:jemalloc.pdb -SUBSYSTEM:WINDOWS jemalloc.obj ./module.res -LARGEADDRESSAWARE -NXCOMPAT -DYNAMICBASE -SAFESEH -DEBUG -DEBUGTYPE:CV -DEBUG -OPT:REF -LTCG:PGUPDATE -DEF:e:/builds/moz2_slave/try-w32/build/memory/jemalloc/jemalloc.def kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib PGOMGR : warning PG0188: No .PGC files matching 'jemalloc!*.pgc' were found. Creating library jemalloc.lib and object jemalloc.exp Generating code 102 of 102 (100.00%) profiled functions will be compiled for speed 102 of 102 functions (100.0%) were optimized using profile data 223977090 of 223977090 instructions (100.0%) were optimized using profile data Finished generating code There's however another problem you have: failing when no pgd file is present, which is quite unexpected. Here is what happens during the msvc8 build in such case: d:/mozilla-build/python25/python2.5.exe /e/builds/moz2_slave/try-w32/build/config/pythonpath.py -I../../config /e/builds/moz2_slave/try-w32/build/config/expandlibs_exec.py --uselist -- link -NOLOGO -OUT:crashinject.exe -PDB:crashinject.pdb -LARGEADDRESSAWARE -NXCOMPAT -DYNAMICBASE -SAFESEH -DEBUG -DEBUGTYPE:CV -DEBUG -OPT:REF -LTCG:PGUPDATE crashinject.obj ./module.res kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib PGOMGR : warning PG0188: No .PGC files matching 'crashinject!*.pgc' were found. crashinject.pgd(0) : warning C4961: No profile data was merged into 'crashinject.pgd', profile-guided optimizations disabled Generating code Finished generating code There are a lot of files for which we don't expect a pgd file to be there. It would be unfortunate to fail there. Interestingly, your error code (LNK1266) refers to -LTCG:PGOPTIMIZE (see http://msdn.microsoft.com/en-us/library/1b3ah5he%28v=vs.71%29.aspx ), which we actually don't use. We use -LTCG:PGUPDATE.
By the way, did you build with a value set for PROFILE_GEN_SCRIPT ?
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.