<?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>37801</bug_id>
          
          <creation_ts>2010-04-19 07:51:29 -0700</creation_ts>
          <short_desc>[v8] Do not pass empty handle into SetHiddenValue which would crash</short_desc>
          <delta_ts>2010-04-22 03:41:20 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="anton muhin">antonm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ager</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>214028</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-19 07:51:29 -0700</bug_when>
    <thetext>[v8] Do not pass empty handle into SetHiddenPrototype which would crash event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214029</commentid>
    <comment_count>1</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-19 07:53:06 -0700</bug_when>
    <thetext>Sample stack trace:

0x025ec87a	 [chrome.dll	 - handles.cc:217]	v8::internal::SetProperty(v8::internal::Handle&lt;v8::internal::JSObject&gt;,v8::internal::Handle&lt;v8::internal::String&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x0265d733	 [chrome.dll	 - runtime.cc:3799]	v8::internal::Runtime::SetObjectProperty(v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x025eb454	 [chrome.dll	 - objects.cc:6412]	v8::internal::JSObject::GetLocalPropertyPostInterceptor(v8::internal::JSObject *,v8::internal::String *,PropertyAttributes *)
0x025ec9fa	 [chrome.dll	 - handles.cc:226]	v8::internal::SetProperty(v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,v8::internal::Handle&lt;v8::internal::Object&gt;,PropertyAttributes)
0x025c7cd2	 [chrome.dll	 - api.cc:2393]	v8::Object::SetHiddenValue(v8::Handle&lt;v8::String&gt;,v8::Handle&lt;v8::Value&gt;)
0x025ccbff	 [chrome.dll	 - api.cc:3069]	v8::Context::Global()
0x01e62d06	 [chrome.dll	 - v8abstracteventlistener.cpp:140]	WebCore::V8AbstractEventListener::invokeEventHandler(WebCore::ScriptExecutionContext *,WebCore::Event *,v8::Handle&lt;v8::Value&gt;)
0x01e62bc5	 [chrome.dll	 - v8abstracteventlistener.cpp:90]	WebCore::V8AbstractEventListener::handleEvent(WebCore::ScriptExecutionContext *,WebCore::Event *)
0x01d3d0af	 [chrome.dll	 - eventtarget.cpp:315]	WebCore::EventTarget::fireEventListeners(WebCore::Event *,WebCore::EventTargetData *,WTF::Vector&lt;WebCore::RegisteredEventListener,1&gt; &amp;)
0x01d3cfa7	 [chrome.dll	 - eventtarget.cpp:276]	WebCore::EventTarget::fireEventListeners(WebCore::Event *)
0x01c9161d	 [chrome.dll	 - node.cpp:2665]	WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c913b4	 [chrome.dll	 - node.cpp:2567]	WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c91c2f	 [chrome.dll	 - node.cpp:2859]	WebCore::Node::dispatchMouseEvent(WebCore::AtomicString const &amp;,int,int,int,int,int,int,bool,bool,bool,bool,bool,WebCore::Node *,WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c918ef	 [chrome.dll	 - node.cpp:2768]	WebCore::Node::dispatchMouseEvent(WebCore::PlatformMouseEvent const &amp;,WebCore::AtomicString const &amp;,int,WebCore::Node *)
0x01cc7f62	 [chrome.dll	 - eventhandler.cpp:1782]	WebCore::EventHandler::dispatchMouseEvent(WebCore::AtomicString const &amp;,WebCore::Node *,bool,int,WebCore::PlatformMouseEvent const &amp;,bool)
0x01cc758f	 [chrome.dll	 - eventhandler.cpp:1451]	WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const &amp;,WebCore::HitTestResult *)
0x01cc71cc	 [chrome.dll	 - eventhandler.cpp:1338]	WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const &amp;)
0x01e91478	 [chrome.dll	 - webviewimpl.cpp:308]	WebKit::WebViewImpl::mouseMove(WebKit::WebMouseEvent const &amp;)
0x01e9227c	 [chrome.dll	 - webviewimpl.cpp:1015]	WebKit::WebViewImpl::handleInputEvent(WebKit::WebInputEvent const &amp;)
0x02012952	 [chrome.dll	 - render_widget.cc:315]	RenderWidget::OnHandleInputEvent(IPC::Message const &amp;)
0x0201257c	 [chrome.dll	 - render_widget.cc:147]	RenderWidget::OnMessageReceived(IPC::Message const &amp;)
0x01fe857c	 [chrome.dll	 - render_view.cc:643]	RenderView::OnMessageReceived(IPC::Message const &amp;)
0x022687fa	 [chrome.dll	 - message_router.cc:40]	MessageRouter::RouteMessage(IPC::Message const &amp;)
0x022687d4	 [chrome.dll	 - message_router.cc:31]	MessageRouter::OnMessageReceived(IPC::Message const &amp;)
0x0226749a	 [chrome.dll	 - child_thread.cc:146]	ChildThread::OnMessageReceived(IPC::Message const &amp;)
0x02153270	 [chrome.dll	 - task.h:296]	RunnableMethod&lt;CancelableRequest&lt;CallbackRunner&lt;Tuple0&gt; &gt;,void ( CancelableRequest&lt;CallbackRunner&lt;Tuple0&gt; &gt;::*)(Tuple0 const &amp;),Tuple1&lt;Tuple0&gt; &gt;::Run()
0x01fc2b6f	 [chrome.dll	 - message_loop.cc:329]	MessageLoop::RunTask(Task *)
0x01fc2bac	 [chrome.dll	 - message_loop.cc:337]	MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const &amp;)
0x01fc2d42	 [chrome.dll	 - message_loop.cc:444]	MessageLoop::DoWork()
0x01fd321f	 [chrome.dll	 - message_pump_default.cc:50]	base::MessagePumpDefault::Run(base::MessagePump::Delegate *)
...... (23 stack frames dropped.)
0x01d8cc4b	 [chrome.dll	 - v8proxy.cpp:492]	WebCore::V8Proxy::callFunction(v8::Handle&lt;v8::Function&gt;,v8::Handle&lt;v8::Object&gt;,int,v8::Handle&lt;v8::Value&gt; * const)
0x01d8afbb	 [chrome.dll	 - v8domwrapper.cpp:385]	WebCore::V8DOMWrapper::convertEventTargetToV8Object(WebCore::EventTarget *)
0x01d35272	 [chrome.dll	 - scriptcontrollerbase.cpp:41]	WebCore::ScriptController::canExecuteScripts(WebCore::ReasonForCallingCanExecuteScripts)
0x01e2e980	 [chrome.dll	 - v8lazyeventlistener.cpp:69]	WebCore::V8LazyEventListener::callListenerFunction(WebCore::ScriptExecutionContext *,v8::Handle&lt;v8::Value&gt;,WebCore::Event *)
0x01e62d24	 [chrome.dll	 - v8abstracteventlistener.cpp:144]	WebCore::V8AbstractEventListener::invokeEventHandler(WebCore::ScriptExecutionContext *,WebCore::Event *,v8::Handle&lt;v8::Value&gt;)
0x023577bd	 [chrome.dll	 - v8mouseevent.cpp:435]	WebCore::toV8(WebCore::MouseEvent *)
0x01e62bc5	 [chrome.dll	 - v8abstracteventlistener.cpp:90]	WebCore::V8AbstractEventListener::handleEvent(WebCore::ScriptExecutionContext *,WebCore::Event *)
0x01d9faff	 [chrome.dll	 - svgfilterbuilder.cpp:62]	WebCore::SVGFilterBuilder::getEffectById(WebCore::AtomicString const &amp;)
0x01d3d0af	 [chrome.dll	 - eventtarget.cpp:315]	WebCore::EventTarget::fireEventListeners(WebCore::Event *,WebCore::EventTargetData *,WTF::Vector&lt;WebCore::RegisteredEventListener,1&gt; &amp;)
0x01d3cfa7	 [chrome.dll	 - eventtarget.cpp:276]	WebCore::EventTarget::fireEventListeners(WebCore::Event *)
0x01c91297	 [chrome.dll	 - node.cpp:2504]	WebCore::Node::handleLocalEvents(WebCore::Event *)
0x01c915b1	 [chrome.dll	 - node.cpp:2647]	WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c913b4	 [chrome.dll	 - node.cpp:2567]	WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c91c2f	 [chrome.dll	 - node.cpp:2859]	WebCore::Node::dispatchMouseEvent(WebCore::AtomicString const &amp;,int,int,int,int,int,int,bool,bool,bool,bool,bool,WebCore::Node *,WTF::PassRefPtr&lt;WebCore::Event&gt;)
0x01c918ef	 [chrome.dll	 - node.cpp:2768]	WebCore::Node::dispatchMouseEvent(WebCore::PlatformMouseEvent const &amp;,WebCore::AtomicString const &amp;,int,WebCore::Node *)
0x01c5b1ff	 [chrome.dll	 - atomicstring.cpp:241]	WebCore::AtomicString::lower()
0x01c5b1ff	 [chrome.dll	 - atomicstring.cpp:241]	WebCore::AtomicString::lower()
0x01cc7f62	 [chrome.dll	 - eventhandler.cpp:1782]	WebCore::EventHandler::dispatchMouseEvent(WebCore::AtomicString const &amp;,WebCore::Node *,bool,int,WebCore::PlatformMouseEvent const &amp;,bool)
0x01cc7803	 [chrome.dll	 - eventhandler.cpp:1511]	WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const &amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214030</commentid>
    <comment_count>2</comment_count>
      <attachid>53679</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-19 07:55:15 -0700</bug_when>
    <thetext>Created attachment 53679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214031</commentid>
    <comment_count>3</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-19 07:57:06 -0700</bug_when>
    <thetext>Those crashes are relatively rare, but given https://bugs.webkit.org/show_bug.cgi?id=37661 I am starting to wonder if we could tolerate empty handles in v8?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214178</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2010-04-19 12:41:32 -0700</bug_when>
    <thetext>This change looks fine, but should we add a layout test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214242</commentid>
    <comment_count>5</comment_count>
      <attachid>53679</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-19 14:13:48 -0700</bug_when>
    <thetext>Comment on attachment 53679
Patch

This is better than crashing, but do we understand how we end up with a null handle here? I&apos;m wondering whether not invoking the handler is the right behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214656</commentid>
    <comment_count>6</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-20 07:45:01 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 53679 [details])
&gt; This is better than crashing, but do we understand how we end up with a null
&gt; handle here? I&apos;m wondering whether not invoking the handler is the right
&gt; behavior.

Alas, I don&apos;t have an easy repro case for that and thus cannot add layout test, nor don&apos;t know for sure why we get null handle here.

Regarding if not invoking a handler is a right approach.  Quite agree, but once again that seems the best solution so far.

If you like, as an alternative we could try to do the following: this or similar bug is reproducible on bots.  So I could temporary patch the code to try to gather what goes on.

Thoughts?

Not submitting for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214847</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-20 12:19:19 -0700</bug_when>
    <thetext>Maybe an assert so we can catch this in debug builds?  That also documents that were not sold on null handles being correct here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215264</commentid>
    <comment_count>8</comment_count>
      <attachid>53945</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 05:41:58 -0700</bug_when>
    <thetext>Created attachment 53945
Add an assert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215265</commentid>
    <comment_count>9</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 05:44:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Maybe an assert so we can catch this in debug builds?  That also documents that
&gt; were not sold on null handles being correct here.

I&apos;ve attempted to add an assert.

My concerns:

1) if my analysis is correct, we&apos;ll just die in debug builds (but benefit is we could verify the hypothesis)

2) beyond verifying the hypothesis, it won&apos;t allow us to understand why it empty here.

If we want to understand what goes here, I&apos;d inline toV8 method here and see why we take a branch returning empty handle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215331</commentid>
    <comment_count>10</comment_count>
      <attachid>53945</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-21 08:18:28 -0700</bug_when>
    <thetext>Comment on attachment 53945
Add an assert

Ok.  The main goal is to figure out why we&apos;re getting a null handle if you don&apos;t think the assert is helpful, feel free to land the earlier version.  (Also, your change log is out of date.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215401</commentid>
    <comment_count>11</comment_count>
      <attachid>53970</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 10:53:27 -0700</bug_when>
    <thetext>Created attachment 53970
Next iteration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215402</commentid>
    <comment_count>12</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 10:55:25 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 53945 [details])
&gt; Ok.  The main goal is to figure out why we&apos;re getting a null handle if you
&gt; don&apos;t think the assert is helpful, feel free to land the earlier version. 
&gt; (Also, your change log is out of date.)

Adam, no, I think asserts (almost) never hurt :)

I&apos;ve added another one---if it triggers, we&apos;ll know for sure why we get empty handle here.

And, sorry, what&apos;s wrong with change log?  No reference to handleEvent method?  If yes, I&apos;ve fixed that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215438</commentid>
    <comment_count>13</comment_count>
      <attachid>53970</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-21 11:56:21 -0700</bug_when>
    <thetext>Comment on attachment 53970
Next iteration

Great.  Thanks for iterating on this patch.  Yeah, the change log was missing the line for the newer function you modified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215439</commentid>
    <comment_count>14</comment_count>
      <attachid>53970</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-04-21 11:57:34 -0700</bug_when>
    <thetext>Comment on attachment 53970
Next iteration

Thanks a lot for review, Adam, cq+&apos;ing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215811</commentid>
    <comment_count>15</comment_count>
      <attachid>53970</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-22 03:41:14 -0700</bug_when>
    <thetext>Comment on attachment 53970
Next iteration

Clearing flags on attachment: 53970

Committed r58084: &lt;http://trac.webkit.org/changeset/58084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215812</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-22 03:41:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53679</attachid>
            <date>2010-04-19 07:55:15 -0700</date>
            <delta_ts>2010-04-21 05:41:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37801-20100419185513.patch</filename>
            <type>text/plain</type>
            <size>1351</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTAzM2Y1NC4uMjc1MWRlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNC0xOSAgQW50b24gTXVoaW4g
IDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFt2OF0gRG8gbm90IHBhc3MgZW1wdHkgaGFuZGxlIGludG8gU2V0SGlk
ZGVuVmFsdWUgd2hpY2ggd291bGQgY3Jhc2guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzgwMQorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhBYnN0cmFjdEV2ZW50
TGlzdGVuZXI6Omludm9rZUV2ZW50SGFuZGxlcik6IGJhaWwgb3V0IG9mIGpzRXZlbnQgaXMgZW1w
dHkgaGFuZGxlCisKIDIwMTAtMDQtMTYgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFF0V2ViS2l0ICh3aXRoIFF0IDQuNykgYnVpbGQg
Zml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0
ZW5lci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNw
cAppbmRleCA2ZGMyYjI5Li41MjEwNzVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcApAQCAtMTE0LDYgKzExNCw5IEBAIHZvaWQgVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXI6OnNldExpc3RlbmVyT2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gbGlzdGVuZXIpCiAKIHZvaWQgVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2ZW50
SGFuZGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFdmVudCogZXZlbnQsIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50KQogeworICAgIC8vIElmIGpzRXZlbnQgaXMgZW1w
dHksIGF0dGVtcHQgdG8gc2V0IGl0IGFzIGEgaGlkZGVuIHZhbHVlIHdvdWxkIGNyYXNoIHY4Lgor
ICAgIGlmIChqc0V2ZW50LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgdjg6Okxv
Y2FsPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB0b1Y4Q29udGV4dChjb250ZXh0LCB3b3JsZENv
bnRleHQoKSk7CiAgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53945</attachid>
            <date>2010-04-21 05:41:58 -0700</date>
            <delta_ts>2010-04-21 10:53:20 -0700</delta_ts>
            <desc>Add an assert</desc>
            <filename>bug-37801-20100421164156.patch</filename>
            <type>text/plain</type>
            <size>1639</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTAzM2Y1NC4uMjc1MWRlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNC0xOSAgQW50b24gTXVoaW4g
IDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFt2OF0gRG8gbm90IHBhc3MgZW1wdHkgaGFuZGxlIGludG8gU2V0SGlk
ZGVuVmFsdWUgd2hpY2ggd291bGQgY3Jhc2guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzgwMQorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhBYnN0cmFjdEV2ZW50
TGlzdGVuZXI6Omludm9rZUV2ZW50SGFuZGxlcik6IGJhaWwgb3V0IG9mIGpzRXZlbnQgaXMgZW1w
dHkgaGFuZGxlCisKIDIwMTAtMDQtMTYgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFF0V2ViS2l0ICh3aXRoIFF0IDQuNykgYnVpbGQg
Zml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0
ZW5lci5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNw
cAppbmRleCA2ZGMyYjI5Li4zOTgyZWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcApAQCAtODYsNiArODYsNyBAQCB2b2lkIFY4QWJzdHJh
Y3RFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFdmVudAogCiAgICAgLy8gR2V0IHRoZSBWOCB3cmFwcGVyIGZvciB0aGUgZXZlbnQgb2Jq
ZWN0LgogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50ID0gdG9WOChldmVudCk7Cisg
ICAgQVNTRVJUKCFqc0V2ZW50LklzRW1wdHkoKSk7CiAKICAgICBpbnZva2VFdmVudEhhbmRsZXIo
Y29udGV4dCwgZXZlbnQsIGpzRXZlbnQpOwogfQpAQCAtMTE0LDYgKzExNSw5IEBAIHZvaWQgVjhB
YnN0cmFjdEV2ZW50TGlzdGVuZXI6OnNldExpc3RlbmVyT2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gbGlzdGVuZXIpCiAKIHZvaWQgVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2
ZW50SGFuZGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFdmVudCogZXZlbnQs
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50KQogeworICAgIC8vIElmIGpzRXZlbnQgaXMg
ZW1wdHksIGF0dGVtcHQgdG8gc2V0IGl0IGFzIGEgaGlkZGVuIHZhbHVlIHdvdWxkIGNyYXNoIHY4
LgorICAgIGlmIChqc0V2ZW50LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgdjg6
OkxvY2FsPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB0b1Y4Q29udGV4dChjb250ZXh0LCB3b3Js
ZENvbnRleHQoKSk7CiAgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53970</attachid>
            <date>2010-04-21 10:53:27 -0700</date>
            <delta_ts>2010-04-22 03:41:13 -0700</delta_ts>
            <desc>Next iteration</desc>
            <filename>bug-37801-20100421215325.patch</filename>
            <type>text/plain</type>
            <size>2149</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTAzM2Y1NC4uOTFlMGIxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNC0yMSAgQW50b24gTXVoaW4g
IDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFt2OF0gRG8gbm90IHBhc3MgZW1wdHkgaGFuZGxlIGludG8gU2V0SGlk
ZGVuVmFsdWUgd2hpY2ggd291bGQgY3Jhc2guCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzgwMQorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhBYnN0cmFjdEV2ZW50
TGlzdGVuZXI6OmhhbmRsZUV2ZW50KTogYWRkIGNvdXBsZSBvZiBhc3NlcnRzIHRvIGNoZWNrIGZv
ciB1bmV4cGVjdGVkIHBhdGhzCisgICAgICAgIChXZWJDb3JlOjpWOEFic3RyYWN0RXZlbnRMaXN0
ZW5lcjo6aW52b2tlRXZlbnRIYW5kbGVyKTogYmFpbCBvdXQgb2YganNFdmVudCBpcyBlbXB0eSBo
YW5kbGUKKwogMjAxMC0wNC0xNiAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgUXRXZWJLaXQgKHdpdGggUXQgNC43KSBidWlsZCBmaXgu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVy
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCmlu
ZGV4IDZkYzJiMjkuLmI2YzUzZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhB
YnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXIuY3BwCkBAIC03MSw2ICs3MSw4IEBAIFY4QWJzdHJhY3RFdmVudExp
c3RlbmVyOjp+VjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIoKQogCiB2b2lkIFY4QWJzdHJhY3RFdmVu
dExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBF
dmVudCogZXZlbnQpCiB7CisgICAgQVNTRVJUKGV2ZW50KTsKKwogICAgIC8vIFRoZSBjYWxsYmFj
ayBmdW5jdGlvbiBvbiBYTUxIdHRwUmVxdWVzdCBjYW4gY2xlYXIgdGhlIGV2ZW50IGxpc3RlbmVy
IGFuZCBkZXN0cm95cyAndGhpcycgb2JqZWN0LiBLZWVwIGEgbG9jYWwgcmVmZXJlbmNlIHRvIGl0
LgogICAgIC8vIFNlZSBpc3N1ZSA4ODk4MjkuCiAgICAgUmVmUHRyPFY4QWJzdHJhY3RFdmVudExp
c3RlbmVyPiBwcm90ZWN0KHRoaXMpOwpAQCAtODYsNiArODgsNyBAQCB2b2lkIFY4QWJzdHJhY3RF
dmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFdmVudAogCiAgICAgLy8gR2V0IHRoZSBWOCB3cmFwcGVyIGZvciB0aGUgZXZlbnQgb2JqZWN0
LgogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50ID0gdG9WOChldmVudCk7CisgICAg
QVNTRVJUKCFqc0V2ZW50LklzRW1wdHkoKSk7CiAKICAgICBpbnZva2VFdmVudEhhbmRsZXIoY29u
dGV4dCwgZXZlbnQsIGpzRXZlbnQpOwogfQpAQCAtMTE0LDYgKzExNyw5IEBAIHZvaWQgVjhBYnN0
cmFjdEV2ZW50TGlzdGVuZXI6OnNldExpc3RlbmVyT2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gbGlzdGVuZXIpCiAKIHZvaWQgVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2ZW50
SGFuZGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFdmVudCogZXZlbnQsIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBqc0V2ZW50KQogeworICAgIC8vIElmIGpzRXZlbnQgaXMgZW1w
dHksIGF0dGVtcHQgdG8gc2V0IGl0IGFzIGEgaGlkZGVuIHZhbHVlIHdvdWxkIGNyYXNoIHY4Lgor
ICAgIGlmIChqc0V2ZW50LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgdjg6Okxv
Y2FsPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB0b1Y4Q29udGV4dChjb250ZXh0LCB3b3JsZENv
bnRleHQoKSk7CiAgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5KCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>