<?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>90790</bug_id>
          
          <creation_ts>2012-07-09 07:55:59 -0700</creation_ts>
          <short_desc>[GTK] Fix memory leaks by adopting allocation of GdkPixbuf</short_desc>
          <delta_ts>2012-07-10 10:05:45 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sudarsana Nagineni (babu)">naginenis</reporter>
          <assigned_to name="Sudarsana Nagineni (babu)">naginenis</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>664866</commentid>
    <comment_count>0</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-07-09 07:55:59 -0700</bug_when>
    <thetext>Looks like GdkPixbuf returned by gdk_pixbuf_scale_simple() is leaking.

==6946== 1,104 (80 direct, 1,024 indirect) bytes in 1 blocks are definitely lost in loss record 52,728 of 55,380
==6946==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==6946==    by 0xB963A38: g_malloc (gmem.c:159)
==6946==    by 0xB976C62: g_slice_alloc (gslice.c:1003)
==6946==    by 0xB9771A5: g_slice_alloc0 (gslice.c:1029)
==6946==    by 0xB6F78B9: g_type_create_instance (gtype.c:1872)
==6946==    by 0xB6DC0B8: g_object_constructor (gobject.c:1849)
==6946==    by 0xB6DD6E3: g_object_newv (gobject.c:1713)
==6946==    by 0xB6DDEC5: g_object_new_valist (gobject.c:1830)
==6946==    by 0xB6DE1D3: g_object_new (gobject.c:1545)
==6946==    by 0xF02AE2E: gdk_pixbuf_new_from_data (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==6946==    by 0xF028F9D: gdk_pixbuf_new (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==6946==    by 0xF030616: gdk_pixbuf_scale_simple (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==6946==    by 0x62CA5FC: getIconPixbufSynchronously(_WebKitFaviconDatabase*, WTF::String const&amp;, WebCore::IntSize const&amp;) (webkitfavicondatabase.cpp:410)
==6946==    by 0x62CA774: webkit_favicon_database_try_get_favicon_pixbuf (webkitfavicondatabase.cpp:445)
==6946==    by 0x62FB93E: webkit_web_view_try_get_favicon_pixbuf (webkitwebview.cpp:5224)
==6946==    by 0x404304: iconLoadedCb (main.c:202)
==6946==    by 0xB6D9C2F: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1004)
==6946==    by 0xB6D6EC9: _g_closure_invoke_va (gclosure.c:840)
==6946==    by 0xB6EF740: g_signal_emit_valist (gsignal.c:3207)
==6946==    by 0xB6F0241: g_signal_emit (gsignal.c:3352)
==6946==    by 0x62FBC64: webkitWebViewIconLoaded (webkitwebview.cpp:5302)
==6946==    by 0x62B648D: WebKit::FrameLoaderClient::dispatchDidReceiveIcon() (FrameLoaderClientGtk.cpp:779)
==6946==    by 0x6ABB9BD: WebCore::IconLoader::notifyFinished(WebCore::CachedResource*) (IconLoader.cpp:101)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665637</commentid>
    <comment_count>1</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-07-10 04:10:38 -0700</bug_when>
    <thetext>Found an another leak in RenderThemeGtk.cpp also. I&apos;m going to fix both in a single patch.

==28864== 1,380 (400 direct, 980 indirect) bytes in 5 blocks are definitely lost in loss record 31,943 of 34,138
==28864==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==28864==    by 0xB968A38: g_malloc (gmem.c:159)
==28864==    by 0xB97BC62: g_slice_alloc (gslice.c:1003)
==28864==    by 0xB97C1A5: g_slice_alloc0 (gslice.c:1029)
==28864==    by 0xB6FC8B9: g_type_create_instance (gtype.c:1872)
==28864==    by 0xB6E10B8: g_object_constructor (gobject.c:1849)
==28864==    by 0xB6E26E3: g_object_newv (gobject.c:1713)
==28864==    by 0xB6E2EC5: g_object_new_valist (gobject.c:1830)
==28864==    by 0xB6E31D3: g_object_new (gobject.c:1545)
==28864==    by 0xF045E2E: gdk_pixbuf_new_from_data (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==28864==    by 0xF043F9D: gdk_pixbuf_new (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==28864==    by 0xF04B616: gdk_pixbuf_scale_simple (in /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.2600.1)
==28864==    by 0x775E502: WebCore::paintGdkPixbuf(WebCore::GraphicsContext*, _GdkPixbuf const*, WebCore::IntRect const&amp;) (RenderThemeGtk.cpp:245)
==28864==    by 0x775EBB8: WebCore::RenderThemeGtk::paintSearchFieldCancelButton(WebCore::RenderObject*, WebCore::PaintInfo const&amp;, WebCore::IntRect const&amp;) (RenderThemeGtk.cpp:360)
==28864==    by 0x6E974FB: WebCore::RenderTheme::paint(WebCore::RenderObject*, WebCore::PaintInfo const&amp;, WebCore::IntRect const&amp;) (RenderTheme.cpp:366)
==28864==    by 0x6D784B1: WebCore::RenderBox::paintBoxDecorations(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBox.cpp:849)
==28864==    by 0x6D1D823: WebCore::RenderBlock::paintObject(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2896)
==28864==    by 0x6D1B4A7: WebCore::RenderBlock::paint(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2644)
==28864==    by 0x6D1D387: WebCore::RenderBlock::paintChildren(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2854)
==28864==    by 0x6D1CF1B: WebCore::RenderBlock::paintContents(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2812)
==28864==    by 0x6D1D9A8: WebCore::RenderBlock::paintObject(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2920)
==28864==    by 0x6D1B4A7: WebCore::RenderBlock::paint(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2644)
==28864==    by 0x6D1D387: WebCore::RenderBlock::paintChildren(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2854)
==28864==    by 0x6D1CF1B: WebCore::RenderBlock::paintContents(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2812)
==28864==    by 0x6D1D9A8: WebCore::RenderBlock::paintObject(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2920)
==28864==    by 0x6D1B4A7: WebCore::RenderBlock::paint(WebCore::PaintInfo&amp;, WebCore::FractionalLayoutPoint const&amp;) (RenderBlock.cpp:2644)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665753</commentid>
    <comment_count>2</comment_count>
      <attachid>151460</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-07-10 07:32:32 -0700</bug_when>
    <thetext>Created attachment 151460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665839</commentid>
    <comment_count>3</comment_count>
      <attachid>151460</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-10 10:05:41 -0700</bug_when>
    <thetext>Comment on attachment 151460
Patch

Clearing flags on attachment: 151460

Committed r122233: &lt;http://trac.webkit.org/changeset/122233&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665840</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-10 10:05:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151460</attachid>
            <date>2012-07-10 07:32:32 -0700</date>
            <delta_ts>2012-07-10 10:05:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>90790.patch</filename>
            <type>text/plain</type>
            <size>3461</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0YTViOGNhLi5kNDMzNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMDctMTAgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0dUS10gRml4IG1lbW9yeSBsZWFrcyBieSBhZG9w
dGluZyBhbGxvY2F0aW9uIG9mIEdka1BpeGJ1ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXhlZCBhIG1lbW9yeSBsZWFrIGluIHBhaW50R2RrUGl4YnVm
IGJ5IGFkb3B0aW5nIGFuIGFsbG9jYXRpb24KKyAgICAgICAgb2YgR2RrUGl4YnVmLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhaW50R2Rr
UGl4YnVmKToKKwogMjAxMi0wNy0xMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMjE3OC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwCmluZGV4IGYw
NWUyMTkuLjJlYjRmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9S
ZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRl
clRoZW1lR3RrLmNwcApAQCAtMjM4LDEwICsyMzgsMTEgQEAgYm9vbCBSZW5kZXJUaGVtZUd0azo6
cGFpbnRUZXh0QXJlYShSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3Qg
SW4KIHN0YXRpYyB2b2lkIHBhaW50R2RrUGl4YnVmKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgR2RrUGl4YnVmKiBpY29uLCBjb25zdCBJbnRSZWN0JiBpY29uUmVjdCkKIHsKICAgICBJ
bnRTaXplIGljb25TaXplKGdka19waXhidWZfZ2V0X3dpZHRoKGljb24pLCBnZGtfcGl4YnVmX2dl
dF9oZWlnaHQoaWNvbikpOworICAgIEdSZWZQdHI8R2RrUGl4YnVmPiBzY2FsZWRJY29uOwogICAg
IGlmIChpY29uUmVjdC5zaXplKCkgIT0gaWNvblNpemUpIHsKICAgICAgICAgLy8gV2UgY291bGQg
dXNlIGNhaXJvX3NjYWxlKCkgaGVyZSBidXQgY2Fpcm8vcGl4bWFuIGRvd25zY2FsZSBxdWFsaXR5
IGlzIHF1aXRlIGJhZC4KLSAgICAgICAgR1JlZlB0cjxHZGtQaXhidWY+IHNjYWxlZEljb24gPSBn
ZGtfcGl4YnVmX3NjYWxlX3NpbXBsZShpY29uLCBpY29uUmVjdC53aWR0aCgpLCBpY29uUmVjdC5o
ZWlnaHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHREtfSU5URVJQX0JJTElORUFSKTsKKyAgICAgICAgc2NhbGVkSWNv
biA9IGFkb3B0R1JlZihnZGtfcGl4YnVmX3NjYWxlX3NpbXBsZShpY29uLCBpY29uUmVjdC53aWR0
aCgpLCBpY29uUmVjdC5oZWlnaHQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHREtfSU5URVJQX0JJTElORUFSKSk7CiAgICAgICAgIGlj
b24gPSBzY2FsZWRJY29uLmdldCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGI3Nzhh
YjEuLmI4ZDc0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0x
MCAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNv
bT4KKworICAgICAgICBbR1RLXSBGaXggbWVtb3J5IGxlYWtzIGJ5IGFkb3B0aW5nIGFsbG9jYXRp
b24gb2YgR2RrUGl4YnVmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MDc5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZpeGVkIGEgbWVtb3J5IGxlYWsgaW4gV2ViS2l0RmF2aWNvbkRhdGFiYXNlIGJ5IGFk
b3B0aW5nIGFuCisgICAgICAgIGFsbG9jYXRpb24gb2YgR2RrUGl4YnVmLgorCisgICAgICAgICog
d2Via2l0L3dlYmtpdGZhdmljb25kYXRhYmFzZS5jcHA6CisgICAgICAgIChnZXRJY29uUGl4YnVm
U3luY2hyb25vdXNseSk6CisKIDIwMTItMDctMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0IHNob3VsZCBtb3ZlIHRvIEludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdGZhdmljb25kYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0ZmF2aWNvbmRhdGFiYXNlLmNwcAppbmRleCBhOWMzZTY1Li42YmFi
ZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZmF2aWNvbmRh
dGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZmF2aWNvbmRh
dGFiYXNlLmNwcApAQCAtNDA3LDcgKzQwNyw3IEBAIHN0YXRpYyBHZGtQaXhidWYqIGdldEljb25Q
aXhidWZTeW5jaHJvbm91c2x5KFdlYktpdEZhdmljb25EYXRhYmFzZSogZGF0YWJhc2UsIGNvCiAg
ICAgaW50IHBpeGJ1ZldpZHRoID0gZ2RrX3BpeGJ1Zl9nZXRfd2lkdGgocGl4YnVmLmdldCgpKTsK
ICAgICBpbnQgcGl4YnVmSGVpZ2h0ID0gZ2RrX3BpeGJ1Zl9nZXRfaGVpZ2h0KHBpeGJ1Zi5nZXQo
KSk7CiAgICAgaWYgKCFpY29uU2l6ZS5pc1plcm8oKSAmJiAocGl4YnVmV2lkdGggIT0gaWNvblNp
emUud2lkdGgoKSB8fCBwaXhidWZIZWlnaHQgIT0gaWNvblNpemUuaGVpZ2h0KCkpKQotICAgICAg
ICBwaXhidWYgPSBnZGtfcGl4YnVmX3NjYWxlX3NpbXBsZShwaXhidWYuZ2V0KCksIGljb25TaXpl
LndpZHRoKCksIGljb25TaXplLmhlaWdodCgpLCBHREtfSU5URVJQX0JJTElORUFSKTsKKyAgICAg
ICAgcGl4YnVmID0gYWRvcHRHUmVmKGdka19waXhidWZfc2NhbGVfc2ltcGxlKHBpeGJ1Zi5nZXQo
KSwgaWNvblNpemUud2lkdGgoKSwgaWNvblNpemUuaGVpZ2h0KCksIEdES19JTlRFUlBfQklMSU5F
QVIpKTsKICAgICByZXR1cm4gcGl4YnVmLmxlYWtSZWYoKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>