Closed Bug 1300290 Opened 3 years ago Closed 3 years ago

stylo: implied --enable-jemalloc=moz with --enable-stylo conflicts with --enable-jemalloc


(Firefox Build System :: General, defect, P3)



(firefox53 fixed)

Tracking Status
firefox53 --- fixed


(Reporter: bholley, Assigned: gps)




(1 file)

When I add --enable-stylo to build/mozconfig.rust on incubator/stylo, I get the following on TaskCluster builds:

mozbuild.configure.options.ConflictingOptionError: Cannot add '--enable-jemalloc=moz' to the implied set because it conflicts with '--enable-jemalloc' that was added earlier

Obviously this is a temporary setup, but it would be nice to get this solved somehow (in the mean time I've commented out the imply_option line. Any suggestions glandium?
Flags: needinfo?(mh+mozilla)
Remove --enable-jemalloc from your mozconfig.
Flags: needinfo?(mh+mozilla)
(In reply to Mike Hommey [:glandium] from comment #1)
> Remove --enable-jemalloc from your mozconfig.

This is on our CI builds, so these these are the builder mozconfigs (not local ones). Should we just hack these up in incubator/stylo? If so, what's the easiest way to do that? Modify memory.configure?
Flags: needinfo?(mh+mozilla)
Summary: stylo: impiled --enable-jemalloc=moz with --enable-stylo conflicts with --enable-jemalloc → stylo: implied --enable-jemalloc=moz with --enable-stylo conflicts with --enable-jemalloc
No, we should just remove --enable-jemalloc from all mozconfigs in the tree. (and more generally, all the things that are defaults)
Flags: needinfo?(mh+mozilla)
Priority: -- → P3
Unblocking the stylo-incubator meta bug because this jemalloc issue is not specific to the incubator/stylo test repo.
Blocks: stylo
No longer blocks: stylo-incubator
This started breaking again on the "upstream" bookmark of the stylo repo. I don't understand why it started breaking: that head should be similar to the "stylo" bookmark/head in terms of file content related to this part of the build.
Ah, the stylo bookmark (unmerged foo into mozilla-central) has the following patch:

diff --git a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -571,7 +571,10 @@ def stylo(value):

 set_config('MOZ_STYLO', stylo)
 set_define('MOZ_STYLO', stylo)
-imply_option('--enable-jemalloc', depends_if('--enable-stylo')(lambda _: 'moz'))
+# Avoid mozbuild.configure.options.ConflictingOptionError until bug 1300290 is
+# resolved.
+#imply_option('--enable-jemalloc', depends_if('--enable-stylo')(lambda _: 'moz'))

We should get this unhacked and integrated into mozilla-central.
Assignee: nobody → gps
Component: CSS Parsing and Computation → Build Config
Yeah, sorry I never followed up here - thanks for taking this Greg!
Comment on attachment 8815962 [details]
Bug 1300290 - Avoid --enable-dmd and --enable-stylo setting conflicting --enable-jemalloc values;

::: toolkit/moz.configure:68
(Diff revision 1)
>  set_config('MOZ_DMD', dmd)
>  set_define('MOZ_DMD', dmd)
>  add_old_configure_assignment('MOZ_DMD', dmd)
>  imply_option('--enable-profiling', dmd)
> -imply_option('--enable-jemalloc', dmd)
> +# --enable-jemalloc is handled below.


::: toolkit/moz.configure:582
(Diff revision 1)
> +    if stylo:
> +        return 'moz'
> +    elif dmd:
> +        return True
> +
> +imply_option('--enable-jemalloc', depends_if(jemalloc)(lambda x: x),

depends_if(jemalloc)(lambda x: x), considering jemalloc returns one of ('moz', True, None) is equivalent to:
depends(jemalloc)(lambda x: x), which is equivalent to:

::: toolkit/moz.configure:583
(Diff revision 1)
> +        return 'moz'
> +    elif dmd:
> +        return True
> +
> +imply_option('--enable-jemalloc', depends_if(jemalloc)(lambda x: x),
> +             '--enable-dmd or --enable-stylo')

Attachment #8815962 - Flags: review?(mh+mozilla)
Comment on attachment 8815962 [details]
Bug 1300290 - Avoid --enable-dmd and --enable-stylo setting conflicting --enable-jemalloc values;
Attachment #8815962 - Flags: review?(mh+mozilla) → review+
Pushed by
Avoid --enable-dmd and --enable-stylo setting conflicting --enable-jemalloc values; r=glandium
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.