<?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>101135</bug_id>
          
          <creation_ts>2012-11-02 17:42:35 -0700</creation_ts>
          <short_desc>[EFL] Remove redundant pipe write to prevent pipe buffer full.</short_desc>
          <delta_ts>2012-12-13 03:01:19 -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>WebKit EFL</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>
          <dependson>101132</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Byungwoo Lee">bw80.lee</reporter>
          <assigned_to name="Byungwoo Lee">bw80.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>levin+threading</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>seokju.kwon</cc>
    
    <cc>seokju</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>757798</commentid>
    <comment_count>0</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-02 17:42:35 -0700</bug_when>
    <thetext>EFL uses ecore_pipe_write() to wake up main run loop,
and the function uses pipe write with O_NONBLOCK disabled.

With O_NONBLOCK disabled, when written data is more than PIPE_BUF,
pipe write will block until it can be written. (according to the pipe() man page)

Currently, wakeUp() always write pipe to wake up.
But if wake up is already requested and not did, additional pipe write is not needed.

This redundant pipe write makes pipe buffer full status.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757852</commentid>
    <comment_count>1</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-02 19:18:42 -0700</bug_when>
    <thetext>To make this patch, Bug 101132 is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757924</commentid>
    <comment_count>2</comment_count>
      <attachid>172213</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-03 02:33:01 -0700</bug_when>
    <thetext>Created attachment 172213
Patch

Waiting for Bug 101132</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760447</commentid>
    <comment_count>3</comment_count>
      <attachid>172729</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-07 00:59:03 -0800</bug_when>
    <thetext>Created attachment 172729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760452</commentid>
    <comment_count>4</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-07 01:04:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=172729) [details]
&gt; Patch

Made separate patch that can be applied without Bug 101132 and Bug 98580.

I tested layout test and API test.
There was no regression with this patch.

This will solve lockup problem described in Bug 99494 which is resolved as duplicated with bug 98580.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769975</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-17 11:48:39 -0800</bug_when>
    <thetext>Byungwoo, I&apos;m hitting a deadlock when implementing modal dialog support in EFL WK2. It seems related to what you&apos;re fixing. However, I have tried applying both your patches and the deadlock is still here. Could you please look into it?

I&apos;m going to upload a patch to help reproduce the deadlock. Here is the procedure:
1. Apply the deadlock patch I&apos;m uploading (it already contains both your fixes)
2. Build WebKit EFL with &quot;--no-tiled-backing-store&quot; (to make sure the issue is not related to accelerated compositing)
3. Open the following page with MiniBrowser: http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialogLaunch.htm
4. Click on the &quot;Click to show modal dialog&quot; button

This will open a new window and hit the deadlock. Input in that window (and the parent one) is ignored, and resizing the window will make it black.

If you look at WebPage::runModal() (in WebProcess/WebPage), it send the runModal message to the UIProcess then call RunLoop::run(). When RunLoop::run() is called, we&apos;re stuck.

I&apos;m not sure it is related to your problem but it seemed related so I thought I would mention it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769978</commentid>
    <comment_count>6</comment_count>
      <attachid>174823</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-17 11:49:29 -0800</bug_when>
    <thetext>Created attachment 174823
Patch to reproduce deadlock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770107</commentid>
    <comment_count>7</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-18 03:27:22 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Byungwoo, I&apos;m hitting a deadlock when implementing modal dialog support in EFL WK2. It seems related to what you&apos;re fixing. However, I have tried applying both your patches and the deadlock is still here. Could you please look into it?
&gt; 
&gt; I&apos;m going to upload a patch to help reproduce the deadlock. Here is the procedure:
&gt; 1. Apply the deadlock patch I&apos;m uploading (it already contains both your fixes)
&gt; 2. Build WebKit EFL with &quot;--no-tiled-backing-store&quot; (to make sure the issue is not related to accelerated compositing)
&gt; 3. Open the following page with MiniBrowser: http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialogLaunch.htm
&gt; 4. Click on the &quot;Click to show modal dialog&quot; button
&gt; 
&gt; This will open a new window and hit the deadlock. Input in that window (and the parent one) is ignored, and resizing the window will make it black.
&gt; 
&gt; If you look at WebPage::runModal() (in WebProcess/WebPage), it send the runModal message to the UIProcess then call RunLoop::run(). When RunLoop::run() is called, we&apos;re stuck.
&gt; 
&gt; I&apos;m not sure it is related to your problem but it seemed related so I thought I would mention it here.


I checked the reproduce step and I could meet the lockup.

But the internal status is different with the problem that can be solved with this patch.

I found below with the reproduce step.
1. WebProcess IPC Thread received IPC messages from UIProcess.
2. WebProcess IPC Thread pushed work item to the RunLoop work queue and called RunLoop::wakeUp() function.
3. RunLoop::wakeUp() function is successfully finished.
4. The pipe callback (RunLoop::wakeUpEvent()) is not called.

I think that the lockup that you shared is a different issue that this patch focuses.
(I&apos;m not sure but it seems related with the nested ecore main loop, )

The lockup problem of this patch is that, both RunLoop::wakeUp() function and RunLoop::wakeUpEvent() are not finished because of some deadlock between the pipe buffer full status and work queue mutex lock.

But The lockup problem of modal is that, main loop is not wakeup after the RunLoop::wakeUp() is called successfully. (more clearly, ecore pipe callback function is not called after the ecore_pipe_write())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770113</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-18 05:16:58 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; Byungwoo, I&apos;m hitting a deadlock when implementing modal dialog support in EFL WK2. It seems related to what you&apos;re fixing. However, I have tried applying both your patches and the deadlock is still here. Could you please look into it?
&gt; &gt; 
&gt; &gt; I&apos;m going to upload a patch to help reproduce the deadlock. Here is the procedure:
&gt; &gt; 1. Apply the deadlock patch I&apos;m uploading (it already contains both your fixes)
&gt; &gt; 2. Build WebKit EFL with &quot;--no-tiled-backing-store&quot; (to make sure the issue is not related to accelerated compositing)
&gt; &gt; 3. Open the following page with MiniBrowser: http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialogLaunch.htm
&gt; &gt; 4. Click on the &quot;Click to show modal dialog&quot; button
&gt; &gt; 
&gt; &gt; This will open a new window and hit the deadlock. Input in that window (and the parent one) is ignored, and resizing the window will make it black.
&gt; &gt; 
&gt; &gt; If you look at WebPage::runModal() (in WebProcess/WebPage), it send the runModal message to the UIProcess then call RunLoop::run(). When RunLoop::run() is called, we&apos;re stuck.
&gt; &gt; 
&gt; &gt; I&apos;m not sure it is related to your problem but it seemed related so I thought I would mention it here.
&gt; 
&gt; 
&gt; I checked the reproduce step and I could meet the lockup.
&gt; 
&gt; But the internal status is different with the problem that can be solved with this patch.
&gt; 
&gt; I found below with the reproduce step.
&gt; 1. WebProcess IPC Thread received IPC messages from UIProcess.
&gt; 2. WebProcess IPC Thread pushed work item to the RunLoop work queue and called RunLoop::wakeUp() function.
&gt; 3. RunLoop::wakeUp() function is successfully finished.
&gt; 4. The pipe callback (RunLoop::wakeUpEvent()) is not called.
&gt; 
&gt; I think that the lockup that you shared is a different issue that this patch focuses.
&gt; (I&apos;m not sure but it seems related with the nested ecore main loop, )
&gt; 
&gt; The lockup problem of this patch is that, both RunLoop::wakeUp() function and RunLoop::wakeUpEvent() are not finished because of some deadlock between the pipe buffer full status and work queue mutex lock.
&gt; 
&gt; But The lockup problem of modal is that, main loop is not wakeup after the RunLoop::wakeUp() is called successfully. (more clearly, ecore pipe callback function is not called after the ecore_pipe_write())

Ok, thanks a lot for looking into it Byungwoo! This is very useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770115</commentid>
    <comment_count>9</comment_count>
      <attachid>172729</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-11-18 05:27:14 -0800</bug_when>
    <thetext>Comment on attachment 172729
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=172729&amp;action=review

&gt; Source/WebCore/platform/efl/RunLoopEfl.cpp:101
&gt; +    static_cast&lt;RunLoop*&gt;(data)-&gt;m_wakeUpEventRequested = false;

Isn&apos;t there a thread safety problem here? wakeUp() can be called from any thread and it updates m_wakeUpEventRequested flag, wakeUpEvent() is executed in the main thread and updates the same flag. Looks to me like m_wakeUpEventRequested should be mutex protected. Please correct me if I&apos;m wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770238</commentid>
    <comment_count>10</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-11-18 17:24:53 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 172729 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=172729&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/efl/RunLoopEfl.cpp:101
&gt; &gt; +    static_cast&lt;RunLoop*&gt;(data)-&gt;m_wakeUpEventRequested = false;
&gt; 
&gt; Isn&apos;t there a thread safety problem here? wakeUp() can be called from any thread and it updates m_wakeUpEventRequested flag, wakeUpEvent() is executed in the main thread and updates the same flag. Looks to me like m_wakeUpEventRequested should be mutex protected. Please correct me if I&apos;m wrong.

Yes!
For the standard procedure, adding mutex lock for m_wakeUpEventRequested will be better to ensure thread-safety. (mutex name might be m_wakeUpEventRequestedLock)

Actually, thread-safety of the wakeUp() is handled in Bug 101132.
So if this patch is landed first, I&apos;ll rebase the Bug 101132 accordingly.

Ideally, this patch should protect all the redundant pipe write if there is a former pipe write that is not processed.
But as you mentioned, multiple thread can access the flag at one time and this can make some unintended status.

But fortunately, clearing the flag is happened only on thread (main run loop thread).
So at worst, the maximum number of redundant pipe write will be a number of threads that calls wakeUp() function.

Without the locking for the m_wakeUpEventRequested, this patch will work at most cases. but for the perfection, adding locker for the flag is needed.

Thanks for pointing this :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788490</commentid>
    <comment_count>11</comment_count>
      <attachid>178817</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-12-11 09:02:34 -0800</bug_when>
    <thetext>Created attachment 178817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788492</commentid>
    <comment_count>12</comment_count>
      <attachid>178817</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-12-11 09:05:50 -0800</bug_when>
    <thetext>Comment on attachment 178817
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790370</commentid>
    <comment_count>13</comment_count>
      <attachid>178817</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-13 00:33:09 -0800</bug_when>
    <thetext>Comment on attachment 178817
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=178817&amp;action=review

This patch is same issue with Bug 101132. We need to use a lock for ecore_pipe_write for now because ecore_pipe_write is intended for a thread. Set r+ based on informal review thread.

&gt; Source/WebCore/ChangeLog:12
&gt; +        uses PISIX pipe write with O_NONBLOCK disabled.

PISIX -&gt; POSIX ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790432</commentid>
    <comment_count>14</comment_count>
      <attachid>179235</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-12-13 02:19:09 -0800</bug_when>
    <thetext>Created attachment 179235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790433</commentid>
    <comment_count>15</comment_count>
      <attachid>179235</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-12-13 02:20:12 -0800</bug_when>
    <thetext>Comment on attachment 179235
Patch

Fixed typo.
I tested unit test and layout test with this, and there was no regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790457</commentid>
    <comment_count>16</comment_count>
      <attachid>179235</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 03:01:12 -0800</bug_when>
    <thetext>Comment on attachment 179235
Patch

Clearing flags on attachment: 179235

Committed r137580: &lt;http://trac.webkit.org/changeset/137580&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790458</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 03:01:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>172213</attachid>
            <date>2012-11-03 02:33:01 -0700</date>
            <delta_ts>2012-11-03 02:34:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.diff</filename>
            <type>text/plain</type>
            <size>2968</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3NDhhOTcxLi5hZGQ3N2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMTEtMDIgIEJ5dW5nd29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIFJlbW92ZSByZWR1bmRhbnQgcGlwZSB3cml0ZSB0byBwcmV2ZW50IHBpcGUg
YnVmZmVyIGZ1bGwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDExMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUbyBwcmV2ZW50IGEgc291cmNlIG9mIGEgZGVhZGxvY2ssIHJlbW92ZSB0aGUgcmVkdW5k
YW50IHBpcGUgd3JpdGUKKyAgICAgICAgaW4gd2FrZVVwKCkgZnVuY3Rpb24uCisKKyAgICAgICAg
RUZMIHVzZXMgZWNvcmVfcGlwZV93cml0ZSgpIHRvIHdha2UgdXAgbWFpbiBydW4gbG9vcCwgYW5k
IHRoZSBmdW5jdGlvbgorICAgICAgICB1c2VzIFBJU0lYIHBpcGUgd3JpdGUgd2l0aCBPX05PTkJM
T0NLIGRpc2FibGVkLgorICAgICAgICBXaXRoIE9fTk9OQkxPQ0sgZGlzYWJsZWQsIHdoZW4gd3Jp
dHRlbiBkYXRhIGlzIG1vcmUgdGhhbiBQSVBFX0JVRiwKKyAgICAgICAgcGlwZSB3cml0ZSB3aWxs
IGJlIGJsb2NrZWQgdW50aWwgaXQgY2FuIGJlIHdyaXR0ZW4uCisKKyAgICAgICAgQ3VycmVudGx5
LCBldmVyeSB3YWtlVXAoKSBmdW5jdGlvbiBjYWxscyBlY29yZV9waXBlX3dyaXRlKCkgdG8gaW52
b2tlCisgICAgICAgIHdha2VVcEV2ZW50KCkgY2FsbGJhY2suIEFuZCB0aGlzIGNhbiBtYWtlIHBp
cGUgYnVmZmVyIGZ1bGwgc3RhdHVzCisgICAgICAgIHdoaWNoIGlzIHRoZSBvbmUgcmVhc29uIG9m
IHRoZSBsb2NrdXAgcHJvYmxlbSBkZXNjcmliZWQgaW4gQnVnIDk5NDk0LgorCisgICAgICAgICog
cGxhdGZvcm0vUnVuTG9vcC5oOgorICAgICAgICAoUnVuTG9vcCk6CisgICAgICAgICogcGxhdGZv
cm0vZWZsL1J1bkxvb3BFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6d2FrZVVw
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSdW5Mb29wOjp3
YWtlVXApOgorCiAyMDEyLTExLTAyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29t
PgogCiAgICAgICAgIHZpc2l0ZWRIYXNoTGluaygpIGNvbnZlcnRzIDggYml0IFVSTHMgYW5kIGF0
dHJpYnV0ZXMgdG8gMTYgYml0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1J1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaAppbmRleCBmYmZi
ODM3Li43ZDZjYjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29w
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCkBAIC0xNzEsNyArMTcx
LDEwIEBAIHByaXZhdGU6CiAgICAgTXV0ZXggbV9waXBlTG9jazsKICAgICBPd25QdHI8RWNvcmVf
UGlwZT4gbV9waXBlOwogCisgICAgYm9vbCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkOworCiAgICAg
c3RhdGljIHZvaWQgd2FrZVVwRXZlbnQodm9pZCogZGF0YSwgdm9pZCosIHVuc2lnbmVkIGludCk7
CisgICAgdm9pZCB3YWtlVXBFdmVudCgpOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggODg2ODVlMC4uOTU2YmE4MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAtOTcsMTMgKzk3LDM1
IEBAIHZvaWQgUnVuTG9vcDo6c3RvcCgpCiAKIHZvaWQgUnVuTG9vcDo6d2FrZVVwRXZlbnQodm9p
ZCogZGF0YSwgdm9pZCosIHVuc2lnbmVkIGludCkKIHsKLSAgICBzdGF0aWNfY2FzdDxSdW5Mb29w
Kj4oZGF0YSktPnBlcmZvcm1Xb3JrKCk7CisgICAgc3RhdGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEp
LT53YWtlVXBFdmVudCgpOworfQorCit2b2lkIFJ1bkxvb3A6Ondha2VVcEV2ZW50KCkKK3sKKyAg
ICBtX3dha2VVcEV2ZW50UmVxdWVzdGVkID0gZmFsc2U7CisKKyAgICBwZXJmb3JtV29yaygpOwor
CisgICAgLy8gV2FrZSB1cCBhZ2FpbiBpZiB0aGUgZnVuY3Rpb24gcXVldWUgaXMgbm90IGVtcHR5
LgorICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fZnVuY3Rpb25RdWV1ZUxvY2sp
OworICAgICAgICBpZiAobV9mdW5jdGlvblF1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgd2FrZVVwKCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6d2FrZVVwKCkK
IHsKLSAgICBNdXRleExvY2tlciBsb2NrZXIobV9waXBlTG9jayk7Ci0gICAgZWNvcmVfcGlwZV93
cml0ZShtX3BpcGUuZ2V0KCksIHdha3VwRWNvcmVQaXBlTWVzc2FnZSwgZWNvcmVQaXBlTWVzc2Fn
ZVNpemUpOworICAgIC8vIElmIHdha2UgdXAgaXMgYWxyZWFkeSByZXF1ZXN0ZWQsIGRvIG5vdCB3
YWtlIHVwIGFnYWluLgorICAgIGlmIChtX3dha2VVcEV2ZW50UmVxdWVzdGVkKQorICAgICAgICBy
ZXR1cm47CisKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3BpcGVMb2NrKTsK
KyAgICAgICAgZWNvcmVfcGlwZV93cml0ZShtX3BpcGUuZ2V0KCksIHdha3VwRWNvcmVQaXBlTWVz
c2FnZSwgZWNvcmVQaXBlTWVzc2FnZVNpemUpOworICAgIH0KKyAgICBtX3dha2VVcEV2ZW50UmVx
dWVzdGVkID0gdHJ1ZTsKIH0KIAogUnVuTG9vcDo6VGltZXJCYXNlOjpUaW1lckJhc2UoUnVuTG9v
cCopCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172729</attachid>
            <date>2012-11-07 00:59:03 -0800</date>
            <delta_ts>2012-12-11 09:02:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101135-20121107175715.patch</filename>
            <type>text/plain</type>
            <size>2822</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODExYjNjZmI5YWVkMzQx
Y2FiNjVlYzhiMTdkODA2Yjg3ZWMwOGJhOS4uNzRkODkxNjIzNGYyMTBjZTRkZjg2OGFkNWI5ODFj
YzNhMDUwYTZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTA3ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBSZW1vdmUg
cmVkdW5kYW50IHBpcGUgd3JpdGUgdG8gcHJldmVudCBwaXBlIGJ1ZmZlciBmdWxsLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gcHJldmVudCBhIHNv
dXJjZSBvZiBhIGRlYWRsb2NrLCByZW1vdmUgdGhlIHJlZHVuZGFudCBwaXBlIHdyaXRlCisgICAg
ICAgIGluIHdha2VVcCgpIGZ1bmN0aW9uLgorCisgICAgICAgIEVGTCB1c2VzIGVjb3JlX3BpcGVf
d3JpdGUoKSB0byB3YWtlIHVwIG1haW4gcnVuIGxvb3AsIGFuZCB0aGUgZnVuY3Rpb24KKyAgICAg
ICAgdXNlcyBQSVNJWCBwaXBlIHdyaXRlIHdpdGggT19OT05CTE9DSyBkaXNhYmxlZC4KKyAgICAg
ICAgV2l0aCBPX05PTkJMT0NLIGRpc2FibGVkLCB3aGVuIHdyaXR0ZW4gZGF0YSBpcyBtb3JlIHRo
YW4gUElQRV9CVUYsCisgICAgICAgIHBpcGUgd3JpdGUgd2lsbCBiZSBibG9ja2VkIHVudGlsIGl0
IGNhbiBiZSB3cml0dGVuLgorCisgICAgICAgIEN1cnJlbnRseSwgZXZlcnkgd2FrZVVwKCkgZnVu
Y3Rpb24gY2FsbHMgZWNvcmVfcGlwZV93cml0ZSgpIHRvIGludm9rZQorICAgICAgICB3YWtlVXBF
dmVudCgpIGNhbGxiYWNrLiBBbmQgdGhpcyBjYW4gbWFrZSBwaXBlIGJ1ZmZlciBmdWxsIHN0YXR1
cworICAgICAgICB3aGljaCBpcyB0aGUgb25lIHJlYXNvbiBvZiB0aGUgbG9ja3VwIHByb2JsZW0g
ZGVzY3JpYmVkIGluIEJ1ZyA5OTQ5NC4KKworICAgICAgICAqIHBsYXRmb3JtL1J1bkxvb3AuaDoK
KyAgICAgICAgKFJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29y
ZTo6UnVuTG9vcDo6d2FrZVVwRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6d2Fr
ZVVwKToKKwogMjAxMi0xMS0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIERvY3VtZW50Ojp1cGRhdGVTdHlsZUlmTmVlZGVkKCkgbm9uLXZp
cnR1YWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaAppbmRleCBjZTk4NDVlMmE1NzU5MjFhOWYx
NWZlNTVmOWIxY2JlZThhZjQxYTg2Li4zYWU3ZWQ4ZTBhYjA5Yjg1NjU1ZTRlNDZhZTg0M2JkZDQz
N2YxN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCkBAIC0xNjgsNiArMTY4LDggQEAg
cHJpdmF0ZToKICNlbGlmIFBMQVRGT1JNKEVGTCkKICAgICBib29sIG1faW5pdEVmbDsKICAgICBP
d25QdHI8RWNvcmVfUGlwZT4gbV9waXBlOworICAgIGJvb2wgbV93YWtlVXBFdmVudFJlcXVlc3Rl
ZDsKKwogICAgIHN0YXRpYyB2b2lkIHdha2VVcEV2ZW50KHZvaWQqIGRhdGEsIHZvaWQqLCB1bnNp
Z25lZCBpbnQpOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL1J1bkxvb3BFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxv
b3BFZmwuY3BwCmluZGV4IGYyOTlkOGVjZjI2ODI0MGJkZDI2NjZiYTUyYTQ0YmNjYmExOWUyMmQu
Ljg0NjVlYzg5ODQ4ODA3YzU4MTU0NjRhMjAyYTIxMDA3MjQ3MGEzMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBSdW5Mb29wOjpSdW5Mb29wKCkKICAgICA6IG1faW5pdEVmbChmYWxz
ZSkKKyAgICAsIG1fd2FrZVVwRXZlbnRSZXF1ZXN0ZWQoZmFsc2UpCiB7CiAgICAgaWYgKCFlY29y
ZV9pbml0KCkpIHsKICAgICAgICAgTE9HX0VSUk9SKCJjb3VsZCBub3QgaW5pdCBlY29yZS4iKTsK
QEAgLTk3LDExICs5OCwxNiBAQCB2b2lkIFJ1bkxvb3A6OnN0b3AoKQogCiB2b2lkIFJ1bkxvb3A6
Ondha2VVcEV2ZW50KHZvaWQqIGRhdGEsIHZvaWQqLCB1bnNpZ25lZCBpbnQpCiB7CisgICAgc3Rh
dGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEpLT5tX3dha2VVcEV2ZW50UmVxdWVzdGVkID0gZmFsc2U7
CiAgICAgc3RhdGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEpLT5wZXJmb3JtV29yaygpOwogfQogCiB2
b2lkIFJ1bkxvb3A6Ondha2VVcCgpCiB7CisgICAgaWYgKG1fd2FrZVVwRXZlbnRSZXF1ZXN0ZWQp
CisgICAgICAgIHJldHVybjsKKyAgICBtX3dha2VVcEV2ZW50UmVxdWVzdGVkID0gdHJ1ZTsKKwog
ICAgIGVjb3JlX3BpcGVfd3JpdGUobV9waXBlLmdldCgpLCB3YWt1cEVjb3JlUGlwZU1lc3NhZ2Us
IGVjb3JlUGlwZU1lc3NhZ2VTaXplKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174823</attachid>
            <date>2012-11-17 11:49:29 -0800</date>
            <delta_ts>2012-12-11 09:02:27 -0800</delta_ts>
            <desc>Patch to reproduce deadlock</desc>
            <filename>deadlock.patch</filename>
            <type>text/plain</type>
            <size>3127</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaAppbmRleCBjZTk4NDVlLi4zMTJmOWMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUnVuTG9vcC5oCkBAIC0xNjcsNiArMTY3LDggQEAgcHJpdmF0ZToKICAgICBW
ZWN0b3I8R1JlZlB0cjxHTWFpbkxvb3A+ID4gbV9ydW5Mb29wTWFpbkxvb3BzOwogI2VsaWYgUExB
VEZPUk0oRUZMKQogICAgIGJvb2wgbV9pbml0RWZsOworICAgIGJvb2wgbV93YWtlVXBFdmVudFJl
cXVlc3RlZDsKKyAgICBNdXRleCBtX3BpcGVMb2NrOwogICAgIE93blB0cjxFY29yZV9QaXBlPiBt
X3BpcGU7CiAgICAgc3RhdGljIHZvaWQgd2FrZVVwRXZlbnQodm9pZCogZGF0YSwgdm9pZCosIHVu
c2lnbmVkIGludCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCBmMjk5ZDhlLi4xODlhMTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogUnVuTG9vcDo6UnVuTG9vcCgpCiAgICAgOiBtX2luaXRFZmwoZmFsc2UpCisgICAgLCBt
X3dha2VVcEV2ZW50UmVxdWVzdGVkKGZhbHNlKQogewogICAgIGlmICghZWNvcmVfaW5pdCgpKSB7
CiAgICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGluaXQgZWNvcmUuIik7CkBAIC05NywxMiAr
OTgsMjAgQEAgdm9pZCBSdW5Mb29wOjpzdG9wKCkKIAogdm9pZCBSdW5Mb29wOjp3YWtlVXBFdmVu
dCh2b2lkKiBkYXRhLCB2b2lkKiwgdW5zaWduZWQgaW50KQogewotICAgIHN0YXRpY19jYXN0PFJ1
bkxvb3AqPihkYXRhKS0+cGVyZm9ybVdvcmsoKTsKKyAgICBSdW5Mb29wKiBydW5Mb29wID0gc3Rh
dGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEpOworICAgIHJ1bkxvb3AtPm1fd2FrZVVwRXZlbnRSZXF1
ZXN0ZWQgPSBmYWxzZTsKKyAgICBydW5Mb29wLT5wZXJmb3JtV29yaygpOwogfQogCiB2b2lkIFJ1
bkxvb3A6Ondha2VVcCgpCiB7Ci0gICAgZWNvcmVfcGlwZV93cml0ZShtX3BpcGUuZ2V0KCksIHdh
a3VwRWNvcmVQaXBlTWVzc2FnZSwgZWNvcmVQaXBlTWVzc2FnZVNpemUpOworICAgTXV0ZXhMb2Nr
ZXIgbG9ja2VyKG1fcGlwZUxvY2spOworCisgICBpZiAobV93YWtlVXBFdmVudFJlcXVlc3RlZCkK
KyAgICAgICByZXR1cm47CisKKyAgIG1fd2FrZVVwRXZlbnRSZXF1ZXN0ZWQgPSB0cnVlOworICAg
ZWNvcmVfcGlwZV93cml0ZShtX3BpcGUuZ2V0KCksIHdha3VwRWNvcmVQaXBlTWVzc2FnZSwgZWNv
cmVQaXBlTWVzc2FnZVNpemUpOwogfQogCiBSdW5Mb29wOjpUaW1lckJhc2U6OlRpbWVyQmFzZShS
dW5Mb29wKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJ
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50
RWZsLmNwcAppbmRleCAyYjc1MDcxMC4uZmQ5ODkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9QYWdlVUlDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcApAQCAtMTI2LDYgKzEyNiwxMSBAQCB2
b2lkIFBhZ2VVSUNsaWVudEVmbDo6cnVuT3BlblBhbmVsKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwg
V0tPcGVuUGFuZWxQYXJhbWV0ZXJzUgogICAgIHZpZXdJbXBsLT5zbWFydENhbGxiYWNrPEZpbGVD
aG9vc2VyUmVxdWVzdD4oKS5jYWxsKGZpbGVDaG9vc2VyUmVxdWVzdC5nZXQoKSk7CiB9CiAKK3Zv
aWQgUGFnZVVJQ2xpZW50RWZsOjpydW5Nb2RhbChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3sKKworfQorCiBQYWdlVUlDbGllbnRFZmw6OlBhZ2VVSUNsaWVudEVmbChF
d2tWaWV3SW1wbCogdmlld0ltcGwpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXdJbXBsKQogewpAQCAt
MTQ3LDYgKzE1Miw3IEBAIFBhZ2VVSUNsaWVudEVmbDo6UGFnZVVJQ2xpZW50RWZsKEV3a1ZpZXdJ
bXBsKiB2aWV3SW1wbCkKICAgICB1aUNsaWVudC5nZXRXaW5kb3dGcmFtZSA9IGdldFdpbmRvd0Zy
YW1lOwogICAgIHVpQ2xpZW50LnNldFdpbmRvd0ZyYW1lID0gc2V0V2luZG93RnJhbWU7CiAgICAg
dWlDbGllbnQucnVuT3BlblBhbmVsID0gcnVuT3BlblBhbmVsOworICAgIHVpQ2xpZW50LnJ1bk1v
ZGFsID0gcnVuTW9kYWw7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB1aUNsaWVudC5l
eGNlZWRlZERhdGFiYXNlUXVvdGEgPSBleGNlZWRlZERhdGFiYXNlUXVvdGE7CiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VVSUNsaWVudEVmbC5oCmluZGV4IDJm
NTQxOTIuLjBmNDA4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
UGFnZVVJQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdl
VUlDbGllbnRFZmwuaApAQCAtNjMsNiArNjMsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBXS1Jl
Y3QgZ2V0V2luZG93RnJhbWUoV0tQYWdlUmVmLCBjb25zdCB2b2lkKik7CiAgICAgc3RhdGljIHZv
aWQgc2V0V2luZG93RnJhbWUoV0tQYWdlUmVmLCBXS1JlY3QsIGNvbnN0IHZvaWQqKTsKICAgICBz
dGF0aWMgdm9pZCBydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS09wZW5QYW5l
bFBhcmFtZXRlcnNSZWYsIFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYsIGNvbnN0IHZvaWQq
KTsKKyAgICBzdGF0aWMgdm9pZCBydW5Nb2RhbChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CiAKICAgICBFd2tWaWV3SW1wbCogbV92aWV3SW1wbDsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178817</attachid>
            <date>2012-12-11 09:02:34 -0800</date>
            <delta_ts>2012-12-13 02:19:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101135-20121212015954.patch</filename>
            <type>text/plain</type>
            <size>3275</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWU1MzA4MGQxMDM5MDAw
ZmNmMDQ3ZDc1YTA5MTZiMWJiNTg0ZTM5YS4uMjdmOTYyYjM4ZDlhMTc0MzZlMTlhNWIxZTY3YTFj
MzdlMzMwMzFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTExICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBSZW1vdmUg
cmVkdW5kYW50IHBpcGUgd3JpdGUgdG8gcHJldmVudCBwaXBlIGJ1ZmZlciBmdWxsLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gcHJldmVudCBhIHNv
dXJjZSBvZiBhIGRlYWRsb2NrLCByZW1vdmUgdGhlIHJlZHVuZGFudCBwaXBlIHdyaXRlCisgICAg
ICAgIGluIHdha2VVcCgpIGZ1bmN0aW9uLgorCisgICAgICAgIEVGTCB1c2VzIGVjb3JlX3BpcGVf
d3JpdGUoKSB0byB3YWtlIHVwIG1haW4gcnVuIGxvb3AsIGFuZCB0aGUgZnVuY3Rpb24KKyAgICAg
ICAgdXNlcyBQSVNJWCBwaXBlIHdyaXRlIHdpdGggT19OT05CTE9DSyBkaXNhYmxlZC4KKyAgICAg
ICAgV2l0aCBPX05PTkJMT0NLIGRpc2FibGVkLCB3aGVuIHdyaXR0ZW4gZGF0YSBpcyBtb3JlIHRo
YW4gUElQRV9CVUYsCisgICAgICAgIHBpcGUgd3JpdGUgd2lsbCBiZSBibG9ja2VkIHVudGlsIGl0
IGNhbiBiZSB3cml0dGVuLgorCisgICAgICAgIEN1cnJlbnRseSwgZXZlcnkgd2FrZVVwKCkgZnVu
Y3Rpb24gY2FsbHMgZWNvcmVfcGlwZV93cml0ZSgpIHRvIGludm9rZQorICAgICAgICB3YWtlVXBF
dmVudCgpIGNhbGxiYWNrLiBBbmQgdGhpcyBjYW4gbWFrZSBwaXBlIGJ1ZmZlciBmdWxsIHN0YXR1
cworICAgICAgICB3aGljaCBpcyB0aGUgb25lIHJlYXNvbiBvZiB0aGUgbG9ja3VwIHByb2JsZW0g
ZGVzY3JpYmVkIGluIEJ1ZyA5OTQ5NC4KKworICAgICAgICAqIHBsYXRmb3JtL1J1bkxvb3AuaDoK
KyAgICAgICAgKFJ1bkxvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6OlJ1bkxvb3ApOgorICAgICAgICAoV2ViQ29y
ZTo6UnVuTG9vcDo6d2FrZVVwRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UnVuTG9vcDo6d2Fr
ZVVwKToKKwogMjAxMi0xMi0xMSAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBbUXRdW01hY10gRml4IHRyYW5zcGFyZW5jeSBmb3IgV2ViR0wgY29udGVudC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1J1bkxvb3AuaAppbmRleCBmYmZiODM3ZjEzYjk3ZGQ0Y2Q4NzQwOWU5ZDhi
N2I5NWZhYjU4YmU0Li41N2E4N2Q3YWZjYjU4MTQ0Mzg2MjhkYmY0NGIxNWFiODYyMTU0MWQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCkBAIC0xNzEsNiArMTcxLDkgQEAgcHJpdmF0ZToK
ICAgICBNdXRleCBtX3BpcGVMb2NrOwogICAgIE93blB0cjxFY29yZV9QaXBlPiBtX3BpcGU7CiAK
KyAgICBNdXRleCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkTG9jazsKKyAgICBib29sIG1fd2FrZVVw
RXZlbnRSZXF1ZXN0ZWQ7CisKICAgICBzdGF0aWMgdm9pZCB3YWtlVXBFdmVudCh2b2lkKiBkYXRh
LCB2b2lkKiwgdW5zaWduZWQgaW50KTsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA4ODY4NWUwZTkyMzBmNDA5ZjRlZDZmNGJkNDcz
NzdhMjU5YjIzYzcwLi41M2U4MDViY2I4NjZiYTJjNmU4ZTdjYTMzMjE3Yjc5NTA4MTA5Mzk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC00MSw2ICs0
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUnVuTG9vcDo6UnVuTG9vcCgpCiAgICAgOiBt
X2luaXRFZmwoZmFsc2UpCisgICAgLCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkKGZhbHNlKQogewog
ICAgIGlmICghZWNvcmVfaW5pdCgpKSB7CiAgICAgICAgIExPR19FUlJPUigiY291bGQgbm90IGlu
aXQgZWNvcmUuIik7CkBAIC05NywxMyArOTgsMjkgQEAgdm9pZCBSdW5Mb29wOjpzdG9wKCkKIAog
dm9pZCBSdW5Mb29wOjp3YWtlVXBFdmVudCh2b2lkKiBkYXRhLCB2b2lkKiwgdW5zaWduZWQgaW50
KQogewotICAgIHN0YXRpY19jYXN0PFJ1bkxvb3AqPihkYXRhKS0+cGVyZm9ybVdvcmsoKTsKKyAg
ICBSdW5Mb29wKiBsb29wID0gc3RhdGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEpOworCisgICAgewor
ICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobG9vcC0+bV93YWtlVXBFdmVudFJlcXVlc3RlZExv
Y2spOworICAgICAgICBsb29wLT5tX3dha2VVcEV2ZW50UmVxdWVzdGVkID0gZmFsc2U7CisgICAg
fQorCisgICAgbG9vcC0+cGVyZm9ybVdvcmsoKTsKIH0KIAogdm9pZCBSdW5Mb29wOjp3YWtlVXAo
KQogewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3BpcGVMb2NrKTsKLSAgICBlY29yZV9waXBl
X3dyaXRlKG1fcGlwZS5nZXQoKSwgd2FrdXBFY29yZVBpcGVNZXNzYWdlLCBlY29yZVBpcGVNZXNz
YWdlU2l6ZSk7CisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV93YWtlVXBFdmVu
dFJlcXVlc3RlZExvY2spOworICAgICAgICBpZiAobV93YWtlVXBFdmVudFJlcXVlc3RlZCkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV93YWtlVXBFdmVudFJlcXVlc3RlZCA9IHRydWU7
CisgICAgfQorCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9waXBlTG9jayk7
CisgICAgICAgIGVjb3JlX3BpcGVfd3JpdGUobV9waXBlLmdldCgpLCB3YWt1cEVjb3JlUGlwZU1l
c3NhZ2UsIGVjb3JlUGlwZU1lc3NhZ2VTaXplKTsKKyAgICB9CiB9CiAKIFJ1bkxvb3A6OlRpbWVy
QmFzZTo6VGltZXJCYXNlKFJ1bkxvb3AqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179235</attachid>
            <date>2012-12-13 02:19:09 -0800</date>
            <delta_ts>2012-12-13 03:01:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101135-20121213191628.patch</filename>
            <type>text/plain</type>
            <size>3278</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjY0OTVjYTg5MTU1NjFk
NmY0YWY0OTdiZWQ1YjYyMjQ1MjMwNTJjZS4uZDNlMWI0YzJhNjUxZjVlZjRiNjRjN2Y5YWMzNmJl
N2RiNjdmMmMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEyLTEzICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBSZW1vdmUg
cmVkdW5kYW50IHBpcGUgd3JpdGUgdG8gcHJldmVudCBwaXBlIGJ1ZmZlciBmdWxsLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR3l1eW91bmcgS2ltLgorCisgICAgICAgIFRvIHByZXZlbnQgYSBzb3Vy
Y2Ugb2YgYSBkZWFkbG9jaywgcmVtb3ZlIHRoZSByZWR1bmRhbnQgcGlwZSB3cml0ZQorICAgICAg
ICBpbiB3YWtlVXAoKSBmdW5jdGlvbi4KKworICAgICAgICBFRkwgdXNlcyBlY29yZV9waXBlX3dy
aXRlKCkgdG8gd2FrZSB1cCBtYWluIHJ1biBsb29wLCBhbmQgdGhlIGZ1bmN0aW9uCisgICAgICAg
IHVzZXMgUE9TSVggcGlwZSB3cml0ZSB3aXRoIE9fTk9OQkxPQ0sgZGlzYWJsZWQuCisgICAgICAg
IFdpdGggT19OT05CTE9DSyBkaXNhYmxlZCwgd2hlbiB3cml0dGVuIGRhdGEgaXMgbW9yZSB0aGFu
IFBJUEVfQlVGLAorICAgICAgICBwaXBlIHdyaXRlIHdpbGwgYmUgYmxvY2tlZCB1bnRpbCBpdCBj
YW4gYmUgd3JpdHRlbi4KKworICAgICAgICBDdXJyZW50bHksIGV2ZXJ5IHdha2VVcCgpIGZ1bmN0
aW9uIGNhbGxzIGVjb3JlX3BpcGVfd3JpdGUoKSB0byBpbnZva2UKKyAgICAgICAgd2FrZVVwRXZl
bnQoKSBjYWxsYmFjay4gQW5kIHRoaXMgY2FuIG1ha2UgcGlwZSBidWZmZXIgZnVsbCBzdGF0dXMK
KyAgICAgICAgd2hpY2ggaXMgdGhlIG9uZSByZWFzb24gb2YgdGhlIGxvY2t1cCBwcm9ibGVtIGRl
c2NyaWJlZCBpbiBCdWcgOTk0OTQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW5Mb29wLmg6Cisg
ICAgICAgIChSdW5Mb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSdW5Mb29wOjpSdW5Mb29wKToKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bkxvb3A6Ondha2VVcEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bkxvb3A6Ondha2VV
cCk6CisKIDIwMTItMTItMTIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAg
IENyYXNoIGluIFBsdWdJbk9yaWdpbkhhc2ggd2l0aCBlbXB0eSBNSU1FIHR5cGUgKDEwNDg4MikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3AuaAppbmRleCBmYmZiODM3ZjEzYjk3ZGQ0Y2Q4NzQwOWU5
ZDhiN2I5NWZhYjU4YmU0Li41N2E4N2Q3YWZjYjU4MTQ0Mzg2MjhkYmY0NGIxNWFiODYyMTU0MWQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcC5oCkBAIC0xNzEsNiArMTcxLDkgQEAgcHJpdmF0
ZToKICAgICBNdXRleCBtX3BpcGVMb2NrOwogICAgIE93blB0cjxFY29yZV9QaXBlPiBtX3BpcGU7
CiAKKyAgICBNdXRleCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkTG9jazsKKyAgICBib29sIG1fd2Fr
ZVVwRXZlbnRSZXF1ZXN0ZWQ7CisKICAgICBzdGF0aWMgdm9pZCB3YWtlVXBFdmVudCh2b2lkKiBk
YXRhLCB2b2lkKiwgdW5zaWduZWQgaW50KTsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA4ODY4NWUwZTkyMzBmNDA5ZjRlZDZmNGJk
NDczNzdhMjU5YjIzYzcwLi41M2U4MDViY2I4NjZiYTJjNmU4ZTdjYTMzMjE3Yjc5NTA4MTA5Mzk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUnVuTG9vcEVmbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC00MSw2
ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUnVuTG9vcDo6UnVuTG9vcCgpCiAgICAg
OiBtX2luaXRFZmwoZmFsc2UpCisgICAgLCBtX3dha2VVcEV2ZW50UmVxdWVzdGVkKGZhbHNlKQog
ewogICAgIGlmICghZWNvcmVfaW5pdCgpKSB7CiAgICAgICAgIExPR19FUlJPUigiY291bGQgbm90
IGluaXQgZWNvcmUuIik7CkBAIC05NywxMyArOTgsMjkgQEAgdm9pZCBSdW5Mb29wOjpzdG9wKCkK
IAogdm9pZCBSdW5Mb29wOjp3YWtlVXBFdmVudCh2b2lkKiBkYXRhLCB2b2lkKiwgdW5zaWduZWQg
aW50KQogewotICAgIHN0YXRpY19jYXN0PFJ1bkxvb3AqPihkYXRhKS0+cGVyZm9ybVdvcmsoKTsK
KyAgICBSdW5Mb29wKiBsb29wID0gc3RhdGljX2Nhc3Q8UnVuTG9vcCo+KGRhdGEpOworCisgICAg
eworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobG9vcC0+bV93YWtlVXBFdmVudFJlcXVlc3Rl
ZExvY2spOworICAgICAgICBsb29wLT5tX3dha2VVcEV2ZW50UmVxdWVzdGVkID0gZmFsc2U7Cisg
ICAgfQorCisgICAgbG9vcC0+cGVyZm9ybVdvcmsoKTsKIH0KIAogdm9pZCBSdW5Mb29wOjp3YWtl
VXAoKQogewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3BpcGVMb2NrKTsKLSAgICBlY29yZV9w
aXBlX3dyaXRlKG1fcGlwZS5nZXQoKSwgd2FrdXBFY29yZVBpcGVNZXNzYWdlLCBlY29yZVBpcGVN
ZXNzYWdlU2l6ZSk7CisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV93YWtlVXBF
dmVudFJlcXVlc3RlZExvY2spOworICAgICAgICBpZiAobV93YWtlVXBFdmVudFJlcXVlc3RlZCkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV93YWtlVXBFdmVudFJlcXVlc3RlZCA9IHRy
dWU7CisgICAgfQorCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9waXBlTG9j
ayk7CisgICAgICAgIGVjb3JlX3BpcGVfd3JpdGUobV9waXBlLmdldCgpLCB3YWt1cEVjb3JlUGlw
ZU1lc3NhZ2UsIGVjb3JlUGlwZU1lc3NhZ2VTaXplKTsKKyAgICB9CiB9CiAKIFJ1bkxvb3A6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKFJ1bkxvb3AqKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>