<?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>173952</bug_id>
          
          <creation_ts>2017-06-28 19:24:20 -0700</creation_ts>
          <short_desc>[GStreamer] Some layout tests issue &quot;g_mutex_clear() called on uninitialised or locked mutex&quot; and flaky crash in ~MediaPlayerPrivateGStreamerBase</short_desc>
          <delta_ts>2017-07-20 06:07:07 -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>WebKitGTK</component>
          <version>WebKit 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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>magomez</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1323796</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-28 19:24:20 -0700</bug_when>
    <thetext>&gt; STDERR: g_mutex_clear() called on uninitialised or locked mutex

For example,
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r218899%20(1980)/media/media-source/media-source-abort-resets-parser-crash-log.txt

Callstack:

&gt; Thread 1 (Thread 0x7f81a90c6a80 (LWP 3818)):
&gt; #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
&gt; #1  0x00007f81b06aa3fa in __GI_abort () at abort.c:89
&gt; #2  0x00007f81b51aa78f in g_mutex_clear () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gthread-posix.c:1300
&gt; #3  0x00007f81bd783b81 in WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase() ()
&gt; #4  0x00007f81bd7808c0 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() ()
&gt; #5  0x00007f81bd780a29 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() ()
&gt; #6  0x00007f81bd20e9aa in WebCore::MediaPlayer::~MediaPlayer() ()
&gt; #7  0x00007f81bd20ea39 in WebCore::MediaPlayer::~MediaPlayer() [clone .localalias.101] ()
&gt; #8  0x00007f81bcdc72a2 in WebCore::HTMLMediaElement::clearMediaPlayer(WebCore::HTMLMediaElementEnums::DelayedActionType) ()
&gt; #9  0x00007f81bcdca111 in WebCore::HTMLMediaElement::stop() ()
&gt; #10 0x00007f81bcc41e4b in WebCore::ScriptExecutionContext::stopActiveDOMObjects() ()
&gt; #11 0x00007f81bcbcaa00 in WebCore::Document::stopActiveDOMObjects() ()
&gt; #12 0x00007f81bcbcab07 in WebCore::Document::prepareForDestruction() ()
&gt; #13 0x00007f81bd096d72 in WebCore::Frame::setView(WTF::RefPtr&lt;WebCore::FrameView&gt;&amp;&amp;) ()
&gt; #14 0x00007f81bd0999cc in WebCore::Frame::createView(WebCore::IntSize const&amp;, WebCore::Color const&amp;, bool, WebCore::IntSize const&amp;, WebCore::IntRect const&amp;, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) ()
&gt; #15 0x00007f81b96f889b in WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #16 0x00007f81bcf669aa in WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) ()
&gt; #17 0x00007f81bcf66ae0 in WebCore::FrameLoader::commitProvisionalLoad() ()
&gt; #18 0x00007f81bcf40b74 in WebCore::DocumentLoader::finishedLoading() ()
&gt; #19 0x00007f81bcf41129 in WebCore::DocumentLoader::maybeLoadEmpty() ()
&gt; #20 0x00007f81bcf43cdd in WebCore::DocumentLoader::startLoadingMainResource() ()
&gt; #21 0x00007f81bcf674e8 in WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::FormState*, bool, WebCore::AllowNavigationToInvalidURL) ()
&gt; #22 0x00007f81bcf941cb in WebCore::PolicyCallback::call(bool) ()
&gt; #23 0x00007f81bcf99fda in WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction) ()
&gt; #24 0x00007f81b97003b8 in WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&amp;, WebCore::ResourceRequest const&amp;, WebCore::FormState*, WTF::Function&lt;void (WebCore::PolicyAction)&gt;&amp;&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #25 0x00007f81bcf9c611 in WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&amp;, bool, WebCore::DocumentLoader*, WebCore::FormState*, WTF::Function&lt;void (WebCore::ResourceRequest const&amp;, WebCore::FormState*, bool)&gt;) ()
&gt; #26 0x00007f81bcf678e4 in WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WebCore::FormState*, WebCore::AllowNavigationToInvalidURL) ()
&gt; #27 0x00007f81bcf6a1e1 in WebCore::FrameLoader::load(WebCore::FrameLoadRequest&amp;&amp;) ()
&gt; #28 0x00007f81b972ad65 in WebKit::WebPage::loadRequest(WebKit::LoadParameters const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #29 0x00007f81b98fc6b7 in void IPC::handleMessage&lt;Messages::WebPage::LoadAlternateHTMLString, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::LoadParameters const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::LoadParameters const&amp;)) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #30 0x00007f81b98fa359 in WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #31 0x00007f81b9510789 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #32 0x00007f81b9672516 in WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #33 0x00007f81b950c64b in IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #34 0x00007f81b950d57c in IPC::Connection::dispatchOneMessage() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #35 0x00007f81b74373dd in WTF::RunLoop::performWork() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #36 0x00007f81b746cd39 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #37 0x00007f81b51665ca in g_main_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3212
&gt; #38 g_main_context_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3865
&gt; #39 0x00007f81b5166948 in g_main_context_iterate () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3938
&gt; #40 0x00007f81b5166c62 in g_main_loop_run () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:4134
&gt; #41 0x00007f81b746d6e0 in WTF::RunLoop::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
&gt; #42 0x00007f81b98a6b62 in int WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt;(int, char**) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
&gt; #43 0x00007f81b06962b1 in __libc_start_main (main=0x7f81bc799000 &lt;main&gt;, argc=2, argv=0x7ffebfbcc718, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffebfbcc708) at ../csu/libc-start.c:291
&gt; #44 0x00007f81bc79954a in _start ()


Thread 29 seems to be locking the mutex.

&gt; Thread 29 (Thread 0x7f80e3af9700 (LWP 7329)):
(...)
&gt; #9  0x00007f81b6127e36 in gst_video_frame_map_id () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gst-plugins-base-1.10.4/gst-libs/gst/video/video-frame.c:103
&gt; #10 0x00007f81bd783414 in WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor() ()
&gt; #11 0x00007f81bd7836f8 in WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint(_GstSample*) ()
&gt; #12 0x00007f81bd7839fe in WebCore::MediaPlayerPrivateGStreamerBase::newPrerollCallback(_GstElement*, WebCore::MediaPlayerPrivateGStreamerBase*) ()
&gt; #13 0x00007f81ac9fc038 in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
(...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323904</commentid>
    <comment_count>1</comment_count>
      <attachid>314122</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-29 00:59:09 -0700</bug_when>
    <thetext>Created attachment 314122
WIP patch

I created a WIP patch.

* Lock m_sampleMutex at the beginning of signal handlers
* Lock m_sampleMutex while unregistering singnal handlers
* Change the mutex type of m_sampleMutex to GRecMutex

This WIP patch seems to solve the problem.
I&apos;m not sure this is a right fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323912</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-29 02:01:39 -0700</bug_when>
    <thetext>The sample mutex is not actually a GST mutex, so I wonder if we could use WTF locks instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323914</commentid>
    <comment_count>3</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-06-29 02:21:07 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #2)
&gt; The sample mutex is not actually a GST mutex, so I wonder if we could use
&gt; WTF locks instead.

Yes, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323917</commentid>
    <comment_count>4</comment_count>
      <attachid>314128</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-29 03:36:17 -0700</bug_when>
    <thetext>Created attachment 314128
WIP patch

Thank you, KaL and Xabier.
I revised WIP patch using WTF::RecursiveLockAdapter&lt;Lock&gt;.

I think there are still tiny possibility that a destructed mutex will be locked.
But, I don&apos;t have any idea to solve that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323918</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-29 03:50:57 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #4)
&gt; Created attachment 314128 [details]
&gt; WIP patch
&gt; 
&gt; Thank you, KaL and Xabier.
&gt; I revised WIP patch using WTF::RecursiveLockAdapter&lt;Lock&gt;.
&gt; 
&gt; I think there are still tiny possibility that a destructed mutex will be
&gt; locked.
&gt; But, I don&apos;t have any idea to solve that.

Do we really need recursive mutex? Is this something that has started to happen recently? It would be interesting to understand why this is happening now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324276</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-29 20:53:58 -0700</bug_when>
    <thetext>https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20%28Tests%29/builds/1679
This is the oldest build which has same crash.

Maybe, Bug 173248 has introduced this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324327</commentid>
    <comment_count>7</comment_count>
      <attachid>314243</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-30 00:10:07 -0700</bug_when>
    <thetext>Created attachment 314243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324339</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-30 00:47:50 -0700</bug_when>
    <thetext>I think the actual problem here is that cancelRepaint() does nothing in the case of GstGL when accelerated compositing is enabled. cancelRepaint() is called in the destructor before clearing the mutex, so we need to make it cancel the repaint to ensure the mutex is released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324391</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-06-30 06:53:38 -0700</bug_when>
    <thetext>Another idea is incrementing the ref count when adding to the Appsink and decrementing it when the Appsink is destructed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324395</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-30 07:05:45 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #9)
&gt; Another idea is incrementing the ref count when adding to the Appsink and
&gt; decrementing it when the Appsink is destructed.

Anything that doesn&apos;t require adding more locks is fine with me :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325018</commentid>
    <comment_count>11</comment_count>
      <attachid>314447</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-02 22:22:28 -0700</bug_when>
    <thetext>Created attachment 314447
WIP patch with gst_element_get_state()

(In reply to Fujii Hironori from comment #9)
&gt; Another idea is incrementing the ref count when adding to the Appsink and
&gt; decrementing it when the Appsink is destructed.

This my idea was wrong.
Incrementing ref count of MediaPlayerPrivateGStreamerBase won&apos;t trigger the destructor of MediaPlayerPrivateGStreamerBase.

(In reply to Carlos Garcia Campos from comment #8)
&gt; I think the actual problem here is that cancelRepaint() does nothing in the
&gt; case of GstGL when accelerated compositing is enabled. cancelRepaint() is
&gt; called in the destructor before clearing the mutex, so we need to make it
&gt; cancel the repaint to ensure the mutex is released.

I think unregistering singnal handler is the equivalent of the cancelRepaint.
The problem is that unregistering singnal handler is done asynchronously.

According to the document of gst_element_get_state(),
&lt;https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-state&gt;
gst_element_get_state() waits for the thread.
I created another WIP patch with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325394</commentid>
    <comment_count>12</comment_count>
      <attachid>314447</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-07-04 01:38:17 -0700</bug_when>
    <thetext>Comment on attachment 314447
WIP patch with gst_element_get_state()

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:247
&gt; +            GstState state;
&gt; +            gst_element_get_state(appsink.get(), &amp;state, nullptr, GST_CLOCK_TIME_NONE);

This looks like a hack to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325994</commentid>
    <comment_count>13</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-06 03:22:57 -0700</bug_when>
    <thetext>I&apos;m going to write a dissertation about the possible scenarios when a new sample arrives and how I think they work, and things that I think that could be improved or that I have doubts whether they are properly implemented. Please tell me what do you think. I have an idea to fix the bug but I need to be sure that my analysis is right. (I hope bugzilla doesn&apos;t screw the formatting).

All this happens inside MediaPlayerPrivateGStreamerBase.
When a new sample arrives from gstreamer, triggerRepaint() gets called (and run inside the gstreamer thread). It replaces the current sample with the new one and then there are 3 scenarios to paint the new sample:

* AC disabled (fallback videoSink is used). AC disabled gets detected by checking m_renderingCanBeAccelerated value. In this case a repaint gets scheduled in the main thread using m_drawTimer and the gstreamer thread waits in m_drawCondition. The main thread executes repaint(), which notifies the condition when it finishes to let the gstreamer thread continue.
Repaints can be cancelled in this case by stopping m_drawTimer and notifying the signal, as it&apos;s done. Calls to cancelRepaint() can be requested by the video sink at any moment.
Something that can be improved here is the repaint() function. It&apos;s currently checking some conditions to decide whether it was to notify the condition. But repaint() is only called when AC is disabled, and we always need to notify in that situation, so the checks are useless.


* AC enabled and using gst-gl (gl videoSink is used): In this case the frame in already in a texture and we just need to send the texture to the compositor. This is done in the gstreamer thread because it&apos;s a fast operation. No locks are involved here and no interaction with the main thread is required.
I have doubts about how we can cancel a repaint here. The only idea that comes to my mind is to set a flag from the main thread that avoids calling pushTextureToCompositor() from triggerRepaint() when it&apos;s set. Also, in this case cancelRepaint() only gets called in the destructor.
This seems to be the situation that causes the test crash. The destructor is running in the main thread while the gstreamer thread is executing pushTextureToCompositor(), which holds the sample lock. We have to guarantee that pushTextureToCompositor() is not running and is not going to run anymore before we clear the sample mutex.


* AC enabled and not using gst-gl (fallback videoSink is used): the frame is in a normal memory buffer and it needs to be copied into a texture before being sent to the compositor. The copy is performed in the compositor thread (I&apos;m not 100% sure why, but I think it&apos;s because we want to allocate the destination texture there). A call to pushTextureToCompositor() is scheduled on the compositor thread and the gstreamer thread waits on m_drawCondition, which gets notified at the end of pushTextureToCompositor().
Currently cancelRepaint() tries to cancel this by stopping the m_drawTimer (which is wrong cause it&apos;s not used) and notifying m_drawCondition. This releases the GStreamer thread, that could perform other operations before  pushTextureToCompositor() hasn&apos;t finished, which I think is not a good idea. I think we should not notify the condition in this case and let pushTextureToCompositor() finish.
In this case, cancelRepaint() can be invoked from the videoSink at any moment as well.


I&apos;ll send a WiP patch with a fix proposal so we can discuss it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326008</commentid>
    <comment_count>14</comment_count>
      <attachid>314718</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-06 04:26:24 -0700</bug_when>
    <thetext>Created attachment 314718
WiP patch

Patch changes:

* repaint() always notifies m_drawCondition
* cancelRepaint() only does something when AC is disabled
* triggerRepaint() locks m_drawMutex when handling both AC cases. If after getting the lock the m_deleting flag is enabled, don&apos;t try to render the new frame.
* destructor:
  * disconnect the signals before
  * when AC is enabled, lock m_drawMutex and set the m_deleting flag to true. This ensures that we wait there until pushTextureToCompositor() is finished if it&apos;s being executed, and that it won&apos;t be executed if it&apos;s pending.

I haven&apos;t extensively tested this yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326038</commentid>
    <comment_count>15</comment_count>
      <attachid>314718</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-07-06 08:50:02 -0700</bug_when>
    <thetext>Comment on attachment 314718
WiP patch

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

A more expert in rendering should review this but other than the missing changelog I see the patch ok.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:248
&gt; +    // If AC is disabled, this will release the gstreamer thread from the condition. Otherwise

GStreamer

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:252
&gt; +    // FIXME: I assume that at this point on no new signals can arrive, but there&apos;s the possibility that a last

Is it your intention to write a better patch for this or why do you write FIXME here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326288</commentid>
    <comment_count>16</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-06 18:38:33 -0700</bug_when>
    <thetext>I think your patch doesn&apos;t solve the original problem of this bug.
m_sampleMutex and m_drawMutex will be locked after destructed.

I&apos;ve found another problem.
m_renderingCanBeAccelerated is accessed from multiple threads without mutex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326416</commentid>
    <comment_count>17</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-07 00:38:55 -0700</bug_when>
    <thetext>(In reply to Xabier Rodríguez Calvar from comment #15)
&gt; 
&gt; Is it your intention to write a better patch for this or why do you write
&gt; FIXME here?

It&apos;s a WiP patch. I&apos;d like to get some feedback from Carlos García regarding the approach before proposing a formal one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329961</commentid>
    <comment_count>18</comment_count>
      <attachid>315792</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-18 06:08:22 -0700</bug_when>
    <thetext>Created attachment 315792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329962</commentid>
    <comment_count>19</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-07-18 06:10:07 -0700</bug_when>
    <thetext>Attachment 315792 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:498:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:554:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329972</commentid>
    <comment_count>20</comment_count>
      <attachid>315792</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-07-18 07:45:44 -0700</bug_when>
    <thetext>Comment on attachment 315792
Patch

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

Maybe Žan can have another look but you have r=me.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:174
&gt; +    void triggerVolumeChangedNotification();
&gt;      static void muteChangedCallback(MediaPlayerPrivateGStreamerBase*);
&gt; +    void triggerMuteChangedNotification();

These two functions are called at the end of the callers, they are called only once and have just one line (besides the lock) so I think you can inline them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330336</commentid>
    <comment_count>21</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-19 02:02:35 -0700</bug_when>
    <thetext>I&apos;ve been talking to Carlos García about how the MainThreadNotifier works, and it seems that adding the locks to the volume and mute functions is not necessary. Makes the patch simpler :). I&apos;ll upload a new version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330398</commentid>
    <comment_count>22</comment_count>
      <attachid>315932</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-19 10:27:16 -0700</bug_when>
    <thetext>Created attachment 315932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330525</commentid>
    <comment_count>23</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-19 17:56:03 -0700</bug_when>
    <thetext>The specification of gst_element_set_state():

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-set-state

&gt; This function can return GST_STATE_CHANGE_ASYNC, in which case
&gt; the element will perform the remainder of the state change
&gt; asynchronously in another thread. An application can use
&gt; gst_element_get_state() to wait for the completion of the state
&gt; change or it can wait for a GST_MESSAGE_ASYNC_DONE or
&gt; GST_MESSAGE_STATE_CHANGED on the bus.
&gt; 
&gt; State changes to GST_STATE_READY or GST_STATE_NULL never return
&gt; GST_STATE_CHANGE_ASYNC.

I didn&apos;t read the last sentence. Looks a nice fix to me.
I have tested your patch locally and confirmed the crash was fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330565</commentid>
    <comment_count>24</comment_count>
      <attachid>315932</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-07-19 22:49:11 -0700</bug_when>
    <thetext>Comment on attachment 315932
Patch

Excellent! this looks much better, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330607</commentid>
    <comment_count>25</comment_count>
      <attachid>315932</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-20 06:07:05 -0700</bug_when>
    <thetext>Comment on attachment 315932
Patch

Clearing flags on attachment: 315932

Committed r219681: &lt;http://trac.webkit.org/changeset/219681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330608</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-20 06:07:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314122</attachid>
            <date>2017-06-29 00:59:09 -0700</date>
            <delta_ts>2017-06-29 03:36:17 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>5518</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAppbmRleCBiZTUyMTUyMTgzZi4uYmVkMGU0NTNlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTIyOCw3ICsyMjgsNyBA
QCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlKE1lZGlhUGxheWVyKiBwbAogICAgICwgbV9wbGF0Zm9ybUxheWVyUHJveHkoYWRv
cHRSZWYobmV3IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkoKSkpCiAjZW5kaWYKIHsK
LSAgICBnX211dGV4X2luaXQoJm1fc2FtcGxlTXV0ZXgpOworICAgIGdfcmVjX211dGV4X2luaXQo
Jm1fc2FtcGxlTXV0ZXgpOwogfQogCiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCkBAIC0yNDEsMTMgKzI0MSwxNCBAQCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZSgpCiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hlZCht
X3ZpZGVvU2luay5nZXQoKSwgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgdGhpcyk7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKICAgICAgICAgaWYgKEdTVF9JU19C
SU4obV92aWRlb1NpbmsuZ2V0KCkpKSB7CisgICAgICAgICAgICBXVEY6OkdNdXRleExvY2tlcjxH
UmVjTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgICAgICAgICBHUmVmUHRyPEdzdEVs
ZW1lbnQ+IGFwcHNpbmsgPSBhZG9wdEdSZWYoZ3N0X2Jpbl9nZXRfYnlfbmFtZShHU1RfQklOX0NB
U1QobV92aWRlb1NpbmsuZ2V0KCkpLCAid2Via2l0LWdsLXZpZGVvLXNpbmsiKSk7CiAgICAgICAg
ICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEoYXBwc2luay5nZXQoKSwg
dGhpcyk7CiAgICAgICAgIH0KICNlbmRpZgogICAgIH0KIAotICAgIGdfbXV0ZXhfY2xlYXIoJm1f
c2FtcGxlTXV0ZXgpOworICAgIGdfcmVjX211dGV4X2NsZWFyKCZtX3NhbXBsZU11dGV4KTsKIAog
ICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIApAQCAtMzcwLDcgKzM3MSw3IEBAIEZsb2F0U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAg
aWYgKCFtX3ZpZGVvU2l6ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBtX3ZpZGVvU2l6ZTsK
IAotICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAg
ICBXVEY6OkdNdXRleExvY2tlcjxHUmVjTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAg
aWYgKCFHU1RfSVNfU0FNUExFKG1fc2FtcGxlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIEZsb2F0
U2l6ZSgpOwogCkBAIC01NzYsNyArNTc3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpwdXNoVGV4dHVyZVRvQ29tcG9zaXRvcigpCiAgICAgQ29uZGl0aW9uTm90aWZp
ZXIgbm90aWZpZXIobV9kcmF3TXV0ZXgsIG1fZHJhd0NvbmRpdGlvbik7CiAjZW5kaWYKIAotICAg
IFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAgICBXVEY6
OkdNdXRleExvY2tlcjxHUmVjTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgaWYgKCFH
U1RfSVNfU0FNUExFKG1fc2FtcGxlLmdldCgpKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC02Mzcs
NyArNjM4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2Vy
UmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKIHsKICAgICBib29sIHRyaWdnZXJSZXNpemU7CiAg
ICAgewotICAgICAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRl
eCk7CisgICAgICAgIFdURjo6R011dGV4TG9ja2VyPEdSZWNNdXRleD4gbG9jayhtX3NhbXBsZU11
dGV4KTsKICAgICAgICAgdHJpZ2dlclJlc2l6ZSA9ICFtX3NhbXBsZTsKICAgICAgICAgbV9zYW1w
bGUgPSBzYW1wbGU7CiAgICAgfQpAQCAtNjk1LDYgKzY5Niw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwYWludENhbmNlbGxlZENhbGxiYWNrKE1lZGlhUGxheWVy
UHJpdmF0CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3U2FtcGxlQ2FsbGJhY2soR3N0RWxlbWVudCogc2luaywg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyKQogeworICAgIFdURjo6R011
dGV4TG9ja2VyPEdSZWNNdXRleD4gbG9jayhwbGF5ZXItPm1fc2FtcGxlTXV0ZXgpOworICAgIGlm
ICghZ19zaWduYWxfaGFuZGxlcl9maW5kKHNpbmssIEdfU0lHTkFMX01BVENIX0RBVEEsIDAsIDAs
IG51bGxwdHIsIG51bGxwdHIsIHBsYXllcikpCisgICAgICAgIHJldHVybiBHU1RfRkxPV19PSzsK
ICAgICBHUmVmUHRyPEdzdFNhbXBsZT4gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9hcHBfc2lua19w
dWxsX3NhbXBsZShHU1RfQVBQX1NJTksoc2luaykpKTsKICAgICBwbGF5ZXItPnRyaWdnZXJSZXBh
aW50KHNhbXBsZS5nZXQoKSk7CiAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwpAQCAtNzAyLDYgKzcw
Niw5IEBAIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3
U2FtcGxlQ2FsbGJhY2soR3N0RWxlbWVudCogc2luCiAKIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3UHJlcm9sbENhbGxiYWNrKEdzdEVsZW1lbnQqIHNp
bmssIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqIHBsYXllcikKIHsKKyAgICBXVEY6
OkdNdXRleExvY2tlcjxHUmVjTXV0ZXg+IGxvY2socGxheWVyLT5tX3NhbXBsZU11dGV4KTsKKyAg
ICBpZiAoIWdfc2lnbmFsX2hhbmRsZXJfZmluZChzaW5rLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAw
LCAwLCBudWxscHRyLCBudWxscHRyLCBwbGF5ZXIpKQorICAgICAgICByZXR1cm4gR1NUX0ZMT1df
T0s7CiAgICAgR1JlZlB0cjxHc3RTYW1wbGU+IHNhbXBsZSA9IGFkb3B0R1JlZihnc3RfYXBwX3Np
bmtfcHVsbF9wcmVyb2xsKEdTVF9BUFBfU0lOSyhzaW5rKSkpOwogICAgIHBsYXllci0+dHJpZ2dl
clJlcGFpbnQoc2FtcGxlLmdldCgpKTsKICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CkBAIC03MDks
NyArNzE2LDcgQEAgR3N0Rmxvd1JldHVybiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpuZXdQcmVyb2xsQ2FsbGJhY2soR3N0RWxlbWVudCogc2kKIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpmbHVzaEN1cnJlbnRCdWZmZXIoKQogewotICAgIFdURjo6R011
dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAgICBXVEY6OkdNdXRleExv
Y2tlcjxHUmVjTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgbV9zYW1wbGUuY2xlYXIo
KTsKIAogICAgIHsKQEAgLTczNCw3ICs3NDEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2U6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYQog
ICAgIGlmICghbV9wbGF5ZXItPnZpc2libGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgV1RG
OjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgIFdURjo6R011
dGV4TG9ja2VyPEdSZWNNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBpZiAoIUdTVF9J
U19TQU1QTEUobV9zYW1wbGUuZ2V0KCkpKQogICAgICAgICByZXR1cm47CiAKQEAgLTc2MSw3ICs3
NjgsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNvcHlWaWRlb1Rl
eHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljcwogICAgIGlmIChwcmVtdWx0aXBseUFscGhh
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+
IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R1JlY011dGV4PiBs
b2NrKG1fc2FtcGxlTXV0ZXgpOwogCiAgICAgR3N0VmlkZW9JbmZvIHZpZGVvSW5mbzsKICAgICBp
ZiAoIWdldFNhbXBsZVZpZGVvSW5mbyhtX3NhbXBsZS5nZXQoKSwgdmlkZW9JbmZvKSkKQEAgLTc5
Myw3ICs4MDAsNyBAQCBOYXRpdmVJbWFnZVB0ciBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCkKICAgICBpZiAobV91c2luZ0ZhbGxiYWNr
VmlkZW9TaW5rKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIFdURjo6R011dGV4TG9j
a2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAgICBXVEY6OkdNdXRleExvY2tlcjxH
UmVjTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAKICAgICBHc3RWaWRlb0luZm8gdmlkZW9J
bmZvOwogICAgIGlmICghZ2V0U2FtcGxlVmlkZW9JbmZvKG1fc2FtcGxlLmdldCgpLCB2aWRlb0lu
Zm8pKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmgKaW5kZXggZTc2NmM1OGY0ZmQuLjg0NWQ0N2ZiNWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKQEAgLTE5Miw3ICsxOTIsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwogICAg
IG11dGFibGUgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBJ
bnRTaXplIG1fc2l6ZTsKLSAgICBtdXRhYmxlIEdNdXRleCBtX3NhbXBsZU11dGV4OworICAgIG11
dGFibGUgR1JlY011dGV4IG1fc2FtcGxlTXV0ZXg7CiAgICAgR1JlZlB0cjxHc3RTYW1wbGU+IG1f
c2FtcGxlOwogCiAgICAgbXV0YWJsZSBGbG9hdFNpemUgbV92aWRlb1NpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314128</attachid>
            <date>2017-06-29 03:36:17 -0700</date>
            <delta_ts>2017-06-30 00:10:02 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>5563</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAppbmRleCBiZTUyMTUyMTgzZi4uZDliMzk0ZWFkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTIyOCw3ICsyMjgsNiBA
QCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlKE1lZGlhUGxheWVyKiBwbAogICAgICwgbV9wbGF0Zm9ybUxheWVyUHJveHkoYWRv
cHRSZWYobmV3IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkoKSkpCiAjZW5kaWYKIHsK
LSAgICBnX211dGV4X2luaXQoJm1fc2FtcGxlTXV0ZXgpOwogfQogCiBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCkBAIC0y
NDEsMTQgKzI0MCwxMyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rp
c2Nvbm5lY3RfbWF0Y2hlZChtX3ZpZGVvU2luay5nZXQoKSwgR19TSUdOQUxfTUFUQ0hfREFUQSwg
MCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKICAg
ICAgICAgaWYgKEdTVF9JU19CSU4obV92aWRlb1NpbmsuZ2V0KCkpKSB7CisgICAgICAgICAgICBh
dXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fc2FtcGxlTXV0ZXgpOwogICAgICAgICAgICAgR1JlZlB0
cjxHc3RFbGVtZW50PiBhcHBzaW5rID0gYWRvcHRHUmVmKGdzdF9iaW5fZ2V0X2J5X25hbWUoR1NU
X0JJTl9DQVNUKG1fdmlkZW9TaW5rLmdldCgpKSwgIndlYmtpdC1nbC12aWRlby1zaW5rIikpOwog
ICAgICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9kYXRhKGFwcHNpbmsu
Z2V0KCksIHRoaXMpOwogICAgICAgICB9CiAjZW5kaWYKICAgICB9CiAKLSAgICBnX211dGV4X2Ns
ZWFyKCZtX3NhbXBsZU11dGV4KTsKLQogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIAogICAgIGlm
IChtX3ZvbHVtZUVsZW1lbnQpCkBAIC0zNzAsNyArMzY4LDcgQEAgRmxvYXRTaXplIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBpZiAoIW1f
dmlkZW9TaXplLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG1fdmlkZW9TaXplOwogCi0gICAg
V1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgIGF1dG8g
bG9ja2VyID0gaG9sZExvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgaWYgKCFHU1RfSVNfU0FNUExF
KG1fc2FtcGxlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCkBAIC01NzYs
NyArNTc0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwdXNoVGV4
dHVyZVRvQ29tcG9zaXRvcigpCiAgICAgQ29uZGl0aW9uTm90aWZpZXIgbm90aWZpZXIobV9kcmF3
TXV0ZXgsIG1fZHJhd0NvbmRpdGlvbik7CiAjZW5kaWYKIAotICAgIFdURjo6R011dGV4TG9ja2Vy
PEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2Nr
KG1fc2FtcGxlTXV0ZXgpOwogICAgIGlmICghR1NUX0lTX1NBTVBMRShtX3NhbXBsZS5nZXQoKSkp
CiAgICAgICAgIHJldHVybjsKIApAQCAtNjM3LDcgKzYzNSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiB7
CiAgICAgYm9vbCB0cmlnZ2VyUmVzaXplOwogICAgIHsKLSAgICAgICAgV1RGOjpHTXV0ZXhMb2Nr
ZXI8R011dGV4PiBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgICAgICBhdXRvIGxvY2tlciA9IGhv
bGRMb2NrKG1fc2FtcGxlTXV0ZXgpOwogICAgICAgICB0cmlnZ2VyUmVzaXplID0gIW1fc2FtcGxl
OwogICAgICAgICBtX3NhbXBsZSA9IHNhbXBsZTsKICAgICB9CkBAIC02OTUsNiArNjkzLDkgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBhaW50Q2FuY2VsbGVkQ2Fs
bGJhY2soTWVkaWFQbGF5ZXJQcml2YXQKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQogR3N0Rmxvd1Jl
dHVybiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuZXdTYW1wbGVDYWxsYmFjayhH
c3RFbGVtZW50KiBzaW5rLCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIp
CiB7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhwbGF5ZXItPm1fc2FtcGxlTXV0ZXgpOwor
ICAgIGlmICghZ19zaWduYWxfaGFuZGxlcl9maW5kKHNpbmssIEdfU0lHTkFMX01BVENIX0RBVEEs
IDAsIDAsIG51bGxwdHIsIG51bGxwdHIsIHBsYXllcikpCisgICAgICAgIHJldHVybiBHU1RfRkxP
V19PSzsKICAgICBHUmVmUHRyPEdzdFNhbXBsZT4gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9hcHBf
c2lua19wdWxsX3NhbXBsZShHU1RfQVBQX1NJTksoc2luaykpKTsKICAgICBwbGF5ZXItPnRyaWdn
ZXJSZXBhaW50KHNhbXBsZS5nZXQoKSk7CiAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwpAQCAtNzAy
LDYgKzcwMyw5IEBAIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6bmV3U2FtcGxlQ2FsbGJhY2soR3N0RWxlbWVudCogc2luCiAKIEdzdEZsb3dSZXR1cm4gTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3UHJlcm9sbENhbGxiYWNrKEdzdEVsZW1l
bnQqIHNpbmssIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqIHBsYXllcikKIHsKKyAg
ICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKHBsYXllci0+bV9zYW1wbGVNdXRleCk7CisgICAgaWYg
KCFnX3NpZ25hbF9oYW5kbGVyX2ZpbmQoc2luaywgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwg
bnVsbHB0ciwgbnVsbHB0ciwgcGxheWVyKSkKKyAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwog
ICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X2FwcF9zaW5rX3B1
bGxfcHJlcm9sbChHU1RfQVBQX1NJTksoc2luaykpKTsKICAgICBwbGF5ZXItPnRyaWdnZXJSZXBh
aW50KHNhbXBsZS5nZXQoKSk7CiAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwpAQCAtNzA5LDcgKzcx
Myw3IEBAIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3
UHJlcm9sbENhbGxiYWNrKEdzdEVsZW1lbnQqIHNpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6Zmx1c2hDdXJyZW50QnVmZmVyKCkKIHsKLSAgICBXVEY6OkdNdXRleExv
Y2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xk
TG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBtX3NhbXBsZS5jbGVhcigpOwogCiAgICAgewpAQCAt
NzM0LDcgKzczOCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFp
bnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hCiAgICAgaWYgKCFtX3BsYXll
ci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBXVEY6OkdNdXRleExvY2tlcjxH
TXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayht
X3NhbXBsZU11dGV4KTsKICAgICBpZiAoIUdTVF9JU19TQU1QTEUobV9zYW1wbGUuZ2V0KCkpKQog
ICAgICAgICByZXR1cm47CiAKQEAgLTc2MSw3ICs3NjUsNyBAQCBib29sIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2U6OmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFw
aGljcwogICAgIGlmIChwcmVtdWx0aXBseUFscGhhKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsKIAogICAgIEdzdFZpZGVvSW5m
byB2aWRlb0luZm87CiAgICAgaWYgKCFnZXRTYW1wbGVWaWRlb0luZm8obV9zYW1wbGUuZ2V0KCks
IHZpZGVvSW5mbykpCkBAIC03OTMsNyArNzk3LDcgQEAgTmF0aXZlSW1hZ2VQdHIgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiAgICAg
aWYgKG1fdXNpbmdGYWxsYmFja1ZpZGVvU2luaykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
LSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsKIAogICAgIEdzdFZpZGVvSW5m
byB2aWRlb0luZm87CiAgICAgaWYgKCFnZXRTYW1wbGVWaWRlb0luZm8obV9zYW1wbGUuZ2V0KCks
IHZpZGVvSW5mbykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuaAppbmRleCBlNzY2YzU4ZjRmZC4uYWE3MzZlMDBhNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVjdXJzaXZlTG9ja0FkYXB0
ZXIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVS
KQpAQCAtMTkyLDcgKzE5Myw3IEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllcjo6UmVhZHlT
dGF0ZSBtX3JlYWR5U3RhdGU7CiAgICAgbXV0YWJsZSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRl
IG1fbmV0d29ya1N0YXRlOwogICAgIEludFNpemUgbV9zaXplOwotICAgIG11dGFibGUgR011dGV4
IG1fc2FtcGxlTXV0ZXg7CisgICAgbXV0YWJsZSBXVEY6OlJlY3Vyc2l2ZUxvY2tBZGFwdGVyPExv
Y2s+IG1fc2FtcGxlTXV0ZXg7CiAgICAgR1JlZlB0cjxHc3RTYW1wbGU+IG1fc2FtcGxlOwogCiAg
ICAgbXV0YWJsZSBGbG9hdFNpemUgbV92aWRlb1NpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314243</attachid>
            <date>2017-06-30 00:10:07 -0700</date>
            <delta_ts>2017-07-02 22:22:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173952-20170630160740.patch</filename>
            <type>text/plain</type>
            <size>8301</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViNDVjZTA2N2ZhMjNl
NjdmNzNhY2M3ZTE1ZjUyMTZlZDk0ZjBhMS4uN2FiZThhZWY0NDczODUwNTgzNDg5NjU2ZTlmODQ4
ZTE2ZjAxM2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTA2LTI5ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtHU3RyZWFt
ZXJdIFNvbWUgbGF5b3V0IHRlc3RzIGlzc3VlICJnX211dGV4X2NsZWFyKCkgY2FsbGVkIG9uIHVu
aW5pdGlhbGlzZWQgb3IgbG9ja2VkIG11dGV4IiBhbmQgZmxha3kgY3Jhc2ggaW4gfk1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3Mzk1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIG1fc2FtcGxlTXV0ZXggd2FzIGRlc3RydWN0ZWQgd2hpbGUgaXQgd2Fz
IGJlaW5nIGxvY2tlZCBpbgorICAgICAgICBBcHBTaW5rJ3Mgc2FtcGxpbmcgY2FsbGJhY2tzLgor
CisgICAgICAgIEludHJvZHVjZWQgYSBuZXcgbXV0ZXggdG8gbG9jayB0aGUgd2hvbGUgY29kZSBv
ZiB0aGUgY2FsbGJhY2tzIGFuZAorICAgICAgICB0aGUgY29kZSB1bnJlZ2lzdGVyaW5nIHRoZSBj
YWxsYmFja3MuCisKKyAgICAgICAgQ2hhbmdlIHRoZSBtdXRleCB0eXBlIG9mIG1fc2FtcGxlTXV0
ZXggZnJvbSBHTXV0ZXggdG8gV1RGOjpMb2NrCisgICAgICAgIGJlY2F1c2UgaXQgZG9lc24ndCBu
ZWVkIHRvIGJlIEdNdXRleC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkgY292ZXJl
ZCBieSBleGlzdGluZyBtZWRpYSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UpOgorICAgICAgICBSZW1vdmVkIGNhbGxpbmcgZ19tdXRleF9pbml0
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6fk1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UpOgorICAgICAgICBSZW1vdmVkIGNhbGxpbmcg
Z19tdXRleF9jbGVhci4gTG9jayB0aGUgY29kZSB1bnJlZ2lzdGVyaW5nIGNhbGxiYWNrcy4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxT
aXplKToKKyAgICAgICAgVXNlIGhvbGRMb2NrIGluc3RlYWQgb2YgV1RGOjpHTXV0ZXhMb2NrZXI8
R011dGV4Pi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OnB1c2hUZXh0dXJlVG9Db21wb3NpdG9yKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludCk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Zmx1c2hD
dXJyZW50QnVmZmVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjpwYWludCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0
dXJlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuZXdTYW1wbGVDYWxsYmFjayk6
CisgICAgICAgIExvY2sgd2hvbGUgdGhpcyBjYWxsYmFjayBmdW5jdGlvbi4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5ld1ByZXJvbGxDYWxsYmFj
ayk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisgICAgICAgIEFkZGVkIGEgbmV3IG11dGV4IG1f
c2lnbmFsSGFuZGxlck11dGV4LiBVc2UgV1RGOjpMb2NrIGluc3RlYWQgb2YgR011dGV4IGZvciBt
X3NhbXBsZU11dGV4LgorCiAyMDE3LTA2LTI4ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlh
LmNvbT4KIAogICAgICAgICBBbGlnbiBEb2N1bWVudDo6Y2FuTmF2aWdhdGUgb24gdGhlIEhUTTUg
c3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuY3BwCmluZGV4IGJlNTIxNTIxODNmZWQ2ZDRkMWU3NzZhY2ViZjA1MzRmZWY2
Zjg4MWUuLjhjYTZlMDRlNTRlNGQ2OWJjNmZkY2Q3ZGQ4MjkwZjMzMjA3ODdhZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAg
LTIyOCw3ICsyMjgsNiBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlKE1lZGlhUGxheWVyKiBwbAogICAgICwgbV9wbGF0Zm9y
bUxheWVyUHJveHkoYWRvcHRSZWYobmV3IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHko
KSkpCiAjZW5kaWYKIHsKLSAgICBnX211dGV4X2luaXQoJm1fc2FtcGxlTXV0ZXgpOwogfQogCiBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZSgpCkBAIC0yNDEsMTQgKzI0MCwxMyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCiAgICAgICAgIGdfc2ln
bmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hlZChtX3ZpZGVvU2luay5nZXQoKSwgR19TSUdO
QUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CiAjaWYgVVNFKEdT
VFJFQU1FUl9HTCkKICAgICAgICAgaWYgKEdTVF9JU19CSU4obV92aWRlb1NpbmsuZ2V0KCkpKSB7
CisgICAgICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fc2lnbmFsSGFuZGxlck11dGV4
KTsKICAgICAgICAgICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gYXBwc2luayA9IGFkb3B0R1JlZihn
c3RfYmluX2dldF9ieV9uYW1lKEdTVF9CSU5fQ0FTVChtX3ZpZGVvU2luay5nZXQoKSksICJ3ZWJr
aXQtZ2wtdmlkZW8tc2luayIpKTsKICAgICAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nv
bm5lY3RfYnlfZGF0YShhcHBzaW5rLmdldCgpLCB0aGlzKTsKICAgICAgICAgfQogI2VuZGlmCiAg
ICAgfQogCi0gICAgZ19tdXRleF9jbGVhcigmbV9zYW1wbGVNdXRleCk7Ci0KICAgICBtX3BsYXll
ciA9IG51bGxwdHI7CiAKICAgICBpZiAobV92b2x1bWVFbGVtZW50KQpAQCAtMzcwLDcgKzM2OCw3
IEBAIEZsb2F0U2l6ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6
ZSgpIGNvbnN0CiAgICAgaWYgKCFtX3ZpZGVvU2l6ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biBtX3ZpZGVvU2l6ZTsKIAotICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3Nh
bXBsZU11dGV4KTsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fc2FtcGxlTXV0ZXgpOwog
ICAgIGlmICghR1NUX0lTX1NBTVBMRShtX3NhbXBsZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBG
bG9hdFNpemUoKTsKIApAQCAtNTc2LDcgKzU3NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6cHVzaFRleHR1cmVUb0NvbXBvc2l0b3IoKQogICAgIENvbmRpdGlvbk5v
dGlmaWVyIG5vdGlmaWVyKG1fZHJhd011dGV4LCBtX2RyYXdDb25kaXRpb24pOwogI2VuZGlmCiAK
LSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBpZiAoIUdTVF9JU19T
QU1QTEUobV9zYW1wbGUuZ2V0KCkpKQogICAgICAgICByZXR1cm47CiAKQEAgLTYzNyw3ICs2MzUs
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50
KEdzdFNhbXBsZSogc2FtcGxlKQogewogICAgIGJvb2wgdHJpZ2dlclJlc2l6ZTsKICAgICB7Ci0g
ICAgICAgIFdURjo6R011dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKKyAg
ICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsKICAgICAgICAgdHJp
Z2dlclJlc2l6ZSA9ICFtX3NhbXBsZTsKICAgICAgICAgbV9zYW1wbGUgPSBzYW1wbGU7CiAgICAg
fQpAQCAtNjk1LDYgKzY5Myw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6cmVwYWludENhbmNlbGxlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0CiAjaWYgVVNFKEdT
VFJFQU1FUl9HTCkKIEdzdEZsb3dSZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6bmV3U2FtcGxlQ2FsbGJhY2soR3N0RWxlbWVudCogc2luaywgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZSogcGxheWVyKQogeworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socGxh
eWVyLT5tX3NpZ25hbEhhbmRsZXJNdXRleCk7CisgICAgaWYgKCFnX3NpZ25hbF9oYW5kbGVyX2Zp
bmQoc2luaywgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgcGxh
eWVyKSkKKyAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogICAgIEdSZWZQdHI8R3N0U2FtcGxl
PiBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X2FwcF9zaW5rX3B1bGxfc2FtcGxlKEdTVF9BUFBfU0lO
SyhzaW5rKSkpOwogICAgIHBsYXllci0+dHJpZ2dlclJlcGFpbnQoc2FtcGxlLmdldCgpKTsKICAg
ICByZXR1cm4gR1NUX0ZMT1dfT0s7CkBAIC03MDIsNiArNzAzLDkgQEAgR3N0Rmxvd1JldHVybiBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuZXdTYW1wbGVDYWxsYmFjayhHc3RFbGVt
ZW50KiBzaW4KIAogR3N0Rmxvd1JldHVybiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpuZXdQcmVyb2xsQ2FsbGJhY2soR3N0RWxlbWVudCogc2luaywgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZSogcGxheWVyKQogeworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socGxh
eWVyLT5tX3NpZ25hbEhhbmRsZXJNdXRleCk7CisgICAgaWYgKCFnX3NpZ25hbF9oYW5kbGVyX2Zp
bmQoc2luaywgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgcGxh
eWVyKSkKKyAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogICAgIEdSZWZQdHI8R3N0U2FtcGxl
PiBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbChHU1RfQVBQX1NJ
Tksoc2luaykpKTsKICAgICBwbGF5ZXItPnRyaWdnZXJSZXBhaW50KHNhbXBsZS5nZXQoKSk7CiAg
ICAgcmV0dXJuIEdTVF9GTE9XX09LOwpAQCAtNzA5LDcgKzcxMyw3IEBAIEdzdEZsb3dSZXR1cm4g
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV3UHJlcm9sbENhbGxiYWNrKEdzdEVs
ZW1lbnQqIHNpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Zmx1c2hD
dXJyZW50QnVmZmVyKCkKIHsKLSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9z
YW1wbGVNdXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsK
ICAgICBtX3NhbXBsZS5jbGVhcigpOwogCiAgICAgewpAQCAtNzM0LDcgKzczOCw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0JiBj
b250ZXh0LCBjb25zdCBGbG9hCiAgICAgaWYgKCFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVN
dXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBp
ZiAoIUdTVF9JU19TQU1QTEUobV9zYW1wbGUuZ2V0KCkpKQogICAgICAgICByZXR1cm47CiAKQEAg
LTc2MSw3ICs3NjUsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNv
cHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljcwogICAgIGlmIChwcmVtdWx0
aXBseUFscGhhKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBXVEY6OkdNdXRleExvY2tl
cjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX3NhbXBsZU11dGV4KTsKIAogICAgIEdzdFZpZGVvSW5mbyB2aWRlb0luZm87CiAgICAgaWYg
KCFnZXRTYW1wbGVWaWRlb0luZm8obV9zYW1wbGUuZ2V0KCksIHZpZGVvSW5mbykpCkBAIC03OTMs
NyArNzk3LDcgQEAgTmF0aXZlSW1hZ2VQdHIgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiAgICAgaWYgKG1fdXNpbmdGYWxsYmFja1Zp
ZGVvU2luaykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBXVEY6OkdNdXRleExvY2tl
cjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX3NhbXBsZU11dGV4KTsKIAogICAgIEdzdFZpZGVvSW5mbyB2aWRlb0luZm87CiAgICAgaWYg
KCFnZXRTYW1wbGVWaWRlb0luZm8obV9zYW1wbGUuZ2V0KCksIHZpZGVvSW5mbykpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAppbmRleCBlNzY2
YzU4ZjRmZGQ2MjRmZWMxMzg2N2YzZWI3ODc2MTE1ZmY1NDkzLi5iNmJiMDNmMmMwYmNmMDU4Zjkz
MzQ4N2ZiODM2OGZlZmQ2MWJjNGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmgKQEAgLTEzNCw2ICsxMzQsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCBHc3RFbGVtZW50KiBjcmVhdGVWaWRlb1NpbmsoKTsKIAogI2lmIFVTRShHU1RS
RUFNRVJfR0wpCisgICAgTG9jayBtX3NpZ25hbEhhbmRsZXJNdXRleDsKICAgICBzdGF0aWMgR3N0
Rmxvd1JldHVybiBuZXdTYW1wbGVDYWxsYmFjayhHc3RFbGVtZW50KiwgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZSopOwogICAgIHN0YXRpYyBHc3RGbG93UmV0dXJuIG5ld1ByZXJvbGxD
YWxsYmFjayhHc3RFbGVtZW50KiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSopOwog
ICAgIHZvaWQgZmx1c2hDdXJyZW50QnVmZmVyKCk7CkBAIC0xOTIsNyArMTkzLDcgQEAgcHJvdGVj
dGVkOgogICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBtdXRh
YmxlIE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbV9uZXR3b3JrU3RhdGU7CiAgICAgSW50U2l6
ZSBtX3NpemU7Ci0gICAgbXV0YWJsZSBHTXV0ZXggbV9zYW1wbGVNdXRleDsKKyAgICBtdXRhYmxl
IExvY2sgbV9zYW1wbGVNdXRleDsKICAgICBHUmVmUHRyPEdzdFNhbXBsZT4gbV9zYW1wbGU7CiAK
ICAgICBtdXRhYmxlIEZsb2F0U2l6ZSBtX3ZpZGVvU2l6ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314447</attachid>
            <date>2017-07-02 22:22:28 -0700</date>
            <delta_ts>2017-07-18 06:08:13 -0700</delta_ts>
            <desc>WIP patch with gst_element_get_state()</desc>
            <filename>w.patch</filename>
            <type>text/plain</type>
            <size>863</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAppbmRleCBiZTUyMTUyMTgzZi4uMmQ0OTk2MWYyN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTI0Myw2ICsyNDMsOCBA
QCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZSgpCiAgICAgICAgIGlmIChHU1RfSVNfQklOKG1fdmlkZW9TaW5rLmdldCgpKSkg
ewogICAgICAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBhcHBzaW5rID0gYWRvcHRHUmVmKGdz
dF9iaW5fZ2V0X2J5X25hbWUoR1NUX0JJTl9DQVNUKG1fdmlkZW9TaW5rLmdldCgpKSwgIndlYmtp
dC1nbC12aWRlby1zaW5rIikpOwogICAgICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29u
bmVjdF9ieV9kYXRhKGFwcHNpbmsuZ2V0KCksIHRoaXMpOworICAgICAgICAgICAgR3N0U3RhdGUg
c3RhdGU7CisgICAgICAgICAgICBnc3RfZWxlbWVudF9nZXRfc3RhdGUoYXBwc2luay5nZXQoKSwg
JnN0YXRlLCBudWxscHRyLCBHU1RfQ0xPQ0tfVElNRV9OT05FKTsKICAgICAgICAgfQogI2VuZGlm
CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314718</attachid>
            <date>2017-07-06 04:26:24 -0700</date>
            <delta_ts>2017-07-18 06:08:17 -0700</delta_ts>
            <desc>WiP patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>4102</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAppbmRleCBiZTUyMTUyLi42ZTk0NWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC0yMzUsOCArMjM1LDYgQEAgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UoKQogewogICAgIG1fbm90aWZpZXItPmludmFsaWRhdGUoKTsKIAotICAgIGNhbmNlbFJlcGFp
bnQoKTsKLQogICAgIGlmIChtX3ZpZGVvU2luaykgewogICAgICAgICBnX3NpZ25hbF9oYW5kbGVy
c19kaXNjb25uZWN0X21hdGNoZWQobV92aWRlb1NpbmsuZ2V0KCksIEdfU0lHTkFMX01BVENIX0RB
VEEsIDAsIDAsIG51bGxwdHIsIG51bGxwdHIsIHRoaXMpOwogI2lmIFVTRShHU1RSRUFNRVJfR0wp
CkBAIC0yNDcsNiArMjQ1LDIyIEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKCkKICNlbmRpZgogICAgIH0KIAorICAgIC8v
IElmIEFDIGlzIGRpc2FibGVkLCB0aGlzIHdpbGwgcmVsZWFzZSB0aGUgZ3N0cmVhbWVyIHRocmVh
ZCBmcm9tIHRoZSBjb25kaXRpb24uIE90aGVyd2lzZQorICAgIC8vIGl0IHdvbid0IGRvIGFueXRo
aW5nLgorICAgIGNhbmNlbFJlcGFpbnQoKTsKKworICAgIC8vIEZJWE1FOiBJIGFzc3VtZSB0aGF0
IGF0IHRoaXMgcG9pbnQgb24gbm8gbmV3IHNpZ25hbHMgY2FuIGFycml2ZSwgYnV0IHRoZXJlJ3Mg
dGhlIHBvc3NpYmlsaXR5IHRoYXQgYSBsYXN0CisgICAgLy8gdHJpZ2dlclJlcGFpbnQoKSBjYWxs
IGlzIGJlaW5nIGV4ZWN1dGVkLiBJZiB0cmlnZ2VyUmVwYWludCgpIGhhcyBhbHJlYWR5IGxvY2tl
ZCBtX2RyYXdNdXRleCB3ZSBuZWVkCisgICAgLy8gdG8gd2FpdCB1bnRpbCBpdCBmaW5pc2hlcyBz
byB3ZSBkb24ndCB0cnkgdG8gY2xlYXIgbV9zYW1wbGVNdXRleCB3aGlsZSBpdCdzIGJlaW5nIGxv
Y2tlZCBpbnNpZGUKKyAgICAvLyBwdXNoVGV4dHVyZVRvQ29tcG9zaXRvcigpLiBJZiB3ZSBnZXQg
dGhlIGxvY2sgYmVmb3JlIHRyaWdnZXJSZXBhaW50KCksIHNldCB0aGUgbV9kZWxldGluZyBmbGFn
CisgICAgLy8gdG8gdHJ1ZSwgc28gdHJpZ2dlclJlcGFpbnQoKSBkb2Vzbid0IGNhbGwgcHVzaFRl
eHR1cmVUb0NvbXBvc2l0b3IoKSB3aGVuIGl0IGdldHMgdGhlIGxvY2suCisgICAgLy8gV2UgY2Fu
bm90IGhvbGQgdGhlIGxvY2sgZm9yIHRoZSB3aG9sZSBkdXJhdGlvbiBvZiB0aGUgZGVzdHJ1Y3Rv
ciBiZWNhdXNlIHdlIG5lZWQgdG8gIHBlcmZvcm0KKyAgICAvLyBjYWxscyB0aGF0IG5lZWQgdGhl
IGdzdHJlYW1lciB0aHJlYWQgcnVubmluZy4KKyAgICBpZiAobV9yZW5kZXJpbmdDYW5CZUFjY2Vs
ZXJhdGVkKSB7CisgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX2RyYXdNdXRleCk7CisgICAgICAg
IG1fZGVsZXRpbmcgPSB0cnVlOworICAgIH0KKwogICAgIGdfbXV0ZXhfY2xlYXIoJm1fc2FtcGxl
TXV0ZXgpOwogCiAgICAgbV9wbGF5ZXIgPSBudWxscHRyOwpAQCAtNjIyLDE1ICs2MzYsOCBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnJlcGFpbnQoKQogCiAgICAgbV9w
bGF5ZXItPnJlcGFpbnQoKTsKIAotI2lmIFVTRShHU1RSRUFNRVJfR0wpCi0gICAgYm9vbCBzaG91
bGROb3RpZnlEcmF3ID0gIW1fcmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZDsKLSNlbHNlCi0gICAg
Ym9vbCBzaG91bGROb3RpZnlEcmF3ID0gdHJ1ZTsKLSNlbmRpZgotICAgIGlmIChzaG91bGROb3Rp
ZnlEcmF3KSB7Ci0gICAgICAgIExvY2tIb2xkZXIgbG9jayhtX2RyYXdNdXRleCk7Ci0gICAgICAg
IG1fZHJhd0NvbmRpdGlvbi5ub3RpZnlPbmUoKTsKLSAgICB9CisgICAgTG9ja0hvbGRlciBsb2Nr
KG1fZHJhd011dGV4KTsKKyAgICBtX2RyYXdDb25kaXRpb24ubm90aWZ5T25lKCk7CiB9CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2Ft
cGxlKiBzYW1wbGUpCkBAIC02NTQsMTYgKzY2MSwxOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCisgICAgTG9ja0hvbGRlciBsb2NrKG1fZHJhd011dGV4KTsKKwor
ICAgIC8vIERvIG5vdCB0cnkgdG8gcmVuZGVyIHRoZSBuZXcgc2FtcGxlIGlzIHRoZSBkZXN0cnVj
dG9yIGlzIGJlaW5nIGV4ZWN1dGVkIGluIHRoZSBtYWluIHRocmVhZC4KKyAgICBpZiAobV9kZWxl
dGluZykKKyAgICAgICAgcmV0dXJuOworCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogI2lm
IFVTRShHU1RSRUFNRVJfR0wpCiAgICAgcHVzaFRleHR1cmVUb0NvbXBvc2l0b3IoKTsKICNlbHNl
Ci0gICAgewotICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9kcmF3TXV0ZXgpOwotICAgICAgICBp
ZiAoIW1fcGxhdGZvcm1MYXllclByb3h5LT5zY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVh
ZChbdGhpc10geyB0aGlzLT5wdXNoVGV4dHVyZVRvQ29tcG9zaXRvcigpOyB9KSkKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0ZXgpOwot
ICAgIH0KKyAgICBpZiAoIW1fcGxhdGZvcm1MYXllclByb3h5LT5zY2hlZHVsZVVwZGF0ZU9uQ29t
cG9zaXRvclRocmVhZChbdGhpc10geyB0aGlzLT5wdXNoVGV4dHVyZVRvQ29tcG9zaXRvcigpOyB9
KSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011dGV4
KTsKICNlbmRpZgogI2VuZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIH0KQEAgLTY3NSwx
MiArNjg1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBhaW50
Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWUKIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpjYW5jZWxSZXBhaW50KCkKIHsKLSNpZiBVU0UoR1NUUkVBTUVS
X0dMKQotICAgIGJvb2wgc2hvdWxkQ2FuY2VsUmVwYWludCA9ICFtX3JlbmRlcmluZ0NhbkJlQWNj
ZWxlcmF0ZWQ7Ci0jZWxzZQotICAgIGJvb2wgc2hvdWxkQ2FuY2VsUmVwYWludCA9IHRydWU7Ci0j
ZW5kaWYKLSAgICBpZiAoc2hvdWxkQ2FuY2VsUmVwYWludCkgeworICAgIGlmICghbV9yZW5kZXJp
bmdDYW5CZUFjY2VsZXJhdGVkKSB7CiAgICAgICAgIG1fZHJhd1RpbWVyLnN0b3AoKTsKICAgICAg
ICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwogICAgICAgICBtX2RyYXdDb25kaXRp
b24ubm90aWZ5T25lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuaAppbmRleCBlNzY2YzU4Li4xZmExOTI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKQEAgLTIxNSw2ICsyMTUsNyBA
QCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIAogICAgIEltYWdlT3JpZW50YXRpb24gbV92aWRlb1NvdXJj
ZU9yaWVudGF0aW9uOworICAgIGJvb2wgbV9kZWxldGluZyB7IGZhbHNlIH07CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315792</attachid>
            <date>2017-07-18 06:08:22 -0700</date>
            <delta_ts>2017-07-19 10:27:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173952-20170718150820.patch</filename>
            <type>text/plain</type>
            <size>8294</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQxNWFhY2U3ZDU0Yzhk
YjE2YTMyMTJkMDZhNjhmZjhiNmFjYTk0Ni4uYWZhNWYzMGMyNWYzNGFlZjg5ZDMyNjFhMmM0NDk3
MzkyM2Y1ZjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTA3LTE4ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl0gU29t
ZSBsYXlvdXQgdGVzdHMgaXNzdWUgImdfbXV0ZXhfY2xlYXIoKSBjYWxsZWQgb24gdW5pbml0aWFs
aXNlZCBvciBsb2NrZWQgbXV0ZXgiIGFuZCBmbGFreSBjcmFzaCBpbiB+TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTczOTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgbmV3IGxvY2sgdG8gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZSwgYW5kIHVzZSBpdCB0byBhdm9pZCBzaWduYWwgaGFuZGxlcnMgaW4gdGhlCisgICAgICAgIEdT
dHJlYW1lciB0aHJlYWQgdG8gcnVuIGF0IHRoZSBzYW1lIHRpbWUgdGhhbiB0aGUgY2xhc3MgZGVz
dHJ1Y3Rvci4gQWxzbyByZW1vdmUgc29tZSB3cm9uZworICAgICAgICBjaGVja3MuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBleGlzdGVudCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6On5NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlKToKKyAgICAgICAgVXNlIHRoZSBsb2NrIHRvIGVuc3VyZSB0
aGF0IHRoZXJlIGFyZSBubyBoYW5kbGVycyBydW5uaW5nIGF0IHRoZSBzYW1lIHRpbWUuCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp2b2x1bWVDaGFu
Z2VkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6dHJpZ2dlclZvbHVtZUNoYW5nZWROb3RpZmljYXRpb24pOgorICAgICAgICBGdW5j
dGlvbiBhZGRlZCB0byBob2xkIHRoZSBuZXcgbG9jayBmb3IgaXRzIGR1cmF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bXV0ZUNoYW5nZWRD
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlOjp0cmlnZ2VyTXV0ZUNoYW5nZWROb3RpZmljYXRpb24pOgorICAgICAgICBGdW5jdGlvbiBh
ZGRlZCB0byBob2xkIHRoZSBuZXcgbG9jayBmb3IgaXRzIGR1cmF0aW9uLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWlu
dCk6CisgICAgICAgIEhvbGQgdGhlIG5ldyBsb2NrIGZvciB0aGUgZnVuY3Rpb24gZHVyYXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjYW5j
ZWxSZXBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oOgorCiAyMDE3LTA3LTE4ICBCYXN1a2UgU3V6dWtp
ICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBbQ3VybF0gVW5pZnkgUmVzb3Vy
Y2VIYW5kbGVNYW5hZ2VyIGludG8gQ3VybEpvYk1hbmFnZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggNTc1ZDM1ODJhZWQx
ZWE4YmU2MGM2NDNiNTE2MGEwMDllMTJkN2QyYi4uZTE2ODJlYzk3YTRjOTY0YzJkODhkNTAxMTVk
N2U5NWMwOWIxODhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtMjM3LDEwICsyMzcsOCBAQCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKE1lZGlhUGxh
eWVyKiBwbAogCiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZSgpCiB7Ci0gICAgbV9ub3RpZmllci0+aW52YWxpZGF0ZSgpOwot
Ci0gICAgY2FuY2VsUmVwYWludCgpOwotCisgICAgLy8gRmlyc3QsIGRpc2Nvbm5lY3QgdGhlIHNp
Z25hbHMgZnJvbSB0aGUgcGlwZWxpbmUuIFRoZSBoYW5kbGVycyBydW4gaW4gdGhlIEdTdHJlYW1l
ciB0aHJlYWQsIHNvIHdlIG5lZWQgdG8KKyAgICAvLyBnZXQgc3VyZSB0aGF0IG5vIG5ldyBoYW5k
bGVycyBhcmUgaW52b2tlZCBiZWZvcmUgZGVzdHJveWluZyB0aGlzIGNsYXNzLgogICAgIGlmICht
X3ZpZGVvU2luaykgewogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNo
ZWQobV92aWRlb1NpbmsuZ2V0KCksIEdfU0lHTkFMX01BVENIX0RBVEEsIDAsIDAsIG51bGxwdHIs
IG51bGxwdHIsIHRoaXMpOwogI2lmIFVTRShHU1RSRUFNRVJfR0wpCkBAIC0yNTEsMTMgKzI0OSwz
MCBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZSgpCiAjZW5kaWYKICAgICB9CiAKKyAgICBpZiAobV92b2x1bWVFbGVtZW50
KQorICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQobV92b2x1bWVF
bGVtZW50LmdldCgpLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAwLCAwLCBudWxscHRyLCBudWxscHRy
LCB0aGlzKTsKKworICAgIC8vIEZyb20gdGhpcyBwb2ludCBvbiwgbm8gbmV3IHNpZ25hbHMgY2Fu
IGFycml2ZSBmcm9tIHRoZSBwaXBlbGluZS4gQnV0IGl0J3MgcG9zc2libGUgdGhhdCB0aGVyZSdz
IGEgaGFuZGxlcgorICAgIC8vIGN1cnJlbnRseSBydW5uaW5nLiBUaGUgaGFuZGxlcnMgdGhhdCBj
b3VsZCBiZSBydW5uaW5nIGFyZSB0cmlnZ2VyUmVwYWludCgpLCB0cmlnZ2VyVm9sdW1lQ2hhbmdl
ZE5vdGlmaWNhdGlvbigpCisgICAgLy8gYW5kIHRyaWdnZXJNdXRlQ2hhbmdlZE5vdGlmaWNhdGlv
bigpLiBBbGwgb2YgdGhlbSBsb2NrIG1fZGVzdHJ1Y3Rvck11dGV4IGZvciB0aGVpciBkdXJhdGlv
biwgc28gbG9jayBvbiBpdCBhcworICAgIC8vIHdlbGwgdG8gd2FpdCB1bnRpbCB0aGV5IGFyZSBm
aW5pc2hlZC4gT25jZSB3ZSBoYXZlIHRoZSBsb2NrLCB3ZSBjYW4gYmUgc3VyZSB0aGF0IG5vIGhh
bmRsZXJzIGFyZSBiZWluZyBydW4KKyAgICAvLyBhbmQgd2UgY2FuIGRlc3Ryb3kgdGhlIHBsYXll
ciByZXNvdXJjZXMuCisKKyAgICAvLyBJZiBBQyBpcyBkaXNhYmxlZCwgdGhpcyB3aWxsIHJlbGVh
c2UgdGhlIGdzdHJlYW1lciB0aHJlYWQgZnJvbSBtX2RyYXdDb25kaXRpb24uIFRoaXMgaGFzIHRv
IGJlIGRvbmUgYmVmb3JlCisgICAgLy8gbG9ja2luZyBtX2Rlc3RydWN0b3JNdXRleCBvciBpdCB3
aWxsIGNhdXNlIGEgZGVhZGxvY2s6IHRoaXMgdGhyZWFkIHdhaXRpbmcgZm9yIG1fZGVzdHJ1Y3Rv
ck11dGV4IGFuZCB0aGUKKyAgICAvLyBHU3RyZWFtZXIgdGhyZWFkIHdhaXRpbmcgZm9yIG1fZHJh
d0NvbmRpdGlvbi4KKyAgICBjYW5jZWxSZXBhaW50KCk7CisKKyAgICBMb2NrSG9sZGVyIGRlc3Ry
dWN0b3JMb2NrKG1fZGVzdHJ1Y3Rvck11dGV4KTsKKworICAgIC8vIEludmFsaWRhdGUgdGhlIG5v
dGlmaWVyIGhlcmUsIGFzIGEgbGFzdCBub3RpZnk6dm9sdW1lIG9yIG5vdGlmeTptdXRlIHNpZ25h
bCBjb3VsZCBoYXZlIHN0b3JlZAorICAgIC8vIGEgbm90aWZpY2F0aW9uIHRvIGJlIHJ1biBpbiB0
aGUgbWFpbiB0aHJlYWQsIGFuZCB3ZSBkb24ndCB3YW50IGl0IHRvIHJ1biBhZnRlciB0aGUgZGVz
dHJ1Y3Rvci4KKyAgICBtX25vdGlmaWVyLT5pbnZhbGlkYXRlKCk7CisKICAgICBnX211dGV4X2Ns
ZWFyKCZtX3NhbXBsZU11dGV4KTsKIAogICAgIG1fcGxheWVyID0gbnVsbHB0cjsKIAotICAgIGlm
IChtX3ZvbHVtZUVsZW1lbnQpCi0gICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3Rf
bWF0Y2hlZChtX3ZvbHVtZUVsZW1lbnQuZ2V0KCksIEdfU0lHTkFMX01BVENIX0RBVEEsIDAsIDAs
IG51bGxwdHIsIG51bGxwdHIsIHRoaXMpOwotCiAgICAgaWYgKG1fcGlwZWxpbmUpCiAgICAgICAg
IGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7
CiB9CkBAIC00NzMsNyArNDg4LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6dm9sdW1lQ2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTCiAgICAgLy8g
VGhpcyBpcyBjYWxsZWQgd2hlbiBtX3ZvbHVtZUVsZW1lbnQgcmVjZWl2ZXMgdGhlIG5vdGlmeTo6
dm9sdW1lIHNpZ25hbC4KICAgICBHU1RfREVCVUcoIlZvbHVtZSBjaGFuZ2VkIHRvOiAlZiIsIHBs
YXllci0+dm9sdW1lKCkpOwogCi0gICAgcGxheWVyLT5tX25vdGlmaWVyLT5ub3RpZnkoTWFpblRo
cmVhZE5vdGlmaWNhdGlvbjo6Vm9sdW1lQ2hhbmdlZCwgW3BsYXllcl0geyBwbGF5ZXItPm5vdGlm
eVBsYXllck9mVm9sdW1lQ2hhbmdlKCk7IH0pOworICAgIHBsYXllci0+dHJpZ2dlclZvbHVtZUNo
YW5nZWROb3RpZmljYXRpb24oKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlOjp0cmlnZ2VyVm9sdW1lQ2hhbmdlZE5vdGlmaWNhdGlvbigpCit7CisgICAgTG9ja0hv
bGRlciBkZXN0cnVjdG9yTG9jayhtX2Rlc3RydWN0b3JNdXRleCk7CisKKyAgICBtX25vdGlmaWVy
LT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6Vm9sdW1lQ2hhbmdlZCwgW3RoaXNdIHsg
dGhpcy0+bm90aWZ5UGxheWVyT2ZWb2x1bWVDaGFuZ2UoKTsgfSk7CiB9CiAKIE1lZGlhUGxheWVy
OjpOZXR3b3JrU3RhdGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmV0d29ya1N0
YXRlKCkgY29uc3QKQEAgLTUyMiw3ICs1NDQsMTQgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpub3RpZnlQbGF5ZXJPZk11dGUoKQogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjptdXRlQ2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UqIHBsYXllcikKIHsKICAgICAvLyBUaGlzIGlzIGNhbGxlZCB3aGVuIG1fdm9s
dW1lRWxlbWVudCByZWNlaXZlcyB0aGUgbm90aWZ5OjptdXRlIHNpZ25hbC4KLSAgICBwbGF5ZXIt
Pm1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpNdXRlQ2hhbmdlZCwg
W3BsYXllcl0geyBwbGF5ZXItPm5vdGlmeVBsYXllck9mTXV0ZSgpOyB9KTsKKyAgICBwbGF5ZXIt
PnRyaWdnZXJNdXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpOworfQorCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJNdXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpCit7
CisgICAgTG9ja0hvbGRlciBkZXN0cnVjdG9yTG9jayhtX2Rlc3RydWN0b3JNdXRleCk7CisKKyAg
ICBtX25vdGlmaWVyLT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6TXV0ZUNoYW5nZWQs
IFt0aGlzXSB7IHRoaXMtPm5vdGlmeVBsYXllck9mTXV0ZSgpOyB9KTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjphY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRlQ2hh
bmdlZCgpCkBAIC02MjYsMTkgKzY1NSwxNCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OnJlcGFpbnQoKQogCiAgICAgbV9wbGF5ZXItPnJlcGFpbnQoKTsKIAotI2lmIFVT
RShHU1RSRUFNRVJfR0wpCi0gICAgYm9vbCBzaG91bGROb3RpZnlEcmF3ID0gIW1fcmVuZGVyaW5n
Q2FuQmVBY2NlbGVyYXRlZDsKLSNlbHNlCi0gICAgYm9vbCBzaG91bGROb3RpZnlEcmF3ID0gdHJ1
ZTsKLSNlbmRpZgotICAgIGlmIChzaG91bGROb3RpZnlEcmF3KSB7Ci0gICAgICAgIExvY2tIb2xk
ZXIgbG9jayhtX2RyYXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd0NvbmRpdGlvbi5ub3RpZnlPbmUo
KTsKLSAgICB9CisgICAgTG9ja0hvbGRlciBsb2NrKG1fZHJhd011dGV4KTsKKyAgICBtX2RyYXdD
b25kaXRpb24ubm90aWZ5T25lKCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiB7CisgICAgTG9ja0hv
bGRlciBkZXN0cnVjdG9yTG9jayhtX2Rlc3RydWN0b3JNdXRleCk7CisKICAgICBib29sIHRyaWdn
ZXJSZXNpemU7CiAgICAgewogICAgICAgICBXVEY6OkdNdXRleExvY2tlcjxHTXV0ZXg+IGxvY2so
bV9zYW1wbGVNdXRleCk7CkBAIC02NzksMTIgKzcwMyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZTo6cmVwYWludENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y2FuY2VsUmVwYWlu
dCgpCiB7Ci0jaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBib29sIHNob3VsZENhbmNlbFJlcGFp
bnQgPSAhbV9yZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkOwotI2Vsc2UKLSAgICBib29sIHNob3Vs
ZENhbmNlbFJlcGFpbnQgPSB0cnVlOwotI2VuZGlmCi0gICAgaWYgKHNob3VsZENhbmNlbFJlcGFp
bnQpIHsKKyAgICBpZiAoIW1fcmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZCkgewogICAgICAgICBt
X2RyYXdUaW1lci5zdG9wKCk7CiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4
KTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLm5vdGlmeU9uZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKaW5kZXggZTc2NmM1OGY0ZmRk
NjI0ZmVjMTM4NjdmM2ViNzg3NjExNWZmNTQ5My4uNGUxNGUxN2NmY2QzM2VkMDlhNzNkZDQ5ODE4
YWU3YTRlYmE1NDBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5oCkBAIC0xNjksNyArMTY5LDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
bm90aWZ5UGxheWVyT2ZNdXRlKCk7CiAKICAgICBzdGF0aWMgdm9pZCB2b2x1bWVDaGFuZ2VkQ2Fs
bGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSopOworICAgIHZvaWQgdHJpZ2dl
clZvbHVtZUNoYW5nZWROb3RpZmljYXRpb24oKTsKICAgICBzdGF0aWMgdm9pZCBtdXRlQ2hhbmdl
ZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqKTsKKyAgICB2b2lkIHRy
aWdnZXJNdXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpOwogCiAgICAgZW51bSBNYWluVGhyZWFkTm90
aWZpY2F0aW9uIHsKICAgICAgICAgVmlkZW9DaGFuZ2VkID0gMSA8PCAwLApAQCAtMjAxLDYgKzIw
Myw3IEBAIHByb3RlY3RlZDoKIAogICAgIENvbmRpdGlvbiBtX2RyYXdDb25kaXRpb247CiAgICAg
TG9jayBtX2RyYXdNdXRleDsKKyAgICBMb2NrIG1fZGVzdHJ1Y3Rvck11dGV4OwogICAgIFJ1bkxv
b3A6OlRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U+IG1fZHJhd1RpbWVyOwog
CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315932</attachid>
            <date>2017-07-19 10:27:16 -0700</date>
            <delta_ts>2017-07-20 06:07:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173952-20170719192714.patch</filename>
            <type>text/plain</type>
            <size>3700</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFmOTFkOTU2MmNjOGRj
NzgwYzRkZDBlNzA2MDYwZTQ0YmZlNDMxYi4uMTU0NTRjOGZkMGE2ZDA4ZjJiMmViMDQxZjAwMjM2
MGMxMDYwNjRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA3LTE5ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl0gU29t
ZSBsYXlvdXQgdGVzdHMgaXNzdWUgImdfbXV0ZXhfY2xlYXIoKSBjYWxsZWQgb24gdW5pbml0aWFs
aXNlZCBvciBsb2NrZWQgbXV0ZXgiIGFuZCBmbGFreSBjcmFzaCBpbiB+TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTczOTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRqdXN0IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UgdG8gYXZvaWQg
Y29uY3VycmVuY2UgcHJvYmxlbXMgd2l0aCB0aGUgR1N0cmVhbWVyIHRocmVhZCB3aGVuCisgICAg
ICAgIGRlc3Ryb3lpbmcgdGhlIG9iamVjdC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0ZW50
IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpjYW5jZWxSZXBhaW50KToKKwogMjAxNy0wNy0xOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBsZW1lbnQgV1RGOjpUaHJlYWRHcm91
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
Y3BwCmluZGV4IDU3NWQzNTgyYWVkMWVhOGJlNjBjNjQzYjUxNjBhMDA5ZTEyZDdkMmIuLjI5MzJk
YTVlOTFkODk4MmY2M2M0OGFmN2Q4MDVjNjdhYTQ4MDM0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTIzOSw4ICsyMzks
NiBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZSgpCiB7CiAgICAgbV9ub3RpZmllci0+aW52YWxpZGF0ZSgpOwogCi0gICAg
Y2FuY2VsUmVwYWludCgpOwotCiAgICAgaWYgKG1fdmlkZW9TaW5rKSB7CiAgICAgICAgIGdfc2ln
bmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hlZChtX3ZpZGVvU2luay5nZXQoKSwgR19TSUdO
QUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CiAjaWYgVVNFKEdT
VFJFQU1FUl9HTCkKQEAgLTI1MSwxNSArMjQ5LDIwIEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKCkKICNlbmRpZgogICAg
IH0KIAotICAgIGdfbXV0ZXhfY2xlYXIoJm1fc2FtcGxlTXV0ZXgpOwotCi0gICAgbV9wbGF5ZXIg
PSBudWxscHRyOwotCiAgICAgaWYgKG1fdm9sdW1lRWxlbWVudCkKICAgICAgICAgZ19zaWduYWxf
aGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKG1fdm9sdW1lRWxlbWVudC5nZXQoKSwgR19TSUdO
QUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CiAKKyAgICAvLyBU
aGlzIHdpbGwgcmVsZWFzZSB0aGUgR1N0cmVhbWVyIHRocmVhZCBmcm9tIG1fZHJhd0NvbmRpdGlv
biBpZiBBQyBpcyBkaXNhYmxlZC4KKyAgICBjYW5jZWxSZXBhaW50KCk7CisKKyAgICAvLyBUaGUg
Y2hhbmdlIHRvIEdTVF9TVEFURV9OVUxMIHN0YXRlIGlzIGFsd2F5cyBzeW5jaHJvbm91cy4gU28g
YWZ0ZXIgdGhpcyBnZXRzIGV4ZWN1dGVkIHdlIGRvbid0IG5lZWQgdG8gd29ycnkKKyAgICAvLyBh
Ym91dCBoYW5kbGVycyBydW5uaW5nIGluIHRoZSBHU3RyZWFtZXIgdGhyZWFkLgogICAgIGlmICht
X3BpcGVsaW5lKQogICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZS5nZXQo
KSwgR1NUX1NUQVRFX05VTEwpOworCisgICAgZ19tdXRleF9jbGVhcigmbV9zYW1wbGVNdXRleCk7
CisKKyAgICBtX3BsYXllciA9IG51bGxwdHI7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZTo6c2V0UGlwZWxpbmUoR3N0RWxlbWVudCogcGlwZWxpbmUpCkBAIC02MjYs
MTUgKzYyOSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwYWlu
dCgpCiAKICAgICBtX3BsYXllci0+cmVwYWludCgpOwogCi0jaWYgVVNFKEdTVFJFQU1FUl9HTCkK
LSAgICBib29sIHNob3VsZE5vdGlmeURyYXcgPSAhbV9yZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVk
OwotI2Vsc2UKLSAgICBib29sIHNob3VsZE5vdGlmeURyYXcgPSB0cnVlOwotI2VuZGlmCi0gICAg
aWYgKHNob3VsZE5vdGlmeURyYXcpIHsKLSAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fZHJhd011
dGV4KTsKLSAgICAgICAgbV9kcmF3Q29uZGl0aW9uLm5vdGlmeU9uZSgpOwotICAgIH0KKyAgICBM
b2NrSG9sZGVyIGxvY2sobV9kcmF3TXV0ZXgpOworICAgIG1fZHJhd0NvbmRpdGlvbi5ub3RpZnlP
bmUoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2Vy
UmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKQEAgLTY3OSwxMiArNjc1LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBhaW50Q2FsbGJhY2soTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWUKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpj
YW5jZWxSZXBhaW50KCkKIHsKLSNpZiBVU0UoR1NUUkVBTUVSX0dMKQotICAgIGJvb2wgc2hvdWxk
Q2FuY2VsUmVwYWludCA9ICFtX3JlbmRlcmluZ0NhbkJlQWNjZWxlcmF0ZWQ7Ci0jZWxzZQotICAg
IGJvb2wgc2hvdWxkQ2FuY2VsUmVwYWludCA9IHRydWU7Ci0jZW5kaWYKLSAgICBpZiAoc2hvdWxk
Q2FuY2VsUmVwYWludCkgeworICAgIGlmICghbV9yZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkKSB7
CiAgICAgICAgIG1fZHJhd1RpbWVyLnN0b3AoKTsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIo
bV9kcmF3TXV0ZXgpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ubm90aWZ5T25lKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>