Closed Bug 1723400 Opened 3 years ago Closed 3 years ago

Can no longer build with mk_add_options MOZ_MAKE_FLAGS="-j1"

Categories

(Core :: Gecko Profiler, defect, P1)

defect

Tracking

()

RESOLVED FIXED
92 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox-esr91 --- unaffected
firefox90 --- unaffected
firefox91 --- unaffected
firefox92 --- fixed

People

(Reporter: mac198442, Assigned: canova)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

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

Steps to reproduce:

Tried to build with mk_add_options MOZ_MAKE_FLAGS="-j3" in my .m ozconfig

Actual results:

Build failed with *** No rule to make target '../../mozglue/baseprofiler/public/ProfilingCategoryList.h', needed by '../../dist/include/js/ProfilingCategoryList.h'. Stop.

Expected results:

Build shulld have completed successfully

Sorry comment above should have said Tried to build with mk_add_options MOZ_MAKE_FLAGS="-j1" in my .mozconfig

Severity: -- → S3
Regressed by: 1652560
Has Regression Range: --- → yes

That's quite a strange error!

Nazım, could you please have a look ASAP? (To hopefully get it fixed before the sw freeze at the end of this week.)

Severity: S3 → S4
Flags: needinfo?(canaltinova)
Priority: -- → P1

This is an issue with the order of the build mozglue is in the list after js it only works with default build sometimes because of a race condition if you do parallel makes.

That's interesting. Yeah, it looks like it's because of one of the JS engine's generated files is requiring our generated file (ProfilingCategoryList.h). And when we are running the build sequentially, it's deterministically running the JS engine's generated file first, and deterministically failing to build. It wasn't a problem before because ProfilingCategoryList.h was a static file back then. We should deterministically generate the ProfilingCategoryList.h file before the JS engine's generated file to fix this. I'm looking at which one now and will submit a patch to fix it soon.

Assignee: nobody → canaltinova
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(canaltinova)

ProfilingCategoryList.h file was a static file before, but after the bug 1652560,
we started to generate it. But now, because the self-hosted JS code generation
depends on this file, it's creating a build error when it's being built
sequentially with "-j1" flag. To fix this, we had to include the
ProfilingCategoryList.h file as the input to the self-hosted JS code
generation. That way, it's always going to generate the profiler header first,
and then generate the JS files.

Pushed by canaltinova@gmail.com: https://hg.mozilla.org/integration/autoland/rev/62f4c0ffa494 Fix the build when the self-hosted JS code is being generated before ProfilingCategoryList.h r=gerald

Set release status flags based on info from the regressing bug 1652560

Thanks for the quick response. In case you are wondering why I am building with -j1, I am still occasionally having the hang I previously reported in bug 1557384.

Interesting! Thanks a lot for catching and reporting it though! When we are building in parallel, we weren't catching this out of luck, but that could as well appear intermittently in the future. And that would be a lot harder to figure out :) Just to double check, this patch solves this issue for you, right?

still waiting for build completion, but way past when it failed before. wondering if need to have an official build without parallel makes but then for now I do that every day so I can catch any such issues.

OK sorry for delay takes a while to build with -j1 works fine with this fix. thank you so much for doing this so quickly!

Awesome! Thanks a lot for confirming it!

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch

My CI builds using "-j1" were affected and they are now fixed with this patch, thanks :-)

Comment on attachment 9234981 [details]
WIP: Bug 1723400 - Fix libVorbis RLBox struct specification and add libTremor RLBox struct specification. r=deian,shravanrn

Revision D121666 was moved to bug 1723399. Setting attachment 9234981 [details] to obsolete.

Attachment #9234981 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: