Closed Bug 1622856 Opened 5 years ago Closed 5 years ago

.mozbuild/clang 9 with experimental-new-pass-manager loops for ever when compiling nsStyleStruct.cpp on macOS

Categories

(Firefox Build System :: Toolchains, defect)

defect
Not set
normal

Tracking

(firefox-esr68 unaffected, firefox74 unaffected, firefox75 unaffected, firefox76 fixed)

RESOLVED FIXED
mozilla76
Tracking Status
firefox-esr68 --- unaffected
firefox74 --- unaffected
firefox75 --- unaffected
firefox76 --- fixed

People

(Reporter: jrmuizel, Assigned: away)

References

(Depends on 1 open bug, Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Seems like a recent change started causing this.

Going to guess this is dmajor's compiler changes.

Flags: needinfo?(dmajor)

I believe using the same compiler on an older version of m-c does work

Can you check whether ac_add_options --disable-new-pass-manager fixes it?

Flags: needinfo?(dmajor)

What are the clang arguments that correspond to that?

Flags: needinfo?(dmajor)

Yeah, using the same compiler:
8ab81c8e93adff2d4187aabf1ddcfcae8bfc4e16 finishes building
6199f7b91e8bde7b7965585842d7a72e2e406e3e does not

-fno-experimental-new-pass-manager

Removing -fexperimental-new-pass-manager does seem to fix the problem

Summary: .mozbuild/clang 9 loops for ever when compiling nsStyleStruct.cpp on macOS → .mozbuild/clang 9 with experimental-new-pass-manager loops for ever when compiling nsStyleStruct.cpp on macOS

I think we should disable the flag on mac hosts, I have no ability to repro/debug issues there, and not even the ability to test on try. And even if we did find the underlying issue this time, there could be further instances down the road and I don't want to waste more developer time.

Flags: needinfo?(dmajor)
Assignee: nobody → dmajor

For the record, what's the bug that added the flag?

Flags: needinfo?(dmajor)
Flags: needinfo?(dmajor)
Regressed by: 1619461
Has Regression Range: --- → yes

Workaround for those building locally that are hitting this, add this to your .mozconfig:

ac_add_options --disable-new-pass-manager

Several developers have reported hangs on native Mac builds. I think we should default-off the flag on Mac hosts. Even if we could fix the current hangs, without coverage in CI for this build configuration, we're asking for more trouble down the road.

Jeff, since you have a mac and have worked with upstream before, I'm sure LLVM would appreciate a bug with a reduced repro. You'd probably want to test with trunk though so I understand if it's too annoying or time-consuming.

Depends on: 1622870
Attachment #9133614 - Attachment description: Disable new pass manager by default on Mac hosts → Disable new pass manager on Mac hosts
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ad204b01a300 Disable new pass manager on Mac hosts r=firefox-build-system-reviewers,rstewart
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76

I was able to reproduce with clang trunk. Currently it looks like it's the nsStyleDisplay copy constructor that causes the problems.

I think this might be the same as bug 1622168, which I can reproduce since that doesn't require a mac host. I ran creduce overnight and it gave me a reasonable file so I don't mind taking over the filing this upstream if you haven't already.

I haven't filed anything upstream yet.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: