<?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>35425</bug_id>
          
          <creation_ts>2010-02-26 01:55:39 -0800</creation_ts>
          <short_desc>[GTK] plugins/setProperty.html fails on 64bit Release</short_desc>
          <delta_ts>2010-03-01 17:36:28 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>194040</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-02-26 01:55:39 -0800</bug_when>
    <thetext>I can reproduce the crash only when executing all the &quot;plugins&quot; tests:

(gdb) bt
#0  malloc_consolidate (av=0x7fc5458bfe40) at malloc.c:5089
#1  0x00007fc5455cd509 in _int_malloc (av=0x7fc5458bfe40, bytes=33) at malloc.c:4338
#2  0x00007fc5455cf82e in *__GI___libc_malloc (bytes=8192) at malloc.c:3638
#3  0x00007fc54681e983 in IA__g_malloc (n_bytes=8192) at gmem.c:131
#4  0x00007fc54ade393c in WebCore::openCallback(_GObject*, _GAsyncResult*, void*) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/staging/Release/.libs/libwebkit-1.0.so.2
#5  0x00007fc547379458 in complete_in_idle_cb_for_thread (_data=&lt;value optimized out&gt;) at gsimpleasyncresult.c:653
#6  0x00007fc546815c80 in g_main_dispatch (context=0x1d69a40) at gmain.c:1960
#7  IA__g_main_context_dispatch (context=0x1d69a40) at gmain.c:2513
#8  0x00007fc546819ab8 in g_main_context_iterate (context=0x1d69a40, block=&lt;value optimized out&gt;, 
    dispatch=&lt;value optimized out&gt;, self=&lt;value optimized out&gt;) at gmain.c:2591
#9  0x00007fc546819ffd in IA__g_main_loop_run (loop=0x1d6f520) at gmain.c:2799
#10 0x00007fc5486f9287 in IA__gtk_main () at gtkmain.c:1219
#11 0x000000000040f14f in runTest(std::string const&amp;) ()
#12 0x000000000040f8d2 in main ()

Not trivial to debug in gdb as this is a release build :( Will skip the test for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194052</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-02-26 03:38:07 -0800</bug_when>
    <thetext>A git bisect revealed that r54786 is the culprit :) Gustavo, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194054</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-02-26 03:43:29 -0800</bug_when>
    <thetext>The same commit makes  plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html crash too:

(gdb) bt
#0  0x0000000001d626e0 in ?? ()
#1  0x00007f64296cf8ce in WebCore::ScriptController::clearScriptObjects() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#2  0x00007f6429915f30 in WebCore::FrameLoader::clear(bool, bool, bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#3  0x00007f6429917cae in WebCore::FrameLoader::begin(WebCore::KURL const&amp;, bool, WebCore::SecurityOrigin*) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#4  0x00007f642991838e in WebCore::FrameLoader::receivedFirstData() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#5  0x00007f6429918634 in WebCore::FrameLoader::setEncoding(WebCore::String const&amp;, bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#6  0x00007f642991a8d8 in WebCore::FrameLoader::finishedLoadingDocument(WebCore::DocumentLoader*) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#7  0x00007f6429902078 in WebCore::DocumentLoader::finishedLoading() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#8  0x00007f6429918db4 in WebCore::FrameLoader::finishedLoading() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#9  0x00007f642992b627 in WebCore::MainResourceLoader::didFinishLoading() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#10 0x00007f642992e147 in WebCore::MainResourceLoader::continueAfterContentPolicy(WebCore::PolicyAction, WebCore::ResourceResponse const&amp;) () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#11 0x00007f642992e566 in WebCore::MainResourceLoader::continueAfterContentPolicy(WebCore::PolicyAction) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#12 0x00007f64299359c6 in WebCore::PolicyChecker::continueAfterContentPolicy(WebCore::PolicyAction) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#13 0x00007f6429c9ff71 in WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType(void (WebCore::PolicyChecker::*)(WebCore::PolicyAction), WebCore::String const&amp;, WebCore::ResourceRequest const&amp;) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#14 0x00007f642992fd68 in WebCore::MainResourceLoader::didReceiveResponse(WebCore::ResourceResponse const&amp;) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#15 0x00007f642992beb2 in WebCore::MainResourceLoader::handleEmptyLoad(WebCore::KURL const&amp;, bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#16 0x00007f642992cc84 in WebCore::MainResourceLoader::loadNow(WebCore::ResourceRequest&amp;) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#17 0x00007f642992ecc0 in WebCore::MainResourceLoader::load(WebCore::ResourceRequest const&amp;, WebCore::SubstituteData const&amp;)
    () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#18 0x00007f64299023ed in WebCore::DocumentLoader::startLoadingMainResource(unsigned long) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#19 0x00007f6429912c55 in WebCore::FrameLoader::continueLoadAfterWillSubmitForm() ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#20 0x00007f642991e3c0 in WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool) () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#21 0x00007f642991e3ed in WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy(void*, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#22 0x00007f6429934a38 in WebCore::PolicyCallback::call(bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#23 0x00007f64299363cf in WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#24 0x00007f6429c9f987 in WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction(void (WebCore::PolicyChecker::*)(WebCore::PolicyAction), WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;) () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#25 0x00007f6429936f2b in WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::DocumentLoader*, WTF::PassRefPtr&lt;WebCore::FormState&gt;, void (*)(void*, WebCore::ResourceRequest const&amp;, WTF::PassRefPtr&lt;WebCore::FormState&gt;, bool), void*) () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#26 0x00007f642991e79a in WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr&lt;WebCore::FormState&gt;) () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#27 0x00007f642991e928 in WebCore::FrameLoader::load(WebCore::DocumentLoader*) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#28 0x00007f642991ea4b in WebCore::FrameLoader::load(WebCore::ResourceRequest const&amp;, WebCore::SubstituteData const&amp;, bool)
    () from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#29 0x00007f642991eb36 in WebCore::FrameLoader::load(WebCore::ResourceRequest const&amp;, bool) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#30 0x00007f6429cac97d in webkit_web_frame_load_uri ()
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/Release/.libs/libwebkit-1.0.so.2
#31 0x000000000040f029 in runTest(std::string const&amp;) ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/staging/Release/Programs/DumpRenderTree
#32 0x000000000040f702 in main ()
   from /home/phil/gst/jhbuild/build/WebKit/WebKitBuild/staging/Release/Programs/DumpRenderTree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194270</commentid>
    <comment_count>3</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-26 13:50:07 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; A git bisect revealed that r54786 is the culprit :) Gustavo, what do you think?

ouch; I think that fix may be just exposing the bug, I&apos;ll have to try and debug it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194271</commentid>
    <comment_count>4</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-02-26 13:51:31 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; The same commit makes 
&gt; plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html crash
&gt; too:

That is funny. This code doesn&apos;t seem to go through the parseDataUrl code path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194823</commentid>
    <comment_count>5</comment_count>
      <attachid>49752</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-01 14:22:23 -0800</bug_when>
    <thetext>Created attachment 49752
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194828</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-01 14:30:20 -0800</bug_when>
    <thetext>For the curious: it turns out that the invoke call that is done by handleCallback may fail, and return before it has initialized the browserResult variant to anything that makes sense. As it happens, in 64 bits Linux the variable ended up being considered to be of type string, but obviously failed to have a correctly malloc&apos;ed string as the data, so free was called in unrelated memory, causing the corruption.

As to why my fix to parseDataUrl exposed the problem, the URL notification was the cause for the call that calls invoke. Since we were not setting an URL in the response, no notification happened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194829</commentid>
    <comment_count>7</comment_count>
      <attachid>49752</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-01 14:35:50 -0800</bug_when>
    <thetext>Comment on attachment 49752
proposed fix

I wonder how many other cases of unconditional release we have?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194832</commentid>
    <comment_count>8</comment_count>
      <attachid>49754</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-01 14:46:23 -0800</bug_when>
    <thetext>Created attachment 49754
only release the variant when invoke succeeds

Applying the fix to all places where it&apos;s needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194852</commentid>
    <comment_count>9</comment_count>
      <attachid>49754</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-01 15:49:36 -0800</bug_when>
    <thetext>Comment on attachment 49754
only release the variant when invoke succeeds

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194888</commentid>
    <comment_count>10</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-03-01 17:36:28 -0800</bug_when>
    <thetext>Landed as r55392.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49752</attachid>
            <date>2010-03-01 14:22:23 -0800</date>
            <delta_ts>2010-03-01 14:46:23 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>0001-Check-the-return-value-of-invoke-before-releasing-th.patch</filename>
            <type>text/plain</type>
            <size>3391</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA4NmIzYjIyZTM5MzkyZGM0ZDY4OTE3ZTI4OTUwNjIwMjBiYmZjMGUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IE1vbiwgMSBNYXIgMjAxMCAxOToyMToyMyAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIENo
ZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgaW52b2tlIGJlZm9yZSByZWxlYXNpbmcgdGhlIHZhcmlh
bnQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDEyICsrKysrKysrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQg
ICAgICAgICAgICAgICAgICAgfCAgICA0IC0tLS0KIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKysrKysrKysKIC4uLi9UZXN0TmV0
c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwICAgIHwgICAgNCArKy0tCiA0IGZp
bGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRh
N2IzZmUuLjhlYzA2YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0wMSAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBwbHVnaW5z
L3NldFByb3BlcnR5Lmh0bWwgZmFpbHMgb24gNjRiaXQgUmVsZWFzZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU0MjUKKworICAgICAgICBVbnNraXAg
dGhlIHRlc3RzIHRoYXQgZmFpbGVkIGFzIGEgY29uc2VxdWVuY2Ugb2YgdGhlIG1lbW9yeQorICAg
ICAgICBjb3JydXB0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisKIDIw
MTAtMDItMjcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmlu
ZGV4IDFjOWMzNzUuLmQ1NmNjMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNTkw
LDEwICszNTkwLDYgQEAgcGx1Z2lucy9tb3VzZS1ldmVudHMtZml4ZWRwb3MuaHRtbAogIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA1NjEKIHBsdWdpbnMvcHJpdmF0
ZS1icm93c2luZy1tb2RlLmh0bWwKIAotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzU0MjUKLXBsdWdpbnMvc2V0UHJvcGVydHkuaHRtbAotcGx1Z2lucy9yZXR1cm4t
ZXJyb3ItZnJvbS1uZXctc3RyZWFtLWRvZXNudC1pbnZva2UtZGVzdHJveS1zdHJlYW0uaHRtbAot
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDU2MQogcGx1Z2lu
cy9wcml2YXRlLWJyb3dzaW5nLW1vZGUuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzMxODAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCAwODYzZjAyLi44NDc1NGRjIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMDMtMDEgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8u
bm9yb25oYUBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0dUS10gcGx1Z2lucy9zZXRQcm9wZXJ0eS5odG1sIGZhaWxzIG9u
IDY0Yml0IFJlbGVhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM1NDI1CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVn
SW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwOgorICAgICAgICAoaGFuZGxlQ2FsbGJhY2spOiBD
aGVjayBpbnZva2UncyByZXR1cm4gY29kZSBiZWZvcmUgcmVsZWFzaW5nIHRoZQorICAgICAgICB2
YXJpYW50LCBzaW5jZSB0aGVyZSdzIGEgY2hhbmNlIGl0IHdvbid0IGJlIHByb3Blcmx5IGluaXRp
YWxpemVkLAorICAgICAgICBsZWFkaW5nIHRvIG1lbW9yeSBjb3JydXB0aW9uLCBpbiBzb21lIGNh
c2VzLgorCiAyMDEwLTAzLTAxICBDaHJpcyBKZXJkb25layAgPGNqZXJkb25la0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2lu
T2JqZWN0LmNwcAppbmRleCA4ZTI3OGY1Li5hOWI2Y2M4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3Qu
Y3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5z
dWJwcm9qL1BsdWdpbk9iamVjdC5jcHAKQEAgLTk0Nyw4ICs5NDcsOCBAQCB2b2lkIGhhbmRsZUNh
bGxiYWNrKFBsdWdpbk9iamVjdCogb2JqZWN0LCBjb25zdCBjaGFyICp1cmwsIE5QUmVhc29uIHJl
YXNvbiwgdm9pZAogICAgICAgICBOVUxMX1RPX05QVkFSSUFOVChhcmdzWzFdKTsKIAogICAgIE5Q
VmFyaWFudCBicm93c2VyUmVzdWx0OwotICAgIGJyb3dzZXItPmludm9rZShvYmplY3QtPm5wcCwg
d2luZG93U2NyaXB0T2JqZWN0LCBjYWxsYmFja0lkZW50aWZpZXIsIGFyZ3MsIDIsICZicm93c2Vy
UmVzdWx0KTsKLSAgICBicm93c2VyLT5yZWxlYXNldmFyaWFudHZhbHVlKCZicm93c2VyUmVzdWx0
KTsKKyAgICBpZiAoYnJvd3Nlci0+aW52b2tlKG9iamVjdC0+bnBwLCB3aW5kb3dTY3JpcHRPYmpl
Y3QsIGNhbGxiYWNrSWRlbnRpZmllciwgYXJncywgMiwgJmJyb3dzZXJSZXN1bHQpKQorICAgICAg
ICBicm93c2VyLT5yZWxlYXNldmFyaWFudHZhbHVlKCZicm93c2VyUmVzdWx0KTsKIAogICAgIGZy
ZWUoc3RySGRyKTsKIH0KLS0gCjEuNi42LjIKCg==
</data>
<flag name="review"
          id="32710"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="32711"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49754</attachid>
            <date>2010-03-01 14:46:23 -0800</date>
            <delta_ts>2010-03-01 15:49:36 -0800</delta_ts>
            <desc>only release the variant when invoke succeeds</desc>
            <filename>0001-Check-the-return-value-of-invoke-before-releasing-th.patch</filename>
            <type>text/plain</type>
            <size>6066</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA5MWQzNWI0YmY5NGJkYzBjMWI4ODRkZTk1MWZlMGQyZWNkZWU3Y2EwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IE1vbiwgMSBNYXIgMjAxMCAxOToyMToyMyAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIENo
ZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgaW52b2tlIGJlZm9yZSByZWxlYXNpbmcgdGhlIHZhcmlh
bnQKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDEyICsrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCAg
ICAgICAgICAgICAgICAgICB8ICAgIDQgLS0tCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysKIC4uLi9UZXN0
TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwICAgIHwgICAyMSArKysrKysr
KysrLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA0YTdiM2ZlLi44ZWMwNmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDMtMDEgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xs
YWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW0dUS10gcGx1Z2lucy9zZXRQcm9wZXJ0eS5odG1sIGZhaWxzIG9uIDY0Yml0IFJlbGVh
c2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NDI1
CisKKyAgICAgICAgVW5za2lwIHRoZSB0ZXN0cyB0aGF0IGZhaWxlZCBhcyBhIGNvbnNlcXVlbmNl
IG9mIHRoZSBtZW1vcnkKKyAgICAgICAgY29ycnVwdGlvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9Ta2lwcGVkOgorCiAyMDEwLTAyLTI3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAppbmRleCAxYzljMzc1Li5kNTZjYzA0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZApAQCAtMzU5MCwxMCArMzU5MCw2IEBAIHBsdWdpbnMvbW91c2UtZXZlbnRzLWZp
eGVkcG9zLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMw
NTYxCiBwbHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS5odG1sCiAKLSMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NDI1Ci1wbHVnaW5zL3NldFByb3BlcnR5Lmh0
bWwKLXBsdWdpbnMvcmV0dXJuLWVycm9yLWZyb20tbmV3LXN0cmVhbS1kb2VzbnQtaW52b2tlLWRl
c3Ryb3ktc3RyZWFtLmh0bWwKLQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzA1NjEKIHBsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLmh0bWwKICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTgwCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMDg2M2YwMi4u
MmE5MDVmMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEwLTAzLTAxICBHdXN0YXZvIE5vcm9u
aGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIHBsdWdpbnMvc2V0UHJv
cGVydHkuaHRtbCBmYWlscyBvbiA2NGJpdCBSZWxlYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTQyNQorCisgICAgICAgIENoZWNrIGludm9rZSdz
IHJldHVybiBjb2RlIGJlZm9yZSByZWxlYXNpbmcgdGhlIHZhcmlhbnQsIHNpbmNlCisgICAgICAg
IHRoZXJlJ3MgYSBjaGFuY2UgaXQgd29uJ3QgYmUgcHJvcGVybHkgaW5pdGlhbGl6ZWQsIGxlYWRp
bmcgdG8KKyAgICAgICAgbWVtb3J5IGNvcnJ1cHRpb24sIGluIHNvbWUgY2FzZXMuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmpl
Y3QuY3BwOgorICAgICAgICAodGVzdENhbGxiYWNrKToKKyAgICAgICAgKHRlc3RFbnVtZXJhdGUp
OgorICAgICAgICAodGVzdERvY3VtZW50T3Blbik6CisgICAgICAgICh0ZXN0V2luZG93T3Blbik6
CisgICAgICAgIChoYW5kbGVDYWxsYmFjayk6CisKIDIwMTAtMDMtMDEgIENocmlzIEplcmRvbmVr
ICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9q
L1BsdWdpbk9iamVjdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2Nh
cGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuY3BwCmluZGV4IDhlMjc4ZjUuLmVhMTMwYzIg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi5zdWJwcm9qL1BsdWdpbk9iamVjdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmNwcApAQCAtMSw2ICsx
LDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBl
dGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQ29sbGFib3JhIEx0ZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDA1LDggKzQwNiw4IEBAIHN0YXRpYyBib29s
IHRlc3RDYWxsYmFjayhQbHVnaW5PYmplY3QqIG9iaiwgY29uc3QgTlBWYXJpYW50KiBhcmdzLCB1
aW50MzJfdCBhcmdDCiAgICAgZnJlZShjYWxsYmFja1N0cmluZyk7CiAKICAgICBOUFZhcmlhbnQg
YnJvd3NlclJlc3VsdDsKLSAgICBicm93c2VyLT5pbnZva2Uob2JqLT5ucHAsIHdpbmRvd1Njcmlw
dE9iamVjdCwgY2FsbGJhY2tJZGVudGlmaWVyLCAwLCAwLCAmYnJvd3NlclJlc3VsdCk7Ci0gICAg
YnJvd3Nlci0+cmVsZWFzZXZhcmlhbnR2YWx1ZSgmYnJvd3NlclJlc3VsdCk7CisgICAgaWYgKGJy
b3dzZXItPmludm9rZShvYmotPm5wcCwgd2luZG93U2NyaXB0T2JqZWN0LCBjYWxsYmFja0lkZW50
aWZpZXIsIDAsIDAsICZicm93c2VyUmVzdWx0KSkKKyAgICAgICAgYnJvd3Nlci0+cmVsZWFzZXZh
cmlhbnR2YWx1ZSgmYnJvd3NlclJlc3VsdCk7CiAKICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0
KHdpbmRvd1NjcmlwdE9iamVjdCk7CiAgICAgCkBAIC01MTksOCArNTIwLDggQEAgc3RhdGljIGJv
b2wgdGVzdEVudW1lcmF0ZShQbHVnaW5PYmplY3QqIG9iaiwgY29uc3QgTlBWYXJpYW50KiBhcmdz
LCB1aW50MzJfdCBhcmcKICAgICAgICAgICAgIE5QVmFyaWFudCBhcmdzWzFdOwogICAgICAgICAg
ICAgU1RSSU5HWl9UT19OUFZBUklBTlQoc3RyaW5nLCBhcmdzWzBdKTsKICAgICAgICAgICAgIE5Q
VmFyaWFudCBicm93c2VyUmVzdWx0OwotICAgICAgICAgICAgYnJvd3Nlci0+aW52b2tlKG9iai0+
bnBwLCBvdXRBcnJheSwgcHVzaElkZW50aWZpZXIsIGFyZ3MsIDEsICZicm93c2VyUmVzdWx0KTsK
LSAgICAgICAgICAgIGJyb3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJmJyb3dzZXJSZXN1bHQp
OworICAgICAgICAgICAgaWYgKGJyb3dzZXItPmludm9rZShvYmotPm5wcCwgb3V0QXJyYXksIHB1
c2hJZGVudGlmaWVyLCBhcmdzLCAxLCAmYnJvd3NlclJlc3VsdCkpCisgICAgICAgICAgICAgICAg
YnJvd3Nlci0+cmVsZWFzZXZhcmlhbnR2YWx1ZSgmYnJvd3NlclJlc3VsdCk7CiAgICAgICAgICAg
ICBicm93c2VyLT5tZW1mcmVlKHN0cmluZyk7CiAgICAgICAgIH0KIApAQCAtNzIwLDggKzcyMSw4
IEBAIGJvb2wgdGVzdERvY3VtZW50T3BlbihOUFAgbnBwKQogICAgIFNUUklOR1pfVE9fTlBWQVJJ
QU5UKCJfYmxhbmsiLCBvcGVuQXJnc1sxXSk7CiAKICAgICBOUFZhcmlhbnQgcmVzdWx0OwotICAg
IGJyb3dzZXItPmludm9rZShucHAsIGRvY3VtZW50T2JqZWN0LCBvcGVuSWQsIG9wZW5BcmdzLCAy
LCAmcmVzdWx0KTsKLSAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KGRvY3VtZW50T2JqZWN0KTsK
KyAgICBpZiAoYnJvd3Nlci0+aW52b2tlKG5wcCwgZG9jdW1lbnRPYmplY3QsIG9wZW5JZCwgb3Bl
bkFyZ3MsIDIsICZyZXN1bHQpKQorICAgICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KGRvY3Vt
ZW50T2JqZWN0KTsKIAogICAgIGlmIChyZXN1bHQudHlwZSA9PSBOUFZhcmlhbnRUeXBlX09iamVj
dCkgewogICAgICAgICBwbHVnaW5Mb2dXaXRoV2luZG93T2JqZWN0VmFyaWFibGVBcmdzKHdpbmRv
d09iamVjdCwgbnBwLCAiRE9DVU1FTlQgT1BFTiBTVUNDRVNTIik7CkBAIC03NDcsOCArNzQ4LDgg
QEAgYm9vbCB0ZXN0V2luZG93T3BlbihOUFAgbnBwKQogICAgIFNUUklOR1pfVE9fTlBWQVJJQU5U
KCJfYmxhbmsiLCBvcGVuQXJnc1sxXSk7CiAKICAgICBOUFZhcmlhbnQgcmVzdWx0OwotICAgIGJy
b3dzZXItPmludm9rZShucHAsIHdpbmRvd09iamVjdCwgb3BlbklkLCBvcGVuQXJncywgMiwgJnJl
c3VsdCk7Ci0gICAgaWYgKHJlc3VsdC50eXBlID09IE5QVmFyaWFudFR5cGVfT2JqZWN0KSB7Cisg
ICAgYm9vbCBkaWRTdWNjZWVkID0gYnJvd3Nlci0+aW52b2tlKG5wcCwgd2luZG93T2JqZWN0LCBv
cGVuSWQsIG9wZW5BcmdzLCAyLCAmcmVzdWx0KTsKKyAgICBpZiAoZGlkU3VjY2VlZCAmJiAocmVz
dWx0LnR5cGUgPT0gTlBWYXJpYW50VHlwZV9PYmplY3QpKSB7CiAgICAgICAgIHBsdWdpbkxvZ1dp
dGhXaW5kb3dPYmplY3RWYXJpYWJsZUFyZ3Mod2luZG93T2JqZWN0LCBucHAsICJXSU5ET1cgT1BF
TiBTVUNDRVNTIik7CiAgICAgICAgIG5vdGlmeVRlc3RDb21wbGV0aW9uKG5wcCwgcmVzdWx0LnZh
bHVlLm9iamVjdFZhbHVlKTsKICAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdChyZXN1bHQu
dmFsdWUub2JqZWN0VmFsdWUpOwpAQCAtOTQ3LDggKzk0OCw4IEBAIHZvaWQgaGFuZGxlQ2FsbGJh
Y2soUGx1Z2luT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIgKnVybCwgTlBSZWFzb24gcmVhc29u
LCB2b2lkCiAgICAgICAgIE5VTExfVE9fTlBWQVJJQU5UKGFyZ3NbMV0pOwogCiAgICAgTlBWYXJp
YW50IGJyb3dzZXJSZXN1bHQ7Ci0gICAgYnJvd3Nlci0+aW52b2tlKG9iamVjdC0+bnBwLCB3aW5k
b3dTY3JpcHRPYmplY3QsIGNhbGxiYWNrSWRlbnRpZmllciwgYXJncywgMiwgJmJyb3dzZXJSZXN1
bHQpOwotICAgIGJyb3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJmJyb3dzZXJSZXN1bHQpOwor
ICAgIGlmIChicm93c2VyLT5pbnZva2Uob2JqZWN0LT5ucHAsIHdpbmRvd1NjcmlwdE9iamVjdCwg
Y2FsbGJhY2tJZGVudGlmaWVyLCBhcmdzLCAyLCAmYnJvd3NlclJlc3VsdCkpCisgICAgICAgIGJy
b3dzZXItPnJlbGVhc2V2YXJpYW50dmFsdWUoJmJyb3dzZXJSZXN1bHQpOwogCiAgICAgZnJlZShz
dHJIZHIpOwogfQotLSAKMS42LjYuMgoK
</data>
<flag name="review"
          id="32714"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="32715"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>