<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>124610</bug_id>
          
          <creation_ts>2013-11-19 15:11:38 -0800</creation_ts>
          <short_desc>[ASAN] WebKitLauncher: Include libasancrashreporter.dylib in DYLD_INSERT_LIBRARIES if it exists</short_desc>
          <delta_ts>2013-12-16 10:14:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.9</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Farler">dfarler</reporter>
          <assigned_to name="David Farler">dfarler</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>952256</commentid>
    <comment_count>0</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-11-19 15:11:38 -0800</bug_when>
    <thetext>libasancrashreporter.dylib automatically attaches the Address Sanitizer’s output to the crash report by dynamically registering with compiler-rt’s __asan_set_error_report_callback. We should look for this library and also add it to DYLD_INSERT_LIBRARIES.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952260</commentid>
    <comment_count>1</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-11-19 15:12:33 -0800</bug_when>
    <thetext>I thought I might just set this in LSEnvironment and have the WebKitLauncher only append to DYLD_INSERT_LIBRARIES but it looks like it’s getting explicitly unset. Mark, do you know why that is? Should I just check to see if the dylib is in the bundle and add it to the list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952266</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-11-19 15:22:31 -0800</bug_when>
    <thetext>Doing things via LSEnvironment isn&apos;t a good idea since it is not used when the binary is launched directly. If you&apos;re asking about the unsetenv(&quot;DYLD_INSERT_LIBRARIES&quot;); call in WebKitNightlyEnabler.m, then that&apos;s to prevent the WebKitNightlyEnabler dylib from being injected in to all processes spawned by WebKit.app / Safari.app.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952343</commentid>
    <comment_count>3</comment_count>
      <attachid>217365</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-11-19 17:44:08 -0800</bug_when>
    <thetext>Created attachment 217365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952372</commentid>
    <comment_count>4</comment_count>
      <attachid>217365</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2013-11-19 18:37:49 -0800</bug_when>
    <thetext>Comment on attachment 217365
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=217365&amp;action=review

r=me assuming that the scenarios I mentioned work correctly.

&gt; Tools/WebKitLauncher/WebKitNightlyEnabler.m:195
&gt; +    if (pathToASanCrashReporterLib)
&gt; +        setenv(&quot;DYLD_INSERT_LIBRARIES&quot;, [pathToASanCrashReporterLib UTF8String], 1);

This will result in the library being injected in to any subprocess launched by Safari. Back in the day that would include applications launched via LaunchServices calls that Safari happened to make (e.g., double-clicking on a file in the Downloads popover). It&apos;d be worth confirming that this doesn&apos;t cause any problems.

Have you confirmed that this is sufficient to have the dylib be injected in to the XPC services that WebKit2 launches (e.g., both the web and network processes)?

&gt; Tools/WebKitLauncher/main.m:245
&gt; +        dyldInsertLibraries = [@[pathToASanCrashReporterLib, pathToEnablerLib] componentsJoinedByString:@&quot;:&quot;];

Our style calls for spaces inside array literal: @[ foo, bar ].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952395</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-11-19 20:17:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/15506018&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960110</commentid>
    <comment_count>6</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2013-12-16 10:14:00 -0800</bug_when>
    <thetext>Committed r160649: &lt;http://trac.webkit.org/changeset/160649&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217365</attachid>
            <date>2013-11-19 17:44:08 -0800</date>
            <delta_ts>2013-11-19 18:37:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124610-20131119174407.patch</filename>
            <type>text/plain</type>
            <size>4298</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NTI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTJlMjk5ZjUyMTViODEzZTU5ZDdjOGQ0ZWIxMmYyOWY3
M2FlYmQ5Yy4uYTQxMjc1YWIwNDBiMzI2YmU4NmY1NGY5YWQyODRkZjdiZjk3ODBmZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEzLTExLTE5ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQVNBTl0gV2ViS2l0TGF1bmNoZXI6IEluY2x1ZGUgbGliYXNhbmNyYXNocmVwb3J0ZXIu
ZHlsaWIgaW4gRFlMRF9JTlNFUlRfTElCUkFSSUVTIGlmIGl0IGV4aXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0NjEwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRMYXVuY2hlci9XZWJL
aXROaWdodGx5RW5hYmxlci5tOgorICAgICAgICAoZW5hYmxlV2ViS2l0TmlnaHRseUJlaGF2aW91
cik6CisgICAgICAgIElmIGxpYmFzYW5jcmFzaHJlcG9ydGVyLmR5bGliIGV4aXN0cyBpbiB0aGUg
YnVuZGxlLCBzZXQKKyAgICAgICAgRFlMRF9JTlNFUlRfTElCUkFSSUVTIHRvIGl0IGluc3RlYWQg
b2YgdW5zZXR0aW5nIGl0LiBUaGlzIGlzCisgICAgICAgIG5lY2Vzc2FyeSB0byBtYWtlIHN1cmUg
dGhhdCBzZXBhcmF0ZSBXZWJLaXQyIHByb2Nlc3NlcyBsb2FkIHRoZQorICAgICAgICByZXBvcnRp
bmcgbGlicmFyeSBiZWZvcmUgdGhlIGFjdHVhbCBjb21waWxlci1ydCBpbml0aWFsaXplciBpcwor
ICAgICAgICBydW4uCisgICAgICAgICogV2ViS2l0TGF1bmNoZXIvbWFpbi5tOgorICAgICAgICAo
bWFpbik6CisgICAgICAgIFdoZW4gU2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1lbnQgaXMgcmVsYXVu
Y2hlZCB3aXRoCisgICAgICAgIERZTERfRlJBTUVXT1JLX1BBVEggc2V0LCBhZGQgbGliYXNhbmNy
YXNocmVwb3J0ZXIuZHlsaWIgdG8KKyAgICAgICAgRFlMRF9JTlNFUlRfTElCUkFSSUVTLiBUaGlz
IGxpYnJhcnkncyBpbml0aWFsaXplciBzaG91bGQgcnVuCisgICAgICAgIGJlZm9yZSBhbnkgb3Ro
ZXIgZnJhbWV3b3JrcyBhcmUgbG9hZGVkLgorCiAyMDEzLTExLTE5ICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE1MTM5NDc5PiBSZWVu
YWJsZSB0aGUgSlNDIE9iamVjdGl2ZS1DIEFQSSB0ZXN0cyBvbiBNb3VudGFpbiBMaW9uIG9uY2Ug
dGhlIGJvdHMgYXJlIHJ1bm5pbmcgWGNvZGUgNQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1
bmNoZXIvV2ViS2l0TmlnaHRseUVuYWJsZXIubSBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL1dlYktp
dE5pZ2h0bHlFbmFibGVyLm0KaW5kZXggZWVmMGY4YzIyY2VlYjdkOTViMjViNjA4NzVkMmZhYzg2
NDIwOWQ5Ny4uMWRlNGQ5ZTYwZDY4OGFjMmU3ZTIxODRkNTMyMmY4MmU0NzEwNmMzYyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvV2ViS2l0TmlnaHRseUVuYWJsZXIubQorKysgYi9U
b29scy9XZWJLaXRMYXVuY2hlci9XZWJLaXROaWdodGx5RW5hYmxlci5tCkBAIC0xODksNiArMTg5
LDExIEBAIHN0YXRpYyB2b2lkIGVuYWJsZVdlYktpdE5pZ2h0bHlCZWhhdmlvdXIoKQogICAgIHVu
c2V0ZW52KCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiKTsKICAgICBwb3NlQXNXZWJLaXRBcHAoKTsK
IAorICAgIE5TU3RyaW5nICpwYXRoVG9BU2FuQ3Jhc2hSZXBvcnRlckxpYiA9IFt3ZWJLaXRMYXVu
Y2hlckJ1bmRsZSgpIHBhdGhGb3JSZXNvdXJjZTpAImxpYmFzYW5jcmFzaHJlcG9ydGVyIiBvZlR5
cGU6QCJkeWxpYiJdOworCisgICAgaWYgKHBhdGhUb0FTYW5DcmFzaFJlcG9ydGVyTGliKQorICAg
ICAgICBzZXRlbnYoIkRZTERfSU5TRVJUX0xJQlJBUklFUyIsIFtwYXRoVG9BU2FuQ3Jhc2hSZXBv
cnRlckxpYiBVVEY4U3RyaW5nXSwgMSk7CisKICAgICBleHRlbnNpb25QYXRocyA9IFtbTlNTZXQg
YWxsb2NdIGluaXRXaXRoT2JqZWN0czpAIn4vTGlicmFyeS9JbnB1dE1hbmFnZXJzLyIsIEAiL0xp
YnJhcnkvSW5wdXRNYW5hZ2Vycy8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEAifi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvU0lNQkwv
UGx1Z2lucy8iLCBAIi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvU0lNQkwvUGx1Z2lucy8i
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAi
fi9MaWJyYXJ5L0FwcGxpY2F0aW9uIEVuaGFuY2Vycy8iLCBAIi9MaWJyYXJ5L0FwcGxpY2F0aW9u
IEVuaGFuY2Vycy8iLApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tIGIv
VG9vbHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tCmluZGV4IDQ1ZTRhMGQ3NDUzMTdmZTJmZWIwYmQy
NDQwMDk1OGEyNjllNGE0YjEuLmYwMjM5ZDFhODk2YzEyOTRlNjU2ODUzZTMyN2NjMDk1ZWU2MGFk
NWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQorKysgYi9Ub29scy9X
ZWJLaXRMYXVuY2hlci9tYWluLm0KQEAgLTIzOSw2ICsyMzksMTAgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTlNTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpAIk5pZ2h0bHkgYnVpbGRzIG9mIFdlYktpdCBhcmUgbm90IHN1cHBv
cnRlZCBvbiBPUyBYICVAIGF0IHRoaXMgdGltZS4iLCBzeXN0ZW1WZXJzaW9uXSk7CiAKICAgICBO
U1N0cmluZyAqcGF0aFRvRW5hYmxlckxpYiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gcGF0aEZv
clJlc291cmNlOkAiV2ViS2l0TmlnaHRseUVuYWJsZXIiIG9mVHlwZTpAImR5bGliIl07CisgICAg
TlNTdHJpbmcgKmR5bGRJbnNlcnRMaWJyYXJpZXMgPSBwYXRoVG9FbmFibGVyTGliOworICAgIE5T
U3RyaW5nICpwYXRoVG9BU2FuQ3Jhc2hSZXBvcnRlckxpYiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRs
ZV0gcGF0aEZvclJlc291cmNlOkAibGliYXNhbmNyYXNocmVwb3J0ZXIiIG9mVHlwZTpAImR5bGli
Il07CisgICAgaWYgKHBhdGhUb0FTYW5DcmFzaFJlcG9ydGVyTGliKQorICAgICAgICBkeWxkSW5z
ZXJ0TGlicmFyaWVzID0gW0BbcGF0aFRvQVNhbkNyYXNoUmVwb3J0ZXJMaWIsIHBhdGhUb0VuYWJs
ZXJMaWJdIGNvbXBvbmVudHNKb2luZWRCeVN0cmluZzpAIjoiXTsKIAogICAgIE5TQnVuZGxlICpz
YWZhcmlCdW5kbGUgPSBsb2NhdGVTYWZhcmlCdW5kbGUoKTsKICAgICBOU1N0cmluZyAqZXhlY3V0
YWJsZVBhdGggPSBkZXRlcm1pbmVFeGVjdXRhYmxlUGF0aChzYWZhcmlCdW5kbGUpOwpAQCAtMjU2
LDcgKzI2MCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAgICBOU011
dGFibGVBcnJheSAqYXJndW1lbnRzID0gW05TTXV0YWJsZUFycmF5IGFycmF5V2l0aE9iamVjdDpl
eGVjdXRhYmxlUGF0aF07CiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqZW52aXJvbm1lbnQgPSBb
W1tOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3RzQW5kS2V5czpmcmFtZXdvcmtQYXRo
LCBAIkRZTERfRlJBTUVXT1JLX1BBVEgiLCBAIllFUyIsIEAiV0VCS0lUX1VOU0VUX0RZTERfRlJB
TUVXT1JLX1BBVEgiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFRvRW5hYmxlckxp
YiwgQCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiLCBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGV4ZWN1
dGFibGVQYXRoXSwgQCJXZWJLaXRBcHBQYXRoIiwgbmlsXSBtdXRhYmxlQ29weV0gYXV0b3JlbGVh
c2VdOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHlsZEluc2VydExpYnJhcmllcywgQCJE
WUxEX0lOU0VSVF9MSUJSQVJJRVMiLCBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGV4ZWN1dGFibGVQ
YXRoXSwgQCJXZWJLaXRBcHBQYXRoIiwgbmlsXSBtdXRhYmxlQ29weV0gYXV0b3JlbGVhc2VdOwog
ICAgIFtlbnZpcm9ubWVudCBhZGRFbnRyaWVzRnJvbURpY3Rpb25hcnk6W1tOU1Byb2Nlc3NJbmZv
IHByb2Nlc3NJbmZvXSBlbnZpcm9ubWVudF1dOwogICAgIGFkZFN0YXJ0UGFnZVRvQXJndW1lbnRz
SWZOZWVkZWQoYXJndW1lbnRzKTsKIAo=
</data>
<flag name="review"
          id="240477"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>