<?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>65414</bug_id>
          
          <creation_ts>2011-07-30 12:25:56 -0700</creation_ts>
          <short_desc>DequeIterator lacks default constructor</short_desc>
          <delta_ts>2011-10-03 03:57:24 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>444316</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-07-30 12:25:56 -0700</bug_when>
    <thetext>Pointed out in https://bugs.webkit.org/show_bug.cgi?id=65263#c9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462457</commentid>
    <comment_count>1</comment_count>
      <attachid>106405</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-06 04:30:06 -0700</bug_when>
    <thetext>Created attachment 106405
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462475</commentid>
    <comment_count>2</comment_count>
      <attachid>106405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 05:47:19 -0700</bug_when>
    <thetext>Comment on attachment 106405
proposed fix

Attachment 106405 did not pass cr-mac-ews (chromium):
Output: http://queues.webkit.org/results/9594610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462488</commentid>
    <comment_count>3</comment_count>
      <attachid>106405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 06:48:32 -0700</bug_when>
    <thetext>Comment on attachment 106405
proposed fix

Attachment 106405 did not pass cr-mac-ews (chromium):
Output: http://queues.webkit.org/results/9592827</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462556</commentid>
    <comment_count>4</comment_count>
      <attachid>106405</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-06 08:47:07 -0700</bug_when>
    <thetext>Comment on attachment 106405
proposed fix

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

&gt; Source/JavaScriptCore/wtf/Deque.h:598
&gt; +        , m_next(0)
&gt; +        , m_previous(0)

I’m not sure I understand the full rationale for setting these in a debug build but not a release build. Will this help us catch mistakes we would otherwise miss? Or perhaps it will hide mistakes we might otherwise catch.

&gt; Source/JavaScriptCore/wtf/MainThread.cpp:-213
&gt; -        // We must redefine &apos;i&apos; each pass, because the itererator&apos;s operator= 
&gt; -        // requires &apos;this&apos; to be valid, and remove() invalidates all iterators

The substance of this comment still seems correct, even if the word redefine is no longer accurate, so it’s not clear to me that it’s good to remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463218</commentid>
    <comment_count>5</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-07 00:57:59 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 106405 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106405&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/Deque.h:598
&gt; &gt; +        , m_next(0)
&gt; &gt; +        , m_previous(0)
&gt; 
&gt; I’m not sure I understand the full rationale for setting these in a debug build but not a release build. Will this help us catch mistakes we would otherwise miss? Or perhaps it will hide mistakes we might otherwise catch.

This is just to pass the assertions in removeFromIteratorList with an empty iterator:

if (!m_deque) {
    ASSERT(!m_next);
    ASSERT(!m_previous);
}

Maybe ASSERT_DISABLED would be the appropriate condition.

&gt; 
&gt; &gt; Source/JavaScriptCore/wtf/MainThread.cpp:-213
&gt; &gt; -        // We must redefine &apos;i&apos; each pass, because the itererator&apos;s operator= 
&gt; &gt; -        // requires &apos;this&apos; to be valid, and remove() invalidates all iterators
&gt; 
&gt; The substance of this comment still seems correct, even if the word redefine is no longer accurate, so it’s not clear to me that it’s good to remove it.

I think this comment is not valid since http://trac.webkit.org/changeset/92050 - my bad to not updated this call site - so we can remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463220</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-07 01:09:13 -0700</bug_when>
    <thetext>&gt; 
&gt; Maybe ASSERT_DISABLED would be the appropriate condition.
&gt; 

On the other hand removeFromIteratorList is in #ifndef NDEBUG so I won&apos;t change this in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463221</commentid>
    <comment_count>7</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-07 01:09:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 106405 [details])
&gt; Attachment 106405 [details] did not pass cr-mac-ews (chromium):
&gt; Output: http://queues.webkit.org/results/9592827

From the output it does not seems to be my fault.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463841</commentid>
    <comment_count>8</comment_count>
      <attachid>106405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-07 19:51:27 -0700</bug_when>
    <thetext>Comment on attachment 106405
proposed fix

Attachment 106405 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9599942</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463875</commentid>
    <comment_count>9</comment_count>
      <attachid>106405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-07 21:18:38 -0700</bug_when>
    <thetext>Comment on attachment 106405
proposed fix

Attachment 106405 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9615060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463979</commentid>
    <comment_count>10</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-09-08 03:44:19 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 106405 [details])
&gt; Attachment 106405 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/9615060

This is the build error:
cc1plus: warnings being treated as errors
/Users/balazs/WebKitGit/WebKitBuild/Release/JavaScriptCore.framework/PrivateHeaders/MessageQueue.h: In member function &apos;void* WebCore::DatabaseThread::databaseThread()&apos;:
/Users/balazs/WebKitGit/WebKitBuild/Release/JavaScriptCore.framework/PrivateHeaders/MessageQueue.h:135: warning: &apos;found.WTF::DequeConstIterator&lt;WebCore::DatabaseTask*, 0ul&gt;::&lt;anonymous&gt;.WTF::DequeIteratorBase&lt;WebCore::DatabaseTask*, 0ul&gt;::m_index&apos; may be used uninitialized in this function
/Users/balazs/WebKitGit/WebKitBuild/Release/JavaScriptCore.framework/PrivateHeaders/MessageQueue.h:135: note: &apos;found.WTF::DequeConstIterator&lt;WebCore::DatabaseTask*, 0ul&gt;::&lt;anonymous&gt;.WTF::DequeIteratorBase&lt;WebCore::DatabaseTask*, 0ul&gt;::m_index&apos; was declared here

Honestly I don&apos;t get it. It is coming from here:

DequeConstIterator&lt;DataType*&gt; found;
while (!m_killed &amp;&amp; !timedOut &amp;&amp; (found = m_queue.findIf(predicate)) == m_queue.end())
    timedOut = !m_condition.timedWait(m_mutex, absoluteTime);

found.m_index is uninitialized first bug the iterator is assigned before used and operator= sets the value. Maybe a compiler error?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465158</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-09 18:27:25 -0700</bug_when>
    <thetext>Probably a compiler bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475296</commentid>
    <comment_count>12</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-09-29 00:50:03 -0700</bug_when>
    <thetext>&gt; Honestly I don&apos;t get it. It is coming from here:
&gt; 
&gt; DequeConstIterator&lt;DataType*&gt; found;
&gt; while (!m_killed &amp;&amp; !timedOut &amp;&amp; (found = m_queue.findIf(predicate)) == m_queue.end())
&gt;     timedOut = !m_condition.timedWait(m_mutex, absoluteTime);
&gt; 
&gt; found.m_index is uninitialized first bug the iterator is assigned before used and operator= sets the value. Maybe a compiler error?

The default constructor of DequeConstIteratorBase doesn&apos;t initialized m_index,
and this patch instantiates the constructor code, that causes the warning.
You can add &quot;m_index(0)&quot; to the constructor definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476845</commentid>
    <comment_count>13</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-10-03 02:05:35 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; Honestly I don&apos;t get it. It is coming from here:
&gt; &gt; 
&gt; &gt; DequeConstIterator&lt;DataType*&gt; found;
&gt; &gt; while (!m_killed &amp;&amp; !timedOut &amp;&amp; (found = m_queue.findIf(predicate)) == m_queue.end())
&gt; &gt;     timedOut = !m_condition.timedWait(m_mutex, absoluteTime);
&gt; &gt; 
&gt; &gt; found.m_index is uninitialized first bug the iterator is assigned before used and operator= sets the value. Maybe a compiler error?
&gt; 
&gt; The default constructor of DequeConstIteratorBase doesn&apos;t initialized m_index,
&gt; and this patch instantiates the constructor code, that causes the warning.
&gt; You can add &quot;m_index(0)&quot; to the constructor definition.

It does not change the fact that it is not used (read) before it has been initialized.
The whole point is to avoid unnecessary initializations so adding &quot;m_index(0)&quot; is not a very good solution.
I would rather keep the current code - where callers initialize iterators with the end value - if nobody has an idea how to trick over the warning. Maybe the current patch will work when Mac will have a newer gcc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476873</commentid>
    <comment_count>14</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-10-03 03:57:24 -0700</bug_when>
    <thetext>Let it rot for a while.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106405</attachid>
            <date>2011-09-06 04:30:06 -0700</date>
            <delta_ts>2011-10-03 03:56:59 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>deque_iterators.diff</filename>
            <type>text/plain</type>
            <size>4853</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM0MzEwYzQuLjEyZDllMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTA5LTA2ICBCYWxhenMgS2VsZW1l
biAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBEZXF1ZUl0ZXJhdG9yIGxhY2tzIGRl
ZmF1bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY1NDE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIGl0ZXJhdG9yIGNsYXNzZXMgb2Yg
RGVxdWUgYW5kCisgICAgICAgIHVwZGF0ZSBjYWxsIHNpdGVzIHRvIG5vdCBkbyB1bm5lY2Vzc2Fy
eSBpbml0YWxpemF0aW9uLgorCisgICAgICAgICogd3RmL0RlcXVlLmg6CisgICAgICAgIChXVEY6
OkRlcXVlSXRlcmF0b3I6OkRlcXVlSXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpEZXF1ZUNvbnN0
SXRlcmF0b3I6OkRlcXVlQ29uc3RJdGVyYXRvcik6CisgICAgICAgIChXVEY6OkRlcXVlUmV2ZXJz
ZUl0ZXJhdG9yOjpEZXF1ZVJldmVyc2VJdGVyYXRvcik6CisgICAgICAgIChXVEY6OkRlcXVlQ29u
c3RSZXZlcnNlSXRlcmF0b3I6OkRlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3IpOgorICAgICAgICAo
V1RGOjo6OkRlcXVlSXRlcmF0b3JCYXNlKToKKyAgICAgICAgKiB3dGYvTWFpblRocmVhZC5jcHA6
CisgICAgICAgIChXVEY6OmNhbmNlbENhbGxPbk1haW5UaHJlYWQpOgorICAgICAgICAqIHd0Zi9N
ZXNzYWdlUXVldWUuaDoKKyAgICAgICAgKFdURjo6Ojp3YWl0Rm9yTWVzc2FnZUZpbHRlcmVkV2l0
aFRpbWVvdXQpOgorICAgICAgICAoV1RGOjo6OnJlbW92ZUlmKToKKwogMjAxMS0wOS0wNSAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjk0NDQ1IGFuZCByOTQ0NDguCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Rl
cXVlLmgKaW5kZXggMWVkNDdhOC4uMzdiOGE5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUu
aApAQCAtMTYxLDYgKzE2MSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0eXBlZGVmIERl
cXVlSXRlcmF0b3I8VCwgaW5saW5lQ2FwYWNpdHk+IEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgor
ICAgICAgICBEZXF1ZUl0ZXJhdG9yKCkgOiBCYXNlKCkgeyB9CiAgICAgICAgIERlcXVlSXRlcmF0
b3IoRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+KiBkZXF1ZSwgc2l6ZV90IGluZGV4KSA6IEJhc2Uo
ZGVxdWUsIGluZGV4KSB7IH0KIAogICAgICAgICBEZXF1ZUl0ZXJhdG9yKGNvbnN0IEl0ZXJhdG9y
JiBvdGhlcikgOiBCYXNlKG90aGVyKSB7IH0KQEAgLTE4Niw2ICsxODcsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQsIGlubGluZUNhcGFjaXR5PiBO
b25Db25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgorICAgICAgICBEZXF1ZUNvbnN0SXRlcmF0
b3IoKSA6IEJhc2UoKSB7IH0KICAgICAgICAgRGVxdWVDb25zdEl0ZXJhdG9yKGNvbnN0IERlcXVl
PFQsIGlubGluZUNhcGFjaXR5PiogZGVxdWUsIHNpemVfdCBpbmRleCkgOiBCYXNlKGRlcXVlLCBp
bmRleCkgeyB9CiAKICAgICAgICAgRGVxdWVDb25zdEl0ZXJhdG9yKGNvbnN0IEl0ZXJhdG9yJiBv
dGhlcikgOiBCYXNlKG90aGVyKSB7IH0KQEAgLTIxMiw2ICsyMTQsNyBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICAgICAgdHlwZWRlZiBEZXF1ZVJldmVyc2VJdGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0
eT4gSXRlcmF0b3I7CiAKICAgICBwdWJsaWM6CisgICAgICAgIERlcXVlUmV2ZXJzZUl0ZXJhdG9y
KCkgOiBCYXNlKCkgeyB9CiAgICAgICAgIERlcXVlUmV2ZXJzZUl0ZXJhdG9yKGNvbnN0IERlcXVl
PFQsIGlubGluZUNhcGFjaXR5PiogZGVxdWUsIHNpemVfdCBpbmRleCkgOiBCYXNlKGRlcXVlLCBp
bmRleCkgeyB9CiAKICAgICAgICAgRGVxdWVSZXZlcnNlSXRlcmF0b3IoY29uc3QgSXRlcmF0b3Im
IG90aGVyKSA6IEJhc2Uob3RoZXIpIHsgfQpAQCAtMjM3LDYgKzI0MCw3IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICB0eXBlZGVmIERlcXVlUmV2ZXJzZUl0ZXJhdG9yPFQsIGlubGluZUNhcGFj
aXR5PiBOb25Db25zdEl0ZXJhdG9yOwogCiAgICAgcHVibGljOgorICAgICAgICBEZXF1ZUNvbnN0
UmV2ZXJzZUl0ZXJhdG9yKCkgOiBCYXNlKCkgeyB9CiAgICAgICAgIERlcXVlQ29uc3RSZXZlcnNl
SXRlcmF0b3IoY29uc3QgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+KiBkZXF1ZSwgc2l6ZV90IGlu
ZGV4KSA6IEJhc2UoZGVxdWUsIGluZGV4KSB7IH0KIAogICAgICAgICBEZXF1ZUNvbnN0UmV2ZXJz
ZUl0ZXJhdG9yKGNvbnN0IEl0ZXJhdG9yJiBvdGhlcikgOiBCYXNlKG90aGVyKSB7IH0KQEAgLTU4
OSw2ICs1OTMsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c2l6ZV90IGlubGluZUNhcGFjaXR5PgogICAgIGlubGluZSBEZXF1ZUl0ZXJhdG9yQmFzZTxULCBp
bmxpbmVDYXBhY2l0eT46OkRlcXVlSXRlcmF0b3JCYXNlKCkKICAgICAgICAgOiBtX2RlcXVlKDAp
CisjaWZuZGVmIE5ERUJVRworICAgICAgICAsIG1fbmV4dCgwKQorICAgICAgICAsIG1fcHJldmlv
dXMoMCkKKyNlbmRpZgogICAgIHsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvTWFpblRocmVhZC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01h
aW5UaHJlYWQuY3BwCmluZGV4IDA5ZmVhN2IuLmI5ZDE3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvTWFpblRocmVhZC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9NYWluVGhyZWFkLmNwcApAQCAtMjA4LDE0ICsyMDgsOSBAQCB2b2lkIGNhbmNlbENh
bGxPbk1haW5UaHJlYWQoTWFpblRocmVhZEZ1bmN0aW9uKiBmdW5jdGlvbiwgdm9pZCogY29udGV4
dCkKIAogICAgIEZ1bmN0aW9uV2l0aENvbnRleHRGaW5kZXIgcHJlZChGdW5jdGlvbldpdGhDb250
ZXh0KGZ1bmN0aW9uLCBjb250ZXh0KSk7CiAKLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAv
LyBXZSBtdXN0IHJlZGVmaW5lICdpJyBlYWNoIHBhc3MsIGJlY2F1c2UgdGhlIGl0ZXJlcmF0b3In
cyBvcGVyYXRvcj0gCi0gICAgICAgIC8vIHJlcXVpcmVzICd0aGlzJyB0byBiZSB2YWxpZCwgYW5k
IHJlbW92ZSgpIGludmFsaWRhdGVzIGFsbCBpdGVyYXRvcnMKLSAgICAgICAgRnVuY3Rpb25RdWV1
ZTo6aXRlcmF0b3IgaShmdW5jdGlvblF1ZXVlKCkuZmluZElmKHByZWQpKTsKLSAgICAgICAgaWYg
KGkgPT0gZnVuY3Rpb25RdWV1ZSgpLmVuZCgpKQotICAgICAgICAgICAgYnJlYWs7CisgICAgRnVu
Y3Rpb25RdWV1ZTo6aXRlcmF0b3IgaTsKKyAgICB3aGlsZSAoKGkgPSBmdW5jdGlvblF1ZXVlKCku
ZmluZElmKHByZWQpKSAhPSBmdW5jdGlvblF1ZXVlKCkuZW5kKCkpCiAgICAgICAgIGZ1bmN0aW9u
UXVldWUoKS5yZW1vdmUoaSk7Ci0gICAgfQogfQogCiB2b2lkIHNldE1haW5UaHJlYWRDYWxsYmFj
a3NQYXVzZWQoYm9vbCBwYXVzZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVl
dWUuaAppbmRleCBmZTA0NzIyLi5iMmU1OWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
TWVzc2FnZVF1ZXVlLmgKQEAgLTEzMiw3ICsxMzIsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAg
ICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgYm9vbCB0aW1lZE91dCA9IGZh
bHNlOwogCi0gICAgICAgIERlcXVlQ29uc3RJdGVyYXRvcjxEYXRhVHlwZSo+IGZvdW5kID0gbV9x
dWV1ZS5lbmQoKTsKKyAgICAgICAgRGVxdWVDb25zdEl0ZXJhdG9yPERhdGFUeXBlKj4gZm91bmQ7
CiAgICAgICAgIHdoaWxlICghbV9raWxsZWQgJiYgIXRpbWVkT3V0ICYmIChmb3VuZCA9IG1fcXVl
dWUuZmluZElmKHByZWRpY2F0ZSkpID09IG1fcXVldWUuZW5kKCkpCiAgICAgICAgICAgICB0aW1l
ZE91dCA9ICFtX2NvbmRpdGlvbi50aW1lZFdhaXQobV9tdXRleCwgYWJzb2x1dGVUaW1lKTsKIApA
QCAtMTcyLDcgKzE3Miw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIGlubGluZSB2b2lkIE1lc3Nh
Z2VRdWV1ZTxEYXRhVHlwZT46OnJlbW92ZUlmKFByZWRpY2F0ZSYgcHJlZGljYXRlKQogICAgIHsK
ICAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX211dGV4KTsKLSAgICAgICAgRGVxdWVDb25zdEl0
ZXJhdG9yPERhdGFUeXBlKj4gZm91bmQgPSBtX3F1ZXVlLmVuZCgpOworICAgICAgICBEZXF1ZUNv
bnN0SXRlcmF0b3I8RGF0YVR5cGUqPiBmb3VuZDsKICAgICAgICAgd2hpbGUgKChmb3VuZCA9IG1f
cXVldWUuZmluZElmKHByZWRpY2F0ZSkpICE9IG1fcXVldWUuZW5kKCkpIHsKICAgICAgICAgICAg
IERhdGFUeXBlKiBtZXNzYWdlID0gKmZvdW5kOwogICAgICAgICAgICAgbV9xdWV1ZS5yZW1vdmUo
Zm91bmQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>