Closed Bug 1063944 Opened 6 years ago Closed 3 years ago

install_name_tool says "malformed object (unknown load command 12)" when used on ASan runtime dylib

Categories

(Infrastructure & Operations Graveyard :: CIDuty, task, major)

x86_64
macOS
task
Not set
major

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: decoder, Unassigned)

References

(Blocks 1 open bug)

Details

I'm working on ASan Mac builds and we need to rewrite the ASan runtime dylib using "install_name_tool" during unpacking of the compiler as well as during the packaging step, when we copy the dylib into our package. Here's what happened during compiler unpacking:


Executing: ['/tools/tooltool.py', '--url', 'http://runtime-binaries.pvt.build.mozilla.org/tooltool', '--overwrite', '-m', 'browser/config/tooltool-manifests/macosx64/releng.manifest', 'fetch', '-c', '/builds/tooltool_cache']
Bootstraping...
+ rm -rf clang
+ tar -xjf clang.tar.bz2
+ cd clang
+++ pwd
++ find /builds/slave/try-osx64-d-000000000000000000/build/clang -iname libclang_rt.asan_osx_dynamic.dylib
+ asan_rt=/builds/slave/try-osx64-d-000000000000000000/build/clang/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
+ '[' -e /builds/slave/try-osx64-d-000000000000000000/build/clang/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib ']'
+ install_name_tool -id /builds/slave/try-osx64-d-000000000000000000/build/clang/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib /builds/slave/try-osx64-d-000000000000000000/build/clang/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
install_name_tool: for architecture i386 object: /builds/slave/try-osx64-d-000000000000000000/build/clang/lib/clang/3.6.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib malformed object (unknown load command 12)


Try push is here: https://tbpl.mozilla.org/?tree=Try&rev=cb6379f306c5

A quick Google search suggested that the "unknown load command 12" is caused by a too old install_name_tool version. However, I tried this on an OSX 10.7.5 machine (with Xcode 4.6.3 if that matters) and it worked fine.

Any help on this is highly appreciated, as it is a blocker for the ASan Mac OSX goal.
I can't help determine the actual dylib/build issue, but our releng builders have:

[cltbld@bld-lion-r5-023.try.releng.scl3.mozilla.com ~]$ system_profiler | grep 'System Version'
      System Version: Mac OS X Server 10.7.2 (11C74)
[cltbld@bld-lion-r5-023.try.releng.scl3.mozilla.com ~]$ /Developer/usr/bin/xcodebuild -version
Xcode 4.1
Build version 4B110
Is updating Xcode alone without updating OSX an option?
(In reply to Chris AtLee [:catlee] from comment #2)
> Is updating Xcode alone without updating OSX an option?

No, since the newer Xcode will not run on OSX 10.7.2. We don't need a major upgrade though. 10.7.5 should be sufficient.
I'm hoping that we can figure out if this can be done within the next quarter as it would unblock us getting the kind of official ASAN builds for OS X that are currently only have for Linux. This makes life for bug reporters and developers both a lot easier.
Discussed this in email with Chris and he suggested added Laura and Coop to this bug so we can get some attention on bumping the Xcode version and updating (a minor rev) on OS X. This issue blocks official ASAN builds of Desktop Firefox on OS X.
Has anything changed in the OSX build infrastructure since we last revised this bug?

If we run a newer OSX version now, we might be able official ASan builds.
Chris, can you answer comment 6 or needinfo someone who can? Thanks!
Flags: needinfo?(catlee)
We're planning on switching OSX builds to be cross-compiled from Linux. You can see these running as the Tier-2 OSX builds happening in Taskcluster on treeherder. Does this impact this bug at all?
Flags: needinfo?(catlee)
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Component: Platform Support → Buildduty
Product: Release Engineering → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.