Closed Bug 1705783 Opened 4 months ago Closed 2 months ago

Consider using MOZ_AUTOMATION for SM(pkg)

Categories

(Core :: JavaScript Engine, defect, P3)

defect

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: sfink, Assigned: sfink)

References

Details

Attachments

(1 file, 3 obsolete files)

Heh. The first failure is pointedly relevant:

[task 2021-04-16T17:50:09.377Z]  0:00.84 ERROR: unable to resolve VCS type; must run from a source checkout when MOZ_AUTOMATION is set
Assignee: nobody → sphink
Status: NEW → ASSIGNED
Assignee: nobody → sphink
Status: NEW → ASSIGNED

I'm not a fan of having --enable-project take something that is not a directory containing a moz.configure file just to work around one check in configure (AFAICT) about VCS and MOZ_AUTOMATION. I'd rather allow to override just that.

Ok. To be clear, it would control both the VCS detection as well as the default for --enable-jemalloc. And I guess I have a preference for it to be done automatically when you're configuring the mozjs source tree.

Before I write the patch (for once), let me check: would you be ok with me adding a --js-package flag that

  • is defaulted based on the presence of a README-mozjs file
  • skips the VCS check
  • sets --disable-jemalloc by default
    ?

The goal is to make ./mach build within a mozjs source package do something roughly reasonable.

I finally know my way around moz.configure enough now that it won't be hard to implement whatever is acceptable.

Flags: needinfo?(mh+mozilla)

Can you remind me why local builds of js need jemalloc enabled by default?

Flags: needinfo?(mh+mozilla) → needinfo?(sphink)

(In reply to Mike Hommey [:glandium] from comment #7)

Can you remind me why local builds of js need jemalloc enabled by default?

Because they are proxies for testing the JS engine as it would be embedded in the browser, and that would have jemalloc enabled. Not only the exact allocation behavior is affected, but also we make use of some differences in the available API surface -- jemalloc_ptr_info and malloc_good_size, for example. The first is for debug assertions, the second changes behavior. We want to maximize the probability that issues that exist in the browser will also exist in the shell builds.

Flags: needinfo?(sphink)
Flags: needinfo?(mh+mozilla)
Attachment #9216843 - Attachment description: Bug 1705783 - stop clearing MOZ_AUTOMATION for SM(pkg) → Bug 1705783 - add configure option --js-package and stop clearing MOZ_AUTOMATION for SM(pkg)
Attachment #9216841 - Attachment is obsolete: true
Attachment #9216840 - Attachment is obsolete: true
Attachment #9216839 - Attachment is obsolete: true
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/15f0e4e860b5
add configure option --js-package and stop clearing MOZ_AUTOMATION for SM(pkg) r=glandium,firefox-build-system-reviewers
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.