<?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>175527</bug_id>
          
          <creation_ts>2017-08-14 03:56:29 -0700</creation_ts>
          <short_desc>[GTK][WPE] Crash in IconDatabase::IconRecord::setImageData()</short_desc>
          <delta_ts>2017-08-17 06:41:01 -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>WebKitGTK</component>
          <version>WebKit Nightly 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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>calvaris</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1338306</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-14 03:56:29 -0700</bug_when>
    <thetext>I&apos;m still getting crashes there. The problem is that when setImageData() is called from IconDatabase::readFromDatabase() the shared buffer might be nullptr, because getImageDataForIconURLFromSQLDatabase() returns nullptr if the icon data is not in the database.

#0  0x00007f186d4da26e in WebKit::IconDatabase::IconRecord::setImageData(WTF::RefPtr&lt;WebCore::SharedBuffer&gt;&amp;&amp;) ()
   from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007f186d4dab08 in WebKit::IconDatabase::readFromDatabase() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007f186d4db112 in WebKit::IconDatabase::syncThreadMainLoop() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007f186d4db438 in WebKit::IconDatabase::iconDatabaseSyncThread() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007f186946cb0b in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#5  0x00007f186949fa39 in WTF::wtfThreadEntryPoint(void*) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#6  0x00007f1861288494 in start_thread (arg=0x7f18548fc700) at pthread_create.c:333
#7  0x00007f185fef0a8f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338307</commentid>
    <comment_count>1</comment_count>
      <attachid>318028</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-14 03:58:19 -0700</bug_when>
    <thetext>Created attachment 318028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338308</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-14 04:00:05 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338309</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-14 04:12:34 -0700</bug_when>
    <thetext>Committed r220677: &lt;http://trac.webkit.org/changeset/220677&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318028</attachid>
            <date>2017-08-14 03:58:19 -0700</date>
            <delta_ts>2017-08-17 06:41:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-icon-database-crash.diff</filename>
            <type>text/plain</type>
            <size>1479</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZGQwZDg4OWQ0NjkuLmQxYWRmNmJhODE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDE3LTA4LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENyYXNoIGluIEljb25EYXRhYmFzZTo6SWNvblJl
Y29yZDo6c2V0SW1hZ2VEYXRhKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTUyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2hlbiBzZXRJbWFnZURhdGEoKSBpcyBj
YWxsZWQgZnJvbSBJY29uRGF0YWJhc2U6OnJlYWRGcm9tRGF0YWJhc2UoKSB0aGUgc2hhcmVkIGJ1
ZmZlciBtaWdodAorICAgICAgICBiZSBudWxscHRyLCBiZWNhdXNlIGdldEltYWdlRGF0YUZvcklj
b25VUkxGcm9tU1FMRGF0YWJhc2UoKSByZXR1cm5zIG51bGxwdHIgaWYgdGhlIGljb24gZGF0YSBp
cyBub3QgaW4gdGhlIGRhdGFiYXNlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL0lj
b25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6SWNvblJlY29y
ZDo6c2V0SW1hZ2VEYXRhKTogUmV0dXJuIGVhcmx5IGlmIHBhc3NlZCBpbiBidWZmZXIgaXMgbnVs
bHB0ci4KKwogMjAxNy0wOC0wOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgV2ViRHJpdmVyOiBoYW5kbGUgY2xpY2sgZXZlbnRzIG9uIG9wdGlv
biBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
SWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25E
YXRhYmFzZS5jcHAKaW5kZXggMjE3MGNkYzRjNDMuLjBlMjVhNjdkNjBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKQEAgLTEyMCw3
ICsxMjAsNyBAQCB2b2lkIEljb25EYXRhYmFzZTo6SWNvblJlY29yZDo6c2V0SW1hZ2VEYXRhKFJl
ZlB0cjxTaGFyZWRCdWZmZXI+JiYgZGF0YSkKICAgICBtX2ltYWdlRGF0YSA9IFdURk1vdmUoZGF0
YSk7CiAgICAgbV9pbWFnZSA9IG51bGxwdHI7CiAKLSAgICBpZiAoIW1faW1hZ2VEYXRhLT5zaXpl
KCkpIHsKKyAgICBpZiAoIW1faW1hZ2VEYXRhIHx8ICFtX2ltYWdlRGF0YS0+c2l6ZSgpKSB7CiAg
ICAgICAgIG1faW1hZ2VEYXRhID0gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>