<?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>163839</bug_id>
          
          <creation_ts>2016-10-21 22:25:44 -0700</creation_ts>
          <short_desc>[Cocoa] REGRESSION (r204508): Crash in init_WebCreateFragment when pasting (seen in multiple apps using legacy WebKit)</short_desc>
          <delta_ts>2016-10-22 09:29:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243270</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 22:25:44 -0700</bug_when>
    <thetext>Seeing crashes in init_WebCreateFragment(WebCore::Document&amp;, NSAttributedString*, WebCore::FragmentAndResources&amp;).

Dan pointed out the likely cause:

The use of SOFT_LINK_FRAMEWORK(WebKitLegacy) seems incorrect. The macro is intended for use with frameworks installed directly in /System/Library/Frameworks. But WebKitLegacy is not installed in that location. In macOS it’s installed inside the WebKit umbrella framework, and in iOS it’s installed in /System/Library/PrivateFrameworks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243271</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 22:26:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/28187870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243272</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 22:27:18 -0700</bug_when>
    <thetext>I’m going to try this:

#if PLATFORM(IOS)
SOFT_LINK_PRIVATE_FRAMEWORK(WebKitLegacy)
#endif

#if PLATFORM(MAC)
SOFT_LINK_FRAMEWORK_IN_UMBRELLA(WebKit, WebKitLegacy)
#endif

But the real problem is that last time I didn’t test!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243278</commentid>
    <comment_count>3</comment_count>
      <attachid>292464</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 22:33:45 -0700</bug_when>
    <thetext>Created attachment 292464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243280</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-21 22:34:32 -0700</bug_when>
    <thetext>I’ve uploaded a patch, but also seems critical this time that someone does some testing, ideally me. Maybe I can make a unit test? I am not set up for iOS development at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243321</commentid>
    <comment_count>5</comment_count>
      <attachid>292464</attachid>
    <who name="">mitz</who>
    <bug_when>2016-10-22 00:03:31 -0700</bug_when>
    <thetext>Comment on attachment 292464
Patch

We should have a unit test that exercises this code path. However, such a test would not have caught this mistake, because when we run tests, we always have DYLD_FRAMEWORK_PATH pointing at a location that contains a WebKitLegacy.framework, so dyld never gets as far as to look for it in /System/Library/Frameworks and fail to find it there.

r=me because there’s no practical way to add a regression test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243374</commentid>
    <comment_count>6</comment_count>
      <attachid>292464</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 09:29:22 -0700</bug_when>
    <thetext>Comment on attachment 292464
Patch

Clearing flags on attachment: 292464

Committed r207712: &lt;http://trac.webkit.org/changeset/207712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243375</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 09:29:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292464</attachid>
            <date>2016-10-21 22:33:45 -0700</date>
            <delta_ts>2016-10-22 09:29:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163839-20161021223005.patch</filename>
            <type>text/plain</type>
            <size>1569</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk5NzkwMDViZTI5YzU1
ZDVlYjFhYTY3MWY5MmE4ODllOWU1MzAyYy4uNTExMjUyMDJmNTRkNTcwNmU1ZmU1NWIwNzE3YWQ0
NGE4YWRlNDYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTEwLTIxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFJFR1JFU1NJT04g
KHIyMDQ1MDgpOiBDcmFzaCBpbiBpbml0X1dlYkNyZWF0ZUZyYWdtZW50IHdoZW4gcGFzdGluZyAo
c2VlbiBpbiBtdWx0aXBsZSBhcHBzIHVzaW5nIGxlZ2FjeSBXZWJLaXQpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM4MzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9y
Q29jb2EubW06IFVzZSB0aGUgYXBwcm9wcmlhdGUgU09GVF9MSU5LIG1hY3JvcyB0byBmaW5kCisg
ICAgICAgIHRoZSBXZWJLaXRMZWdhY3kgcGxhdGZvcm0gaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24g
Zm9yIGlPUyBhbmQgbWFjT1MuCisKIDIwMTYtMTAtMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2Fy
bHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBEeW5hbWljYWxseSBnZW5l
cmF0ZSBtZWRpYSBjYXB0dXJlIHNhbmRib3ggZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KaW5kZXggMjFhODc4YzRlZDI4NzZkZTI1NjQ5ZDY4
Zjc0Y2ZjZWMwODY3Y2Y3Yi4uYmJhODE0YTM4NzY5MWJmNWFjM2Y1M2UyYWQ3NmY4OTBkZjdhZDI4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC00
MCw3ICs0MCwxMyBAQAogI2ltcG9ydCAiVGV4dC5oIgogI2ltcG9ydCAiaHRtbGVkaXRpbmcuaCIK
IAotU09GVF9MSU5LX0ZSQU1FV09SSyhXZWJLaXRMZWdhY3kpCisjaWYgUExBVEZPUk0oSU9TKQor
U09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKFdlYktpdExlZ2FjeSkKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKQorU09GVF9MSU5LX0ZSQU1FV09SS19JTl9VTUJSRUxMQShXZWJLaXQsIFdl
YktpdExlZ2FjeSkKKyNlbmRpZgogCiBTT0ZUX0xJTksoV2ViS2l0TGVnYWN5LCBfV2ViQ3JlYXRl
RnJhZ21lbnQsIHZvaWQsIChXZWJDb3JlOjpEb2N1bWVudCYgZG9jdW1lbnQsIE5TQXR0cmlidXRl
ZFN0cmluZyAqc3RyaW5nLCBXZWJDb3JlOjpGcmFnbWVudEFuZFJlc291cmNlcyYgcmVzdWx0KSwg
KGRvY3VtZW50LCBzdHJpbmcsIHJlc3VsdCkpCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>