<?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>235610</bug_id>
          
          <creation_ts>2022-01-25 14:39:02 -0800</creation_ts>
          <short_desc>Build failure with GCC 12: MediaTime.h:167:71: error: call to non-&apos;constexpr&apos; function &apos;WTF::MediaTime&amp; WTF::MediaTime::operator=(const WTF::MediaTime&amp;)&apos;</short_desc>
          <delta_ts>2022-01-26 18:54:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205723</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=235501</see_also>
          <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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aboya</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mgorse</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1833868</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-25 14:39:02 -0800</bug_when>
    <thetext>WebKitGTK 2.35.1 fails to build with GCC 12 on 32-bit ARM (and not other architectures):

In file included from /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.cpp:30:
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h: In constructor &apos;constexpr WTF::MediaTime::MediaTime(int64_t, uint32_t, uint8_t)&apos;:
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:167:71: error: call to non-&apos;constexpr&apos; function &apos;WTF::MediaTime&amp; WTF::MediaTime::operator=(const WTF::MediaTime&amp;)&apos;
  167 |     *this = value &lt; 0 ? negativeInfiniteTime() : positiveInfiniteTime();
      |                                                                       ^
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:68:16: note: &apos;WTF::MediaTime&amp; WTF::MediaTime::operator=(const WTF::MediaTime&amp;)&apos; declared here
   68 |     MediaTime&amp; operator=(const MediaTime&amp; rhs);
      |                ^~~~~~~~

I&apos;m not sure what makes 32-bit ARM special here. Anyway the problem is clear enough: the constexpr constructor calls the non-constexpr assignment operator. I will test a potential fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833875</commentid>
    <comment_count>1</comment_count>
      <attachid>449970</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-25 15:12:35 -0800</bug_when>
    <thetext>Created attachment 449970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833876</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-25 15:13:12 -0800</bug_when>
    <thetext>This patch at least doesn&apos;t break the build with GCC 11 on x86_64. My GCC 12 armv7hl build to ensure it actually fixes the bug is WIP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833882</commentid>
    <comment_count>3</comment_count>
      <attachid>449970</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-25 15:19:56 -0800</bug_when>
    <thetext>Comment on attachment 449970
Patch

This will not be needed once I land the patch in bug 235501, which eliminates this bad pattern (using operator= to implement a constructor), but it’s OK to land it now, I guess.

Unless you are wiling to wait</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833932</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-25 16:59:30 -0800</bug_when>
    <thetext>Hmm, that&apos;s a big patch. Normally, I would say &quot;let&apos;s land the small patch first, then rebase your big patch on it&quot; because my changes are small and it should be easy to adjust your patch for mine after it lands. However, looking at that diff, I notice you actually don&apos;t touch the constexpr constructor at all: you just removed the copy assignment operator, to prefer use of the default copy assignment operator. That seems good, but it means my change won&apos;t generate a merge conflict with yours, and we don&apos;t actually want my change anymore after yours lands. So you would just have to remember to revert my patch in yours, and that feels not worth it, at least if you&apos;re planning to land your patch soon.

In short: it&apos;s probably best to not commit this. Let&apos;s instead wait for your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833933</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-25 17:00:40 -0800</bug_when>
    <thetext>You can land first, I am willing to roll your change back out in a new version of my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833934</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-25 17:01:37 -0800</bug_when>
    <thetext>Wait, maybe you can just delete the custom assignment operator to fix this? Does it do anything valuable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833935</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-25 17:01:49 -0800</bug_when>
    <thetext>I think it doesn’t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833939</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-25 17:04:22 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Wait, maybe you can just delete the custom assignment operator to fix this?
&gt; Does it do anything valuable?

I think so. At least, that&apos;s what you did, so if it&apos;s not safe then I assume your patch has a problem. :P Will give that a try tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834170</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-26 11:00:26 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Wait, maybe you can just delete the custom assignment operator to fix this?
&gt; Does it do anything valuable?

This didn&apos;t work:

/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:164:71: warning: implicitly-declared &apos;constexpr WTF::MediaTime&amp; WTF::MediaTime::operator=(const WTF::MediaTime&amp;)&apos; is deprecated [-Wdeprecated-copy]
  164 |     *this = value &lt; 0 ? negativeInfiniteTime() : positiveInfiniteTime();
      |                                                                       ^
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:58:5: note: because &apos;WTF::MediaTime&apos; has user-provided &apos;WTF::MediaTime::MediaTime(const WTF::MediaTime&amp;)&apos;
   58 |     MediaTime(const MediaTime&amp; rhs);
      |     ^~~~~~~~~
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:164:23: error: expression &apos;((value &lt; 0) ? (&amp; WTF::MediaTime::negativeInfiniteTime()) : (&amp; WTF::MediaTime::positiveInfiniteTime()))&apos; is not a constant expression
  164 |     *this = value &lt; 0 ? negativeInfiniteTime() : positiveInfiniteTime();
      |             ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834191</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-26 11:28:31 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; (In reply to Darin Adler from comment #6)
&gt; &gt; Wait, maybe you can just delete the custom assignment operator to fix this?
&gt; &gt; Does it do anything valuable?
&gt; 
&gt; This didn&apos;t work:
&gt; 
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:164:71:
&gt; warning: implicitly-declared &apos;constexpr WTF::MediaTime&amp;
&gt; WTF::MediaTime::operator=(const WTF::MediaTime&amp;)&apos; is deprecated
&gt; [-Wdeprecated-copy]
&gt;   164 |     *this = value &lt; 0 ? negativeInfiniteTime() :
&gt; positiveInfiniteTime();
&gt;       |                                                                     
&gt; ^
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:58:5:
&gt; note: because &apos;WTF::MediaTime&apos; has user-provided
&gt; &apos;WTF::MediaTime::MediaTime(const WTF::MediaTime&amp;)&apos;
&gt;    58 |     MediaTime(const MediaTime&amp; rhs);
&gt;       |     ^~~~~~~~~
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:164:23:
&gt; error: expression &apos;((value &lt; 0) ? (&amp; WTF::MediaTime::negativeInfiniteTime())
&gt; : (&amp; WTF::MediaTime::positiveInfiniteTime()))&apos; is not a constant expression
&gt;   164 |     *this = value &lt; 0 ? negativeInfiniteTime() :
&gt; positiveInfiniteTime();
&gt;       |            
&gt; ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Let&apos;s remove both, `MediaTime::MediaTime(const MediaTime&amp; rhs)` constructor, and `operator=(const MediaTime&amp;)`.
Both are the same to the default-generated ones. So we can remove them, and they become constexpr (since MediaTime fields can be copied with constexpr).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834216</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-26 11:50:36 -0800</bug_when>
    <thetext>I&apos;ll try that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834243</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-26 12:55:04 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #10)
&gt; Let&apos;s remove both, `MediaTime::MediaTime(const MediaTime&amp; rhs)` constructor,
&gt; and `operator=(const MediaTime&amp;)`.
&gt; Both are the same to the default-generated ones. So we can remove them, and
&gt; they become constexpr (since MediaTime fields can be copied with constexpr).

Doesn&apos;t work. Same error message. I&apos;m not so sure that the default copy assignment operator is actually constexpr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834257</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-26 13:27:19 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #12)
&gt; (In reply to Yusuke Suzuki from comment #10)
&gt; &gt; Let&apos;s remove both, `MediaTime::MediaTime(const MediaTime&amp; rhs)` constructor,
&gt; &gt; and `operator=(const MediaTime&amp;)`.
&gt; &gt; Both are the same to the default-generated ones. So we can remove them, and
&gt; &gt; they become constexpr (since MediaTime fields can be copied with constexpr).
&gt; 
&gt; Doesn&apos;t work. Same error message. I&apos;m not so sure that the default copy
&gt; assignment operator is actually constexpr.

Same error message sounds strange since the error message is pointing the user-provided MediaTime constructor, which should be removed now.
Can you paste the error message?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834272</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-26 13:46:47 -0800</bug_when>
    <thetext>Well it&apos;s not the same error message from comment #0, but it&apos;s the same as comment #9:

In file included from /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.cpp:30:
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h: In constructor &apos;constexpr WTF::MediaTime::MediaTime(int64_t, uint32_t, uint8_t)&apos;:
/builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:165:23: error: expression &apos;((value &lt; 0) ? (&amp; WTF::MediaTime::negativeInfiniteTime()) : (&amp; WTF::MediaTime::positiveInfiniteTime()))&apos; is not a constant expression
  165 |     *this = value &lt; 0 ? negativeInfiniteTime() : positiveInfiniteTime();
      |             ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Build log: https://kojipkgs.fedoraproject.org//work/tasks/972/81960972/build.log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834376</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-26 17:35:50 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #14)
&gt; Well it&apos;s not the same error message from comment #0, but it&apos;s the same as
&gt; comment #9:
&gt; 
&gt; In file included from
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.cpp:30:
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h: In
&gt; constructor &apos;constexpr WTF::MediaTime::MediaTime(int64_t, uint32_t,
&gt; uint8_t)&apos;:
&gt; /builddir/build/BUILD/webkitgtk-2.35.1/Source/WTF/wtf/MediaTime.h:165:23:
&gt; error: expression &apos;((value &lt; 0) ? (&amp; WTF::MediaTime::negativeInfiniteTime())
&gt; : (&amp; WTF::MediaTime::positiveInfiniteTime()))&apos; is not a constant expression
&gt;   165 |     *this = value &lt; 0 ? negativeInfiniteTime() :
&gt; positiveInfiniteTime();
&gt;       |            
&gt; ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; 
&gt; Build log:
&gt; https://kojipkgs.fedoraproject.org//work/tasks/972/81960972/build.log

OK, then, we should move negativeInfiniteTime / positiveInfiniteTime (in MediaTime.cpp) to MediaTime.h as a constexpr static function under MediaTime, and then it looks fine.

    static constexpr MediaTime positiveInfiniteTime() { return { 0, 1, PositiveInfinite | Valid }; }
    static constexpr MediaTime negativeInfiniteTime() { return { -1, 1, NegativeInfinite | Valid }; }

But https://bugs.webkit.org/show_bug.cgi?id=235501 will fix these things more holistic way.
So, for now, I think it is OK to land the current patch to avoid compile error :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834377</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-01-26 18:17:53 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #15)
&gt; OK, then, we should move negativeInfiniteTime / positiveInfiniteTime (in
&gt; MediaTime.cpp) to MediaTime.h as a constexpr static function under
&gt; MediaTime, and then it looks fine.
&gt; 
&gt;     static constexpr MediaTime positiveInfiniteTime() { return { 0, 1,
&gt; PositiveInfinite | Valid }; }
&gt;     static constexpr MediaTime negativeInfiniteTime() { return { -1, 1,
&gt; NegativeInfinite | Valid }; }

Oh, hmm, you might be right.

&gt; But https://bugs.webkit.org/show_bug.cgi?id=235501 will fix these things
&gt; more holistic way.
&gt; So, for now, I think it is OK to land the current patch to avoid compile
&gt; error :)

Ack. I&apos;m sure Darin will remember to revert it as part of bug #235501.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834380</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-26 18:54:23 -0800</bug_when>
    <thetext>Committed r288660 (246468@main): &lt;https://commits.webkit.org/246468@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449970.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449970</attachid>
            <date>2022-01-25 15:12:35 -0800</date>
            <delta_ts>2022-01-26 18:54:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235610-20220125171234.patch</filename>
            <type>text/plain</type>
            <size>1807</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRlZWVkOGYxMWQ3MTk3NjJmZTg3OTM2
YzNkOTFhYTQyZmUyMDIxMWYuLmE4MzNkNTFhMzI3ZDQ0Njg1NmIyMDE1MzJlN2QzNTA4ZTViNmVj
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDEtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8
bWNhdGFuemFyb0Bnbm9tZS5vcmc+CisKKyAgICAgICAgQnVpbGQgZmFpbHVyZSB3aXRoIEdDQyAx
MjogTWVkaWFUaW1lLmg6MTY3OjcxOiBlcnJvcjogY2FsbCB0byBub24tJ2NvbnN0ZXhwcicgZnVu
Y3Rpb24gJ1dURjo6TWVkaWFUaW1lJiBXVEY6Ok1lZGlhVGltZTo6b3BlcmF0b3I9KGNvbnN0IFdU
Rjo6TWVkaWFUaW1lJiknCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzU2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGUgY29uc3RleHByIGNvbnN0cnVjdG9yIGNhbGxzIHRo
ZSBub24tY29uc3RleHByIGNvcHkgYXNzaWdubWVudCBvcGVyYXRvci4KKyAgICAgICAgVGhpcyBp
cyBlYXN5IHRvIGZpeCwgYXQgdGhlIGV4cGVuc2Ugb2YgcmVhZGFiaWxpdHksIGJ5IG9wZW4tY29k
aW5nIHRoZSBkZXNpcmVkIHZhbHVlcyBoZXJlLgorCisgICAgICAgICogd3RmL01lZGlhVGltZS5o
OgorICAgICAgICAoV1RGOjpNZWRpYVRpbWU6Ok1lZGlhVGltZSk6CisKIDIwMjItMDEtMjEgIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBSZWxheCBE
YXRlLnBhcnNlIHJlcXVpcmVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRp
bWUuaCBiL1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5oCmluZGV4IDcxYWNmMzI5ZWIzOTg5MzM1
MTJmZDdmM2Y1OGQ2MGJlY2ZmMjNjNTAuLmIwMTBiZDA2NDgzYWE3ZDQ1NWVmNWNlM2UzMGUxODhi
MTA2YTdkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lZGlhVGltZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL01lZGlhVGltZS5oCkBAIC0xNjQsNyArMTY0LDE3IEBAIGNvbnN0ZXhwciBN
ZWRpYVRpbWU6Ok1lZGlhVGltZShpbnQ2NF90IHZhbHVlLCB1aW50MzJfdCBzY2FsZSwgdWludDhf
dCBmbGFncykKICAgICBpZiAoc2NhbGUgfHwgIShmbGFncyAmIFZhbGlkKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgKnRoaXMgPSB2YWx1ZSA8IDAgPyBuZWdhdGl2ZUluZmluaXRlVGltZSgpIDog
cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKKyAgICBpZiAodmFsdWUgPCAwKSB7CisgICAgICAgIC8v
IE5lZ2F0aXZlIGluZmluaXRlIHRpbWUKKyAgICAgICAgbV90aW1lVmFsdWUgPSAtMTsKKyAgICAg
ICAgbV90aW1lU2NhbGUgPSAxOworICAgICAgICBtX3RpbWVGbGFncyA9IE5lZ2F0aXZlSW5maW5p
dGUgfCBWYWxpZDsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBQb3NpdGl2ZSBpbmZpbml0ZSB0
aW1lCisgICAgICAgIG1fdGltZVZhbHVlID0gMDsKKyAgICAgICAgbV90aW1lU2NhbGUgPSAxOwor
ICAgICAgICBtX3RpbWVGbGFncyA9IFBvc2l0aXZlSW5maW5pdGUgfCBWYWxpZDsKKyAgICB9CiB9
CiAKIGlubGluZSBNZWRpYVRpbWUgb3BlcmF0b3IqKGludDMyX3QgbGhzLCBjb25zdCBNZWRpYVRp
bWUmIHJocykgeyByZXR1cm4gcmhzLm9wZXJhdG9yKihsaHMpOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>