Closed Bug 1658632 Opened 4 years ago Closed 4 years ago

clang-11 Error executing x86_64-w64-mingw32-strip --strip-debug ../../dist/firefox/d3dcompiler_47.dll

Categories

(Firefox Build System :: General: Unsupported Platforms, defect)

defect

Tracking

(firefox-esr68 unaffected, firefox-esr78 fixed, firefox79 unaffected, firefox80 unaffected, firefox81 wontfix, firefox82 fixed)

RESOLVED FIXED
82 Branch
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- fixed
firefox79 --- unaffected
firefox80 --- unaffected
firefox81 --- wontfix
firefox82 --- fixed

People

(Reporter: away, Assigned: away)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

[task 2020-08-11T18:10:02.485Z] 18:10:02     INFO -  package> x86_64-w64-mingw32-strip: error: '../../dist/firefox/d3dcompiler_47.dll': debug directory payload outside of mapped sections not supported
[task 2020-08-11T18:10:02.485Z] 18:10:02    ERROR -  package> Traceback (most recent call last):
[task 2020-08-11T18:10:02.485Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/toolkit/mozapps/installer/packager.py", line 249, in <module>
[task 2020-08-11T18:10:02.485Z] 18:10:02     INFO -  package>     main()
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/toolkit/mozapps/installer/packager.py", line 243, in main
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>     copier.copy(args.destination)
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/python/mozbuild/mozpack/copier.py", line 424, in copy
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>     copy_results.append((destfile, f.copy(destfile, skip_if_older)))
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/python/mozbuild/mozpack/files.py", line 339, in copy
[task 2020-08-11T18:10:02.486Z] 18:10:02     INFO -  package>     strip(dest)
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/python/mozbuild/mozpack/executables.py", line 101, in strip
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>     errors.fatal('Error executing ' + ' '.join(cmd))
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/python/mozbuild/mozpack/errors.py", line 103, in fatal
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>     self._handle(self.FATAL, msg)
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>   File "/builds/worker/checkouts/gecko/python/mozbuild/mozpack/errors.py", line 98, in _handle
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package>     raise ErrorMessage(msg)
[task 2020-08-11T18:10:02.487Z] 18:10:02     INFO -  package> mozpack.errors.ErrorMessage: Error: Error executing x86_64-w64-mingw32-strip --strip-debug ../../dist/firefox/d3dcompiler_47.dll
[task 2020-08-11T18:10:02.487Z] 18:10:02    ERROR -  package> make[5]: *** [/builds/worker/checkouts/gecko/toolkit/mozapps/installer/packager.mk:25: stage-package] Error 1
Flags: needinfo?(mh+mozilla)

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

Does is still happen after bug 1647780?

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

Yes, same error.

Flags: needinfo?(dmajor)

Do you have a link to a task that failed with bug 1647780 applied?

Flags: needinfo?(dmajor)

So, the funny thing about this is that the DLL in question is a 32-bits binary... in a 64-bits build. IOW, I doubt it's used. Which leads me to the question: should we fix this, or should we work around it by not packaging the file in the first place?

Flags: needinfo?(tom)

The same problem happens in 32-bit builds though...

Sure, but if we go with unshipping on 64-bits, we could unship on 32-bits too.

So I'm pretty sure what's happening is that d3dcompiler_47.dll is shipped with Firefox because on some systems it's not available and we need it. But on most systems it's there so ours is redundant. And on our systems it's there, so the one we ship isn't used.

The dll in our zip comes from fxc2 which is only compiled as x86 because there hadn't been a need to make a x64 version. So that's how a x86 version wound up in the x64 build zip.

We could stop packaging it but doing so would probably be a little bit messy; because we do want to keep packaging that dll on regular windows builds I believe. (It could also cause really frustrating errors if someone tries to debug a mingwclang build without having the dll.) It might be easier to just make the x64 version of fxc2 and get the x64 version into the x64 package.

However that may not solve the problem if the x86 dll isn't working on the x86 build; that must mean there's some other problem. The dlls come from https://github.com/mozilla/fxc2/tree/master/dll by the way

As an aside: where does this dll come from on the windows cross builds?

Flags: needinfo?(tom)

This actually happens with clang-11 too, but I didn't notice since my attention was away from that version for a while.

For the time being I've hacked around this locally with if 'd3dcompiler' in path: return False in may_strip.

Summary: clang-12 Error executing x86_64-w64-mingw32-strip --strip-debug ../../dist/firefox/d3dcompiler_47.dll → clang-11 Error executing x86_64-w64-mingw32-strip --strip-debug ../../dist/firefox/d3dcompiler_47.dll

The llvm-strip from clang-11 complains about this file. This file doesn't really interest us anyway -- it's imported from elsewhere -- so just avoid it.

Assignee: nobody → dmajor
Status: NEW → ASSIGNED
Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8b43cc9155c1
Don't strip d3dcompiler_47.dll r=glandium
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch

I don't think we need to uplift this to Beta, but feel free to nominate if that's incorrect.

Comment on attachment 9174491 [details]
Don't strip d3dcompiler_47.dll

Approved for 78.9esr alongside bug 1668304.

Attachment #9174491 - Flags: approval-mozilla-esr78+
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: