<?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>108355</bug_id>
          
          <creation_ts>2013-01-30 10:34:51 -0800</creation_ts>
          <short_desc>Crash because DatabaseContext destructed before its ScriptExecutionContext</short_desc>
          <delta_ts>2013-01-31 10:14:37 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jussi Kukkonen (jku)">jussi.kukkonen</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>jussi.kukkonen</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820309</commentid>
    <comment_count>0</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2013-01-30 10:34:51 -0800</bug_when>
    <thetext>fast/js/caller-property.html has started crashing quite often sometime before r141210: my first guess is r141207 (bug 108275).

ASSERTION FAILED: m_scriptExecutionContext-&gt;isContextThread()
/home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebCore/dom/ActiveDOMObject.cpp(65) : virtual WebCore::ActiveDOMObject::~ActiveDOMObject()
1   0x7f28e5ea029e WebCore::ActiveDOMObject::~ActiveDOMObject()
2   0x7f28e5c242f9 WebCore::DatabaseContext::~DatabaseContext()
3   0x7f28e5c2433c WebCore::DatabaseContext::~DatabaseContext()
4   0x7f28e5c13dcc WTF::RefCounted&lt;WebCore::DatabaseContext&gt;::deref()
5   0x7f28e5c12b0e void WTF::derefIfNotNull&lt;WebCore::DatabaseContext&gt;(WebCore::DatabaseContext*)
6   0x7f28e5c1b89f WTF::RefPtr&lt;WebCore::DatabaseContext&gt;::~RefPtr()
7   0x7f28e5c19067 WebCore::DatabaseBackend::~DatabaseBackend()
8   0x7f28e5c0e94a WebCore::Database::~Database()
9   0x7f28e5c0e982 WebCore::Database::~Database()
10  0x7f28e5c0e634 WTF::ThreadSafeRefCounted&lt;WebCore::DatabaseBackend&gt;::deref()
11  0x7f28e5c0e574 void WTF::derefIfNotNull&lt;WebCore::Database&gt;(WebCore::Database*)
12  0x7f28e5c0e43f WTF::RefPtr&lt;WebCore::Database&gt;::~RefPtr()
13  0x7f28e5c2c747 WTF::HashTable&lt;WTF::RefPtr&lt;WebCore::Database&gt;, WTF::RefPtr&lt;WebCore::Database&gt;, WTF::IdentityExtractor, WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt; &gt;::deallocateTable(WTF::RefPtr&lt;WebCore::Database&gt;*, int)
14  0x7f28e5c2ba66 WTF::HashTable&lt;WTF::RefPtr&lt;WebCore::Database&gt;, WTF::RefPtr&lt;WebCore::Database&gt;, WTF::IdentityExtractor, WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt; &gt;::~HashTable()
15  0x7f28e5c2b6bc WTF::HashSet&lt;WTF::RefPtr&lt;WebCore::Database&gt;, WTF::PtrHash&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt;, WTF::HashTraits&lt;WTF::RefPtr&lt;WebCore::Database&gt; &gt; &gt;::~HashSet()
16  0x7f28e5c2afff WebCore::DatabaseThread::databaseThread()
17  0x7f28e5c2adaa WebCore::DatabaseThread::databaseThreadStart(void*)
18  0x7f28e72128f1
19  0x7f28e723a44a
20  0x7f28e0520e9a
21  0x7f28ea03acbd clone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820315</commentid>
    <comment_count>1</comment_count>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2013-01-30 10:42:58 -0800</bug_when>
    <thetext>and same assert happens in:
  storage/websql/close-during-stress-test.html
  storage/websql/sql-error-codes.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820316</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 10:43:51 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; fast/js/caller-property.html has started crashing quite often sometime before r141210: my first guess is r141207 (bug 108275).

Not related to bug 108275.  Possibly caused by https://bugs.webkit.org/show_bug.cgi?id=107784.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820995</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 19:46:08 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; ASSERTION FAILED: m_scriptExecutionContext-&gt;isContextThread()
&gt; /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebCore/dom/ActiveDOMObject.cpp(65) : virtual WebCore::ActiveDOMObject::~ActiveDOMObject()
&gt; 1   0x7f28e5ea029e WebCore::ActiveDOMObject::~ActiveDOMObject()
...
&gt; 3   0x7f28e5c2433c WebCore::DatabaseContext::~DatabaseContext()
&gt; 4   0x7f28e5c13dcc WTF::RefCounted&lt;WebCore::DatabaseContext&gt;::deref()
...
&gt; 9   0x7f28e5c0e982 WebCore::Database::~Database()
...
&gt; 16  0x7f28e5c2afff WebCore::DatabaseThread::databaseThread()
&gt; 17  0x7f28e5c2adaa WebCore::DatabaseThread::databaseThreadStart(void*)
...

The crash stack trace shows that the DatabaseContext is being destructed from the DatabaseThread.  This should be fine.  However, the failed assertion only triggers if the DatabaseContext is still associated with the ScriptExecutionContext.  The code to disassociate the DatabaseContext can only be safely called from the script thread (hence, the assertion in ActiveDOMObject).  Hence, the DatabaseContext needs to stay alive until the ScriptExecutionContext destructs and calls (from the script thread) the relevant DatabaseContext functions to do the disassociation.

Therefore, the fix is to add a m_selfRef to DatabaseContext that will keep itself alive until DatabaseContext::contextDestroyed() is called.   contextDestroyed() will nullify m_selfRef and allow the DatabaseContext to be safely destructed thereafter.

The patch for the fix will be coming shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821021</commentid>
    <comment_count>4</comment_count>
      <attachid>185666</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 20:18:20 -0800</bug_when>
    <thetext>Created attachment 185666
The fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821046</commentid>
    <comment_count>5</comment_count>
      <attachid>185666</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-30 21:03:24 -0800</bug_when>
    <thetext>Comment on attachment 185666
The fix.

The standard way to indicate that DatabaseContext must survive until ScriptExecutionContext is destroyed is to give ScriptExecutionContext a RefPtr to DatabaseContext. Why isn&apos;t the standard way workable in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821051</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 21:12:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 185666 [details])
&gt; The standard way to indicate that DatabaseContext must survive until ScriptExecutionContext is destroyed is to give ScriptExecutionContext a RefPtr to DatabaseContext. Why isn&apos;t the standard way workable in this case?

The same reason that DatabaseContext was made a Supplement previously i.e. to remove it from the ScriptExecutionContext when !ENABLE(SQL_DATABASE) without resorting to an #if.  With the current implementation, there remains no references to Database in ScriptExecutionContext.

Note: this pattern is used in DatabaseThread and FileThread as well.  I learned it from DatabaseThread.  That&apos;s not to say that it is a standard.

Do you object to using it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821052</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 21:13:39 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Note: this pattern is used in DatabaseThread and FileThread as well.  I learned it from DatabaseThread.  That&apos;s not to say that it is a standard.
&gt; 
&gt; Do you object to using it here?

By &quot;pattern&quot;, I meant the pattern of using a selfRef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821060</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-30 21:23:43 -0800</bug_when>
    <thetext>&gt; to remove it from the ScriptExecutionContext when !ENABLE(SQL_DATABASE) without resorting to an #if.

What&apos;s so bad about #ifs?

I certainly prefer them to difficult-to-understand object lifetime management patterns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821066</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 21:31:35 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; to remove it from the ScriptExecutionContext when !ENABLE(SQL_DATABASE) without resorting to an #if.
&gt; 
&gt; What&apos;s so bad about #ifs?
&gt; 
&gt; I certainly prefer them to difficult-to-understand object lifetime management patterns.

OK. I&apos;ll re-do the patch to use a RefPtr in ScriptExecutionContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821142</commentid>
    <comment_count>10</comment_count>
      <attachid>185690</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-30 23:43:13 -0800</bug_when>
    <thetext>Created attachment 185690
Revised fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821605</commentid>
    <comment_count>11</comment_count>
      <attachid>185690</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-31 10:01:31 -0800</bug_when>
    <thetext>Comment on attachment 185690
Revised fix.

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

r=me

&gt; Source/WebCore/dom/ScriptExecutionContext.cpp:452
&gt; +    m_databaseContext = databaseContext;

Would be nice to ASSERT(!m_databaseContext) here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821620</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-01-31 10:14:37 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Source/WebCore/dom/ScriptExecutionContext.cpp:452
&gt; &gt; +    m_databaseContext = databaseContext;
&gt; 
&gt; Would be nice to ASSERT(!m_databaseContext) here.

Thanks for the review.  Assertion added.  Landed in r141431: &lt;http://trac.webkit.org/changeset/141431&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185666</attachid>
            <date>2013-01-30 20:18:20 -0800</date>
            <delta_ts>2013-01-30 23:43:13 -0800</delta_ts>
            <desc>The fix.</desc>
            <filename>bug-108355.patch</filename>
            <type>text/plain</type>
            <size>6987</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTM2NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTMwICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBEYXRhYmFzZUNvbnRleHQgbmVlZHMg
dG8gb3V0bGl2ZSB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODM1NS4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBiYXNpY2FsbHkgYWRkZWQgYSBtX3Nl
bGZSZWYgUmVmUHRyIHRoYXQgd2lsbCBrZWVwIHRoZSBEYXRhYmFzZUNvbnRleHQKKyAgICAgICAg
YWxpdmUgdW50aWwgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY2FsbHMgY29udGV4dERlc3Ry
b3koKS4KKyAgICAgICAgY29udGV4dERlc3Ryb3koKSB0ZWxscyB0aGUgRGF0YWJhc2VDb250ZXh0
IHRoYXQgaXQgaXMgbm93IG9rIHRvIG51bGxpZnkKKyAgICAgICAgbV9zZWxmUmVmIGFuZCBkZXN0
cnVjdCBpdHNlbGYgKGlmIG5vIERhdGFiYXNlcyBhcmUgc3RpbGwgaG9sZGluZyBSZWZQdHJzCisg
ICAgICAgIHBvaW50aW5nIHRvIHRoaXMgRGF0YWJhc2VDb250ZXh0KS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29u
dGV4dDo6RGF0YWJhc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4
dDo6Y29udGV4dERlc3Ryb3llZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZUNvbnRleHQuaDoKKyAgICAgICAgKERhdGFiYXNlQ29udGV4dCk6CisKIDIwMTMtMDEtMzAg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBUaGUgYmFja2dyb3Vu
ZCBIVE1MIHBhcnNlciBzaG91bGQgYmUgYWJsZSB0byBwYXJzZSBzcGVjdWxhdGl2ZWx5CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZUNvbnRleHQuY3BwCShyZXZpc2lvbiAxNDEzNjcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEy
ICs0NCw5MyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIEhvdyB0aGUgRGF0YWJhc0Nv
bnRleHQgTGlmZS1DeWNsZSB3b3Jrcz8KKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQorLy8gLi4uIGluIG90aGVyIHdvcmRzLCB3aG8ncyBrZWVwaW5nIHRoZSBEYXRh
YmFzZUNvbnRleHQgYWxpdmUgYW5kIGhvdyBsb25nIGRvZXMKKy8vIGl0IG5lZWQgdG8gc3RheSBh
bGl2ZT8KKy8vCisvLyBMZXQncyBsb29rIGF0IHRoZSBzaHV0ZG93biBvZiB0aGUgdGhlIERhdGFi
YXNlQ29udGV4dCBmaXJzdCBmb2xsb3dlZCBieSBpdHMKKy8vIGJpcnRoLgorLy8KKy8vIEF0IFNo
dXRkb3duOgorLy8gPT09PT09PT09PT0KKy8vIFRoZSBEYXRhYmFzZUNvbnRleHQgaXMgcmVmZXJl
bmNlZCBieToKKy8vIDEuIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgLSBieSBhIHJhdyBwb2ludGVy
IGluZGlyZWN0bHkgZnJvbSB0aGUgRGF0YWJhc2VNYW5hZ2VyLgorLy8gMi4gRGF0YWJhc2UgLSBi
eSBhIFJlZlB0ci4KKy8vIDMuIERhdGFiYXNlQ29udGV4dDo6bV9zZWxmUmVmIC0gYnkgYSBSZWZQ
dHIuCisvLworLy8gRHVyaW5nIHNodXRkb3duLCB3ZSBuZWVkIHRvOgorLy8gMS4gIm91dGxpdmUi
IHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgorLy8gICAgLSBUaGlzIGlzIG5lZWRlZCBiZWNh
dXNlIHRoZSBEYXRhYmFzZUNvbnRleHQgbmVlZHMgdG8gcmVtb3ZlIGl0c2VsZiBmcm9tIHRoZQor
Ly8gICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0J3MgQWN0aXZlRE9NT2JqZWN0IGxpc3QgYW5k
IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyCisvLyAgICAgIGxpc3QuIFRoaXMgcmVtb3ZhbCBu
ZWVkcyB0byBiZSBleGVjdXRlZCBvbiB0aGUgc2NyaXB0J3MgdGhyZWFkLiBIZW5jZSwgd2UKKy8v
ICAgICAgcmVseSBvbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCdzIHNodXRkb3duIHByb2Nl
c3MgdG8gY2FsbAorLy8gICAgICBzdG9wKCkgYW5kIGNvbnRleHREZXN0cm95ZWQoKSB0byBnaXZl
IHVzIGEgY2hhbmNlIHRvIGNsZWFuIHRoZXNlIHVwIGZyb20KKy8vICAgICAgdGhlIHNjcmlwdCB0
aHJlYWQuCisvLworLy8gMi4gIm91dGxpdmUiIHRoZSBEYXRhYmFzZXMuCisvLyAgICAtIFRoaXMg
aXMgYmVjYXVzZSB0aGV5IG1heSBtYWtlIHVzZSBvZiB0aGUgRGF0YWJhc2VDb250ZXh0IHRvIGV4
ZWN1dGUgYSBjbG9zZQorLy8gICAgICB0YXNrIGFuZCBzaHV0ZG93biBpbiBhbiBvcmRlcmx5IG1h
bm5lci4gV2hlbiB0aGUgRGF0YWJhc2VzIGFyZSBkZXN0cnVjdGVkLAorLy8gICAgICB0aGV5IHdp
bGwgZGVyZWYgdGhlIERhdGFiYXNlQ29udGV4dCBmcm9tIHRoZSBEYXRhYmFzZVRocmVhZC4KKy8v
CisvLyBEdXJpbmcgc2h1dGRvd24sIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGlzIHNodXR0
aW5nIGRvd24gb24gdGhlIHNjcmlwdCB0aHJlYWQKKy8vIHdoaWxlIHRoZSBEYXRhYmFzZXMgYXJl
IHNodXR0aW5nIGRvd24gb24gdGhlIERhdGFiYXNlVGhyZWFkLiBIZW5jZSwgdGhlcmUgY2FuIGJl
CisvLyBhIHJhY2UgY29uZGl0aW9uIGFzIHRvIHdoZXRoZXIgdGhlIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQgb3IgdGhlIERhdGFiYXNlcworLy8gZGVzdHJ1Y3QgZmlyc3QuCisvLworLy8gU2luY2Ug
dGhlIERhdGFiYXNlcyBoYXZlIGEgUmVmUHRyIHRvIHRoZSBEYXRhYmFzZUNvbnRleHQsIHdlJ3Jl
IGd1YXJhbnRlZWQgdGhhdAorLy8gdGhlIERhdGFiYXNlQ29udGV4dCB3aWxsICJvdXRsaXZlIiB0
aGUgRGF0YWJhc2VzLgorCisvLyBUbyBlbnN1cmUgdGhhdCB0aGUgRGF0YWJhc2VDb250ZXh0IHdp
bGwgIm91dGxpdmUiIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LAorLy8gd2UgYWRkZWQgYSBt
X3NlbGZSZWYgUmVmUHRyIGluIHRoZSBEYXRhYmFzZUNvbnRleHQuIG1fc2VsZlJlZiB3aWxsIG9u
bHkgYmUKKy8vIG51bGxpZmllZCB3aGVuIGNvbnRleHREZXN0cm95ZWQoKSBpcyBjYWxsZWQuIEhl
bmNlLCB3aXRoIHRoYXQsIHdlIGNhbiBndWFyYW50ZWUKKy8vIHRoYXQgdGhlIERhdGFiYXNlQ29u
dGV4dCB3aWxsIHN0YXkgYWxpdmUgYXQgbGVhc3QgdGlsbCBpdCBoYXMgYSBjaGFuY2UgdG8KKy8v
IGRpc2Fzc29jaWF0ZSBpdHNlbGYgZnJvbSB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBvbiB0
aGUgc2NyaXB0IHRocmVhZC4KKy8vCisvLyBBdCBCaXJ0aDoKKy8vID09PT09PT09CisvLyBXZSBj
cmVhdGUgYSBEYXRhYmFzZUNvbnRleHQgb25seSB3aGVuIHRoZXJlIGlzIGEgbmVlZCBpLmUuIHRo
ZSBzY3JpcHQgdHJpZXMgdG8KKy8vIG9wZW4gYSBEYXRhYmFzZSB2aWEgRGF0YWJhc2VNYW5hZ2Vy
OjpvcGVuRGF0YWJhc2UoKS4KKy8vCisvLyBUbyBvcGVuIGEgRGF0YWJhc2UsIHRoZSBEYXRhYmFz
ZU1hbmFnZXIgbXVzdCBmaXJzdCBnZXQgYSBEYXRhYmFzZUNvbnRleHQgZm9yCisvLyB0aGUgY29y
cmVzcG9uZGluZyBTY3JpcHRFeGVjdXRpb25Db250ZXh0LiBJZiBvbmUgYWxyZWFkeSBleGlzdHMs
IHdlJ2xsIHJldXNlCisvLyBpdC4gRWxzZSwgd2UnbGwgY3JlYXRlIGEgbmV3IG9uZS4KKy8vCisv
LyBJZiB3ZSBjcmVhdGUgYSBuZXcgRGF0YWJhc2VDb250ZXh0LCB3ZSB3aWxsIHN0YXJ0IHdpdGgg
YSByZWZDb3VudCBvZiAyOiAxIGZvcgorLy8gdGhlIG5ldyBvYmplY3QsIGFuZCAxIGZvciBtX3Nl
bGZSZWYuIElmIHdlJ3JlIHJldXNpbmcgYW4gZXhpc3Rpbmcgb25lLCB3ZSdsbAorLy8gaW5jIHRo
ZSByZWZDb3VudCBlbnN1cmluZyB0aGF0IHdlJ2xsIGhhdmUgMSByZWYgcGVyIGFzc29jaWF0ZWQg
RGF0YWJhc2UsCisvLyAxIHJlZiBmb3IgbV9zZWxmUmVmLCBhbmQgMSBtb3JlIGZvciB0aGUgbmV3
IERhdGFiYXNlIHdlJ3JlIGFib3V0IHRvIG9wZW4gYmVsb3cuCisvLworLy8gTmV4dCwgdGhlIERh
dGFiYXNlTWFuYWdlciBwcm9jZWVkcyB0byBvcGVuIHRoZSBkYXRhYmFzZSBhbmQgMiB0aGluZ3Mg
Y2FuIGhhcHBlbjoKKy8vCisvLyAxLiBUaGUgZGF0YWJhc2Ugd2FzIG9wZW5lZCBzdWNjZXNzZnVs
bHkuCisvLyAgICAtIFRoZSByZWZDb3VudHMgc2hvdWxkIGJlIGhhbmRsZWQgYXMgb25lIHdvdWxk
IGV4cGVjdGVkIGkuZS4gdGhlCisvLyAgICAgIERhdGFiYXNlQ29udGV4dCByZWZDb3VudCBzaG91
bGQgZW5kIHVwIHdpdGggMSByZWYgcGVyIGFzc29jaWF0ZWQgRGF0YWJhc2UsCisvLyAgICAgIGFu
ZCAxIGZvciBtX3NlbGZSZWYuCisvLworLy8gMi4gVGhlIGRhdGFiYXNlIGZhaWxlZCB0byBvcGVu
LgorLy8gICAgLSBJbiB0aGlzIGNhc2UsIGV2ZW4gdGhvdWdoIHdlIGRvbid0IGFzc29jaWF0ZSBh
bnkgbmV3IERhdGFiYXNlIHdpdGggdGhlCisvLyAgICAgIERhdGFiYXNlQ29udGV4dCwgaXQgcmVt
YWlucyBhbGl2ZSB3aXRoIGEgcmVmQ291bnQgb2YgMSAoaS5lLiBmb3IKKy8vICAgICAgbV9zZWxm
UmVmKSB3aGVuIG9wZW5EYXRhYmFzZSgpIHJldHVybnMuIElmIHRoZXJlIHdlcmUgcHJldmlvdXNs
eSBvdGhlcgorLy8gICAgICBEYXRhYmFzZXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggdGhpcyBE
YXRhYmFzZUNvbnRleHQsIHRoZW4gdGhlIHJlZkNvdW50CisvLyAgICAgIHdpbGwgYmUgMSBwbHVz
IHRoZSBudW1iZXIgb2YgcHJlLWV4aXN0aW5nIGRhdGFiYXNlcy4KKy8vICAgIC0gVGhlIERhdGFi
YXNlQ29udGV4dCB3aWxsIHJlbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhlIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuCisvLyAgICAgIElmIHRoZSBzY3JpcHQgb3BlbnMgYW5vdGhlciBEYXRhYmFzZSBs
YXRlciwgaXQgd2lsbCByZXVzZSB0aGlzCisvLyAgICAgIERhdGFiYXNlQ29udGV4dC4KKy8vCisv
LyBJbiBzdW1tYXJ5LCBvbmNlIGEgRGF0YWJhc2VDb250ZXh0IGlzIGNyZWF0ZWQsIGl0IHdpbGwg
cmVtYWluIGFsaXZlIGFuZAorLy8gYXNzb2NpYXRlZCB3aXRoIGl0cyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0IHVudGlsIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0CisvLyBkZXN0cnVjdHMuIFRo
aXMgaXMgdHJ1ZSBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIGFueSBEYXRhYmFzZXMgYXJlIG9wZW5l
ZCB3aXRoCisvLyB0aGlzIERhdGFiYXNlQ29udGV4dCBvciBub3QuCisKIERhdGFiYXNlQ29udGV4
dDo6RGF0YWJhc2VDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAg
OiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1faGFzT3BlbkRhdGFiYXNl
cyhmYWxzZSkKICAgICAsIG1faXNSZWdpc3RlcmVkKHRydWUpIC8vIHdpbGwgcmVnaXN0ZXIgb24g
Y29uc3RydWN0aW9uIGJlbG93LgogICAgICwgbV9oYXNSZXF1ZXN0ZWRUZXJtaW5hdGlvbihmYWxz
ZSkKIHsKKyAgICBtX3NlbGZSZWYgPSB0aGlzOworCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IGV4
cGVjdHMgdGhpcyB0byBiZSBjYWxsZWQgdG8gc2V0IGludGVybmFsIGZsYWdzLgogICAgIHN1c3Bl
bmRJZk5lZWRlZCgpOwogCkBAIC04Nyw2ICsxNjgsOCBAQCB2b2lkIERhdGFiYXNlQ29udGV4dDo6
Y29udGV4dERlc3Ryb3llZCgpCiAgICAgLy8gdHJ5IHRvIGRvIHNvIGFnYWluLgogICAgIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+d2lsbERlc3Ryb3lBY3RpdmVET01PYmplY3QodGhpcyk7CiAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gMDsKKworICAgIG1fc2VsZlJlZiA9IDA7CiB9
CiAKIC8vIHN0b3AoKSBpcyBmcm9tIHN0b3BBY3RpdmVET01PYmplY3RzKCkgd2hpY2ggaW5kaWNh
dGVzIHRoYXQgdGhlIG93bmVyIEZyYW1lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmgJKHJldmlzaW9uIDE0MTM2NykK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKICNpbmNsdWRlICJEYXRhYmFzZURldGFpbHMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzEsNiArNzIsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9oYXNPcGVuRGF0YWJhc2VzOyAvLyBUaGlzIG5ldmVyIGNoYW5n
ZXMgYmFjayB0byBmYWxzZSwgZXZlbiBhZnRlciB0aGUgZGF0YWJhc2UgdGhyZWFkIGlzIGNsb3Nl
ZC4KICAgICBib29sIG1faXNSZWdpc3RlcmVkOwogICAgIGJvb2wgbV9oYXNSZXF1ZXN0ZWRUZXJt
aW5hdGlvbjsKKyAgICBSZWZQdHI8RGF0YWJhc2VDb250ZXh0PiBtX3NlbGZSZWY7CiAKICAgICBm
cmllbmQgY2xhc3MgRGF0YWJhc2VNYW5hZ2VyOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185690</attachid>
            <date>2013-01-30 23:43:13 -0800</date>
            <delta_ts>2013-01-31 10:01:31 -0800</delta_ts>
            <desc>Revised fix.</desc>
            <filename>bug-108355.patch</filename>
            <type>text/plain</type>
            <size>6196</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MTM4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTMwICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBEYXRhYmFzZUNvbnRleHQgbmVlZHMg
dG8gb3V0bGl2ZSB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODM1NS4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIFJlZlB0cjxEYXRhYmFzZUNv
bnRleHQ+IGluIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8ga2VlcCB0aGUKKyAgICAgICAgRGF0
YWJhc2VDb250ZXh0IGFsaXZlIHVudGlsIGFmdGVyIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgZGVz
dHJ1Y3RzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0YWJhc2VDb250ZXh0OjpEYXRhYmFzZUNvbnRleHQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6c2V0RGF0YWJhc2VDb250ZXh0
KToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKwogMjAxMy0wMS0zMCAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBQb3J0IERy
YWdJbWFnZVdpbi5jcHAgdG8gV2luQ0UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5jcHAJKHJldmlzaW9uIDE0MTM4
MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTEgKzM5LDYzIEBACiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKKyNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8v
IEhvdyB0aGUgRGF0YWJhc2VDb250ZXh0IExpZmUtQ3ljbGUgd29ya3M/CisvLyA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyAuLi4gaW4gb3RoZXIgd29yZHMsIHdo
bydzIGtlZXBpbmcgdGhlIERhdGFiYXNlQ29udGV4dCBhbGl2ZSBhbmQgaG93IGxvbmcgZG9lcwor
Ly8gaXQgbmVlZCB0byBzdGF5IGFsaXZlPworLy8KKy8vIFRoZSBEYXRhYmFzZUNvbnRleHQgaXMg
cmVmZXJlbmNlZCBmcm9tIFJlZlB0cnMgaW46CisvLyAxLiBTY3JpcHRFeGVjdXRpb25Db250ZXh0
CisvLyAyLiBEYXRhYmFzZQorLy8KKy8vIEF0IEJpcnRoOgorLy8gPT09PT09PT0KKy8vIFdlIGNy
ZWF0ZSBhIERhdGFiYXNlQ29udGV4dCBvbmx5IHdoZW4gdGhlcmUgaXMgYSBuZWVkIGkuZS4gdGhl
IHNjcmlwdCB0cmllcyB0bworLy8gb3BlbiBhIERhdGFiYXNlIHZpYSBEYXRhYmFzZU1hbmFnZXI6
Om9wZW5EYXRhYmFzZSgpLgorLy8KKy8vIFRoZSBEYXRhYmFzZUNvbnRleHQgY29uc3RydWN0b3Ig
d2lsbCBjYWxsIHNldERhdGFiYXNlQ29udGV4dCgpIG9uIHRoZQorLy8gdGhlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuIFRoaXMgc2V0cyB0aGUgUmVmUHRyIGluIHRoZSBTY3JpcHRFeGVjdXRpb25D
b250ZXh0CisvLyBmb3Iga2VlcGluZyB0aGUgRGF0YWJhc2VDb250ZXh0IGFsaXZlLiBTaW5jZSB0
aGUgRGF0YWJhc2VDb250ZXh0IGlzIG9ubHkKKy8vIGNyZWF0ZWQgZnJvbSB0aGUgc2NyaXB0IHRo
cmVhZCwgaXQgaXMgc2FmZSBmb3IgdGhlIGNvbnN0cnVjdG9yIHRvIGNhbGwKKy8vIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OnNldERhdGFiYXNlQ29udGV4dCgpLgorLy8KKy8vIE9uY2UgYSBEYXRh
YmFzZUNvbnRleHQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
aXQgd2lsbAorLy8gbGl2ZSB1bnRpbCBhZnRlciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBk
ZXN0cnVjdHMuIFRoaXMgaXMgdHJ1ZSBldmVuIGlmCisvLyB3ZSBkb24ndCBzdWNjZWVkIGluIG9w
ZW5pbmcgYW55IERhdGFiYXNlcyBmb3IgdGhhdCBjb250ZXh0LiBXaGVuIHdlIGRvCisvLyBzdWNj
ZWVkIGluIG9wZW5pbmcgRGF0YWJhc2VzIGZvciB0aGlzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IHRoZSBEYXRhYmFzZQorLy8gd2lsbCByZS11c2UgdGhlIHNhbWUgRGF0YWJhc2VDb250ZXh0Lgor
Ly8KKy8vIEF0IFNodXRkb3duOgorLy8gPT09PT09PT09PT0KKy8vIER1cmluZyBzaHV0ZG93biwg
dGhlIERhdGFiYXNlQ29udGV4dCBuZWVkcyB0bzoKKy8vIDEuICJvdXRsaXZlIiB0aGUgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC4KKy8vICAgIC0gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgRGF0
YWJhc2VDb250ZXh0IG5lZWRzIHRvIHJlbW92ZSBpdHNlbGYgZnJvbSB0aGUKKy8vICAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCdzIEFjdGl2ZURPTU9iamVjdCBsaXN0IGFuZCBDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlcgorLy8gICAgICBsaXN0LiBUaGlzIHJlbW92YWwgbmVlZHMgdG8gYmUg
ZXhlY3V0ZWQgb24gdGhlIHNjcmlwdCdzIHRocmVhZC4gSGVuY2UsIHdlCisvLyAgICAgIHJlbHkg
b24gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQncyBzaHV0ZG93biBwcm9jZXNzIHRvIGNhbGwK
Ky8vICAgICAgc3RvcCgpIGFuZCBjb250ZXh0RGVzdHJveWVkKCkgdG8gZ2l2ZSB1cyBhIGNoYW5j
ZSB0byBjbGVhbiB0aGVzZSB1cCBmcm9tCisvLyAgICAgIHRoZSBzY3JpcHQgdGhyZWFkLgorLy8K
Ky8vIDIuICJvdXRsaXZlIiB0aGUgRGF0YWJhc2VzLgorLy8gICAgLSBUaGlzIGlzIGJlY2F1c2Ug
dGhleSBtYXkgbWFrZSB1c2Ugb2YgdGhlIERhdGFiYXNlQ29udGV4dCB0byBleGVjdXRlIGEgY2xv
c2UKKy8vICAgICAgdGFzayBhbmQgc2h1dGRvd24gaW4gYW4gb3JkZXJseSBtYW5uZXIuIFdoZW4g
dGhlIERhdGFiYXNlcyBhcmUgZGVzdHJ1Y3RlZCwKKy8vICAgICAgdGhleSB3aWxsIGRlcmVmIHRo
ZSBEYXRhYmFzZUNvbnRleHQgZnJvbSB0aGUgRGF0YWJhc2VUaHJlYWQuCisvLworLy8gRHVyaW5n
IHNodXRkb3duLCB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCBpcyBzaHV0dGluZyBkb3duIG9u
IHRoZSBzY3JpcHQgdGhyZWFkCisvLyB3aGlsZSB0aGUgRGF0YWJhc2VzIGFyZSBzaHV0dGluZyBk
b3duIG9uIHRoZSBEYXRhYmFzZVRocmVhZC4gSGVuY2UsIHRoZXJlIGNhbiBiZQorLy8gYSByYWNl
IGNvbmRpdGlvbiBhcyB0byB3aGV0aGVyIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IG9yIHRo
ZSBEYXRhYmFzZXMKKy8vIGRlc3RydWN0IGZpcnN0LgorLy8KKy8vIFRoZSBSZWZQdHJzIGluIHRo
ZSBEYXRhYmFzZXMgYW5kIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgd2lsbCBlbnN1cmUgdGhhdCB0
aGUKKy8vIERhdGFiYXNlQ29udGV4dCB3aWxsIG91dGxpdmUgYm90aCByZWdhcmRsZXNzIG9mIHdo
aWNoIG9mIHRoZSAyIGRlc3RydWN0cyBmaXJzdC4KKworCiBEYXRhYmFzZUNvbnRleHQ6OkRhdGFi
YXNlQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiAgICAgLCBtX2hhc09wZW5EYXRhYmFzZXMoZmFsc2Up
CkBAIC01Myw2ICsxMDUsOCBAQCBEYXRhYmFzZUNvbnRleHQ6OkRhdGFiYXNlQ29udGV4dChTY3Jp
cHRFCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IGV4cGVjdHMgdGhpcyB0byBiZSBjYWxsZWQgdG8g
c2V0IGludGVybmFsIGZsYWdzLgogICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogCisgICAgY29udGV4
dC0+c2V0RGF0YWJhc2VDb250ZXh0KHRoaXMpOworCiAgICAgLy8gRm9yIGRlYnVnIGFjY291bnRp
bmcgb25seS4gV2UgbXVzdCBkbyB0aGlzIGJlZm9yZSB3ZSByZWdpc3RlciB0aGUKICAgICAvLyBp
bnN0YW5jZS4gVGhlIGFzc2VydGlvbnMgYXNzdW1lIHRoaXMuCiAgICAgRGF0YWJhc2VNYW5hZ2Vy
OjptYW5hZ2VyKCkuZGlkQ29uc3RydWN0RGF0YWJhc2VDb250ZXh0KCk7IApJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAkocmV2aXNpb24gMTQx
MzgwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1MywxMCBAQAogI2luY2x1ZGUgIkpTRE9NV2luZG93Lmgi
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisjaW5jbHVkZSAiRGF0YWJhc2VD
b250ZXh0LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdURiB7CiAKIHRlbXBsYXRlPD4gc3RydWN0
IFNlcXVlbmNlTWVtb3J5SW5zdHJ1bWVudGF0aW9uVHJhaXRzPFdlYkNvcmU6OkNvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyKj4gewpAQCAtNDQyLDQgKzQ0NiwxMSBAQCBKU0M6OkpTR2xvYmFsRGF0
YSogU2NyaXB0RXhlY3V0aW9uQ29udGV4CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldERhdGFiYXNlQ29udGV4dChE
YXRhYmFzZUNvbnRleHQqIGRhdGFiYXNlQ29udGV4dCkKK3sKKyAgICBtX2RhdGFiYXNlQ29udGV4
dCA9IGRhdGFiYXNlQ29udGV4dDsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgJKHJl
dmlzaW9uIDE0MTM4MCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ2FjaGVkU2NyaXB0OworY2xhc3MgRGF0YWJhc2VDb250ZXh0OwogY2xhc3Mg
RE9NVGltZXI7CiBjbGFzcyBFdmVudExpc3RlbmVyOwogY2xhc3MgRXZlbnRRdWV1ZTsKQEAgLTE2
OSw2ICsxNzAsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKIAorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCisgICAgdm9pZCBzZXREYXRhYmFzZUNvbnRleHQoRGF0YWJhc2VDb250ZXh0Kik7
CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIGNsYXNzIEFkZENvbnNvbGVNZXNzYWdlVGFzayA6
IHB1YmxpYyBUYXNrIHsKICAgICBwdWJsaWM6CkBAIC0yMjUsNiArMjMwLDEwIEBAIHByaXZhdGU6
CiAgICAgT3duUHRyPFB1YmxpY1VSTE1hbmFnZXI+IG1fcHVibGljVVJMTWFuYWdlcjsKICAgICBS
ZWZQdHI8RmlsZVRocmVhZD4gbV9maWxlVGhyZWFkOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQorICAgIFJlZlB0cjxEYXRhYmFzZUNvbnRleHQ+IG1fZGF0YWJhc2VDb250ZXh0
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="204843"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>