<?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>203460</bug_id>
          
          <creation_ts>2019-10-26 10:00:03 -0700</creation_ts>
          <short_desc>REGRESSION(2.27.2): [GTK] Incognito mode is broken under flatpak</short_desc>
          <delta_ts>2019-11-26 02:28:16 -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>
          
          
          <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="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1584249</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-10-26 10:00:03 -0700</bug_when>
    <thetext>Since 2.27.2, Epiphany&apos;s incognito mode no longer works. No page content is rendered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584887</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-10-29 04:11:13 -0700</bug_when>
    <thetext>I can&apos;t reproduce this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584898</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-10-29 07:08:14 -0700</bug_when>
    <thetext>It&apos;s 100% reproducible using Tech Preview if you manually downgrade the runtime to get a runtime built with 2.27.2:

$ flatpak update --commit=eac891c0f64c367302e877cd7cc1a79acc5d995f47951c01a1eb563c6616f972 org.gnome.Platform//master

(I&apos;ve since rolled back to 2.26 due to this and other issues.)

(In reply to Michael Catanzaro from comment #0)
&gt; Since 2.27.2, Epiphany&apos;s incognito mode no longer works. No page content is
&gt; rendered.

I just noticed if you create a new tab so that loading spinners are visible, you can see that page loads do not complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587768</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-06 07:25:15 -0800</bug_when>
    <thetext>Note this is a blocker for Tech Preview, we will stay with 2.26 indefinitely until this is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588137</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-07 00:40:20 -0800</bug_when>
    <thetext>We can&apos;t fix something we can&apos;t reproduce unless we get more info. I don&apos;t see why this would be a blocker if it only happened to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588196</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-07 06:47:28 -0800</bug_when>
    <thetext>I assume it probably would affect all Tech Preview users, not just me. Have you followed my instruction to downgrade the runtime to reproduce it?

If you&apos;re using Tech Preview with runtime commit eac891c0f64c367302e877cd7cc1a79acc5d995f47951c01a1eb563c6616f972 and you can&apos;t reproduce, that would be news to me. In that case, I&apos;m not sure how we should proceed, because I no longer have time for debugging WebKit.

If you&apos;re not using Tech Preview with runtime commit eac891c0f64c367302e877cd7cc1a79acc5d995f47951c01a1eb563c6616f972, then I suggest doing so, because that should probably allow you to reproduce.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588200</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-07 06:51:04 -0800</bug_when>
    <thetext>I&apos;m not using Tech Preview at all, I use jhbuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588238</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-07 08:36:20 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; It&apos;s 100% reproducible using Tech Preview if you manually downgrade the
&gt; runtime to get a runtime built with 2.27.2:
&gt; 
&gt; $ flatpak update
&gt; --commit=eac891c0f64c367302e877cd7cc1a79acc5d995f47951c01a1eb563c6616f972
&gt; org.gnome.Platform//master

Looks like I copy/pasted the wrong commit, sorry. That runtime actually has 2.26.1. This works to get 2.27.2 and reproduces the issue:

$ flatpak update --commit=829ed46e7c9913831c022592cc19bda29d8ce800f73aacd5abbe74de06de3a8d org.gnome.Platform//master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588243</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-07 08:49:13 -0800</bug_when>
    <thetext>BTW there is no relevant debug output on the command line.

This works fine:

$ flatpak run org.gnome.Epiphany.Devel//master -p

But this does not work:

$ flatpak run org.gnome.Epiphany.Devel//master -i

Problem is (a) no web content is rendered, and (b) if a new tab is created, it will continue loading forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588633</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-08 07:29:03 -0800</bug_when>
    <thetext>OK the problem is the network process crashes in a loop, but only in incognito mode. There&apos;s no rendering problem, just the page fails to load. We don&apos;t show any indication of page load state when there&apos;s only one tab, which is why I incorrectly assumed a rendering problem.

Backtrace is interesting. The crash is occurring deep inside WTF::parseES5DateFromNullTerminatedCharacters.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  invalid_name (name=0x0) at ../sysdeps/posix/opendir.c:89
89	  if (__glibc_unlikely (invalid_name (name)))

(gdb) bt full
#0  0x00007f0f6aeb6214 in invalid_name (name=0x0) at ../sysdeps/posix/opendir.c:89
#1  0x00007f0f6aeb6214 in __opendir (name=0x0) at ../sysdeps/posix/opendir.c:89
#2  0x00007f0f6b910213 in WTF::Optional&lt;std::tuple&lt;WTF::String, WTF::String&gt; &gt;::operator*() &amp; (this=0x7f0f210fda90)
    at DerivedSources/ForwardingHeaders/wtf/Optional.h:528
        arguments = 
                    {&lt;WTF::Optional_base&lt;std::tuple&lt;WTF::String, WTF::String&gt; &gt;&gt; = {init_ = 208, storage_ = {dummy_ = 212 &apos;\324&apos;, value_ = std::tuple containing = {[1] = {static MaxLength = 2147483647, m_impl = {static isRefPtr = &lt;error reading variable: Missing ELF symbol &quot;WTF::RefPtr&lt;WTF::StringImpl, WTF::DumbPtrTraits&lt;WTF::StringImpl&gt; &gt;::isRefPtr&quot;.&gt;, m_ptr = 0x7f0f643d3010}}, [2] = {static MaxLength = 2147483647, m_impl = {static isRefPtr = &lt;error reading variable: Missing ELF symbol &quot;WTF::RefPtr&lt;WTF::StringImpl, WTF::DumbPtrTraits&lt;WTF::StringImpl&gt; &gt;::isRefPtr&quot;.&gt;, m_ptr = 0x7f0f6b9194d4 &lt;IPC::handleMessage&lt;Messages::DrawingAreaProxy::DidUpdateBackingStoreState, WebKit::DrawingAreaProxy, void (WebKit::DrawingAreaProxy::*)(unsigned long, WebKit::UpdateInfo const&amp;, WebKit::LayerTreeContext const&amp;)&gt;(IPC::Decoder&amp;, WebKit::DrawingAreaProxy*, void (WebKit::DrawingAreaProxy::*)(unsigned long, WebKit::UpdateInfo const&amp;, WebKit::LayerTreeContext const&amp;))+12&gt;}}}}}, &lt;No data fields&gt;}
        completionHandler = 
              {m_function = {m_callableWrapper = std::unique_ptr&lt;class WTF::Detail::CallableWrapperBase&lt;void, bool&gt;&gt; = {get() = 0x7f0f643d200c}}}
#3  0x00007f0f6b910213 in IPC::handleMessageSynchronous&lt;Messages::PluginControllerProxy::HandleEditingCommand, WebKit::PluginControllerProxy, void (WebKit::PluginControllerProxy::*)(WTF::String const&amp;, WTF::String const&amp;, WTF::CompletionHandler&lt;void (bool)&gt;&amp;&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, std::unique_ptr&lt;IPC::Encoder, std::default_delete&lt;IPC::Encoder&gt; &gt;&amp;, WebKit::PluginControllerProxy*, void (WebKit::PluginControllerProxy::*)(WTF::String const&amp;, WTF::String const&amp;, WTF::CompletionHandler&lt;void (bool)&gt;&amp;&amp;))
    (connection=..., decoder=..., replyEncoder=std::unique_ptr&lt;class IPC::Encoder&gt; = {...}, object=0x0, function=
    (void (WebKit::PluginControllerProxy::*)(class WebKit::PluginControllerProxy * const, const class WTF::String &amp;, const class WTF::String &amp;, class WTF::CompletionHandler&lt;void(bool)&gt; &amp;&amp;)) 0x7f0f643d2000, this adjustment 139704083128744) at ../Source/WebKit/Platform/IPC/HandleMessage.h:148
        arguments = 
                    {&lt;WTF::Optional_base&lt;std::tuple&lt;WTF::String, WTF::String&gt; &gt;&gt; = {init_ = 208, storage_ = {dummy_ = 212 &apos;\324&apos;, value_ = std::tuple containing = {[1] = {static MaxLength = 2147483647, m_impl = {static isRefPtr = &lt;error reading variable: Missing ELF symbol &quot;WTF::RefPtr&lt;WTF::StringImpl, WTF::DumbPtrTraits&lt;WTF::StringImpl&gt; &gt;::isRefPtr&quot;.&gt;, m_ptr = 0x7f0f643d3010}}, [2] = {static MaxLength = 2147483647, m_impl = {static isRefPtr = &lt;error reading variable: Missing ELF symbol &quot;WTF::RefPtr&lt;WTF::StringImpl, WTF::DumbPtrTraits&lt;WTF::StringImpl&gt; &gt;::isRefPtr&quot;.&gt;, m_ptr = 0x7f0f6b9194d4 &lt;IPC::handleMessage&lt;Messages::DrawingAreaProxy::DidUpdateBackingStoreState, WebKit::DrawingAreaProxy, void (WebKit::DrawingAreaProxy::*)(unsigned long, WebKit::UpdateInfo const&amp;, WebKit::LayerTreeContext const&amp;)&gt;(IPC::Decoder&amp;, WebKit::DrawingAreaProxy*, void (WebKit::DrawingAreaProxy::*)(unsigned long, WebKit::UpdateInfo const&amp;, WebKit::LayerTreeContext const&amp;))+12&gt;}}}}}, &lt;No data fields&gt;}
        completionHandler = 
              {m_function = {m_callableWrapper = std::unique_ptr&lt;class WTF::Detail::CallableWrapperBase&lt;void, bool&gt;&gt; = {get() = 0x7f0f643d200c}}}
#4  0x00007f0f69ec54be in g_main_dispatch
    (context=0x7f0f698557d0 &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+512&gt;)
    at ../glib/gmain.c:3174
        dispatch = 0x555701dd6110
        prev_source = &lt;optimized out&gt;
        was_in_call = 0
        user_data = 0x7f0f643d2000
        callback = 0x7f0f698557b0 &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+480&gt;
        cb_funcs = 0x7f0f698557bd &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+493&gt;
        cb_data = 0x7f0f69f9a280 &lt;g_source_callback_funcs&gt;
        need_destroy = &lt;optimized out&gt;
        source = 0x555701dd61a0
        current = 0x555701dd61a0
        i = 0
        __func__ = &quot;g_main_dispatch&quot;
#5  0x00007f0f69ec54be in g_main_context_dispatch (context=0x7f0f698557d0 &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+512&gt;) at ../glib/gmain.c:3850
#6  0x00007f0f69ec5870 in g_main_context_iterate (context=0x555701dd6050, block=-1, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3894
        max_priority = 2147483647
        timeout = -1
        some_ready = &lt;optimized out&gt;
        nfds = &lt;optimized out&gt;
        allocated_nfds = &lt;optimized out&gt;
        fds = 0x0
#7  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd4be0) at ../glib/gmain.c:4115
        gais_temp = 1
        __func__ = &quot;g_main_loop_run&quot;
#8  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
        noUpper = &lt;optimized out&gt;
        ored = &lt;optimized out&gt;
        length = &lt;optimized out&gt;
        data16 = 0x555701dd5ae0 u&quot;嬀ǝ啗&quot;
        newImpl = &lt;optimized out&gt;
        status = 32527
        realLength = &lt;optimized out&gt;
#9  0x00007f0f643f81b0 in  ()
#10 0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
        longResult = 139704083120536
        postParsePosition = 0x7f0f210fe700 &quot;&quot;
        daysPerMonth = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
        year = 0
        month = 1
        day = 1
        hours = 0
        minutes = 0
        seconds = 0
        timeZoneSeconds = 0
        currentPosition = &lt;optimized out&gt;
        dateSeconds = &lt;optimized out&gt;
#11 0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
        postParsePosition = 0x7f0f210fe700 &quot;&quot;
        daysPerMonth = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
        year = 0
        month = 1
        day = 1
        hours = 0
        minutes = 0
        seconds = 0
        timeZoneSeconds = 0
        currentPosition = &lt;optimized out&gt;
        dateSeconds = &lt;optimized out&gt;
#12 0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
        daysPerMonth = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
        year = 0
        month = 1
        day = 1
        hours = 0
        minutes = 0
        seconds = 0
        timeZoneSeconds = 0
        currentPosition = &lt;optimized out&gt;
        dateSeconds = &lt;optimized out&gt;
#13 0x00007f0f210fe700 in  ()
#14 0x75d8cbe0ef0b9cfa in  ()
#15 0x75d846ca9f899cfa in  ()
#16 0x0000000000000000 in  ()

That looked weird, and it doesn&apos;t look like the main thread either, so I decided to get a backtrace of all threads. Looks l ike many of them are all struck inside the same function, WTF::parseES5DateFromNullTerminatedCharacters:

Thread 10 (Thread 0x7f0f2327c700 (LWP 212)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701d927e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x555701d927e0, timeout=-1, context=0x555701d929f0) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701d929f0, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5913 in g_main_context_iteration (context=0x555701d927e0, may_block=1) at ../glib/gmain.c:3980
#4  0x00007f0f69ec5961 in glib_worker_main (data=0x555701d927e0) at ../glib/gmain.c:5867
#5  0x0000555701d92c00 in  ()
#6  0x00007f0f69eeef41 in g_thread_proxy (data=0x7f0f69f9aaa8 &lt;g.unix_signal_lock_lock&gt;) at ../glib/gthread.c:798
#7  0x00007f0f679ae5e2 in start_thread (arg=&lt;optimized out&gt;) at pthread_create.c:479
#8  0x00007f0f6aeee413 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f0f242fd700 (LWP 210)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701d76fc0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x555701d76fc0, timeout=-1, context=0x555701d764a0) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701d764a0, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701d76d90) at ../glib/gmain.c:4115
#4  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#5  0x00007f0f643f8018 in  ()
#6  0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#7  0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#8  0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#9  0x00007f0f242fd700 in  ()
#10 0x75d8c1a0cf0b9cfa in  ()
#11 0x75d846ca9f899cfa in  ()
#12 0x0000000000000000 in  ()

Thread 8 (Thread 0x7f0f23afc700 (LWP 211)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701d796d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x555701d796d0, timeout=-1, context=0x555701d78dc0) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701d78dc0, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701d76fe0) at ../glib/gmain.c:4115
#4  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#5  0x00007f0f643f8078 in  ()
#6  0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#7  0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#8  0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#9  0x00007f0f23afc700 in  ()
#10 0x75d8cea02f0b9cfa in  ()
#11 0x75d846ca9f899cfa in  ()
#12 0x0000000000000000 in  ()

Thread 7 (Thread 0x7f0f64c5b700 (LWP 209)):
#0  0x00007f0f679b503a in futex_abstimed_wait_cancelable (private=0, abstime=0x7f0f64c5abf0, clockid=&lt;optimized out&gt;, expected=0, futex_word=0x7f0f69b7d408) at ../sysdeps/unix/sysv/linux/futex-internal.h:208
#1  0x00007f0f679b503a in __pthread_cond_wait_common (abstime=0x7f0f64c5abf0, clockid=&lt;optimized out&gt;, mutex=0x555701d75410, cond=0x7f0f69b7d3e0) at pthread_cond_wait.c:520
#2  0x00007f0f679b503a in __pthread_cond_timedwait (cond=0x7f0f69b7d3e0, mutex=0x555701d75410, abstime=0x7f0f64c5abf0) at pthread_cond_wait.c:656
#3  0x00007f0f698668e9 in WTF::Unicode::calculateStringHashAndLengthFromUTF8MaskingTop8Bits(char const*, char const*, unsigned int&amp;, unsigned int&amp;) (data=0x7f0f69b7d408 &quot;&quot;, dataEnd=&lt;optimized out&gt;, dataLength=@0x7f0f69b7d448: 0, utf16Length=@0x7f0f679b503a: 4026547528) at ../Source/WTF/wtf/unicode/UTF8Conversion.cpp:120
#4  0x0000000000000064 in  ()
#5  0x000000005dc587cb in  ()
#6  0x00000000151312f2 in  ()
#7  0x0000000000000000 in  ()

Thread 6 (Thread 0x7f0f2227a700 (LWP 214)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701d80ef0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=2, fds=0x555701d80ef0, timeout=-1, context=0x555701d804e0) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701d804e0, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701d803f0) at ../glib/gmain.c:4115
#4  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#5  0x00007f0f643f80c0 in  ()
#6  0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#7  0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#8  0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#9  0x00007f0f2227a700 in  ()
#10 0x75d8cdb06f0b9cfa in  ()
#11 0x75d846ca9f899cfa in  ()
#12 0x0000000000000000 in  ()

Thread 5 (Thread 0x7f0f208fd700 (LWP 217)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701d801a0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x555701d801a0, timeout=-1, context=0x555701dd8680) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701dd8680, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd8770) at ../glib/gmain.c:4115
#4  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#5  0x00007f0f643f81e0 in  ()
#6  0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#7  0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#8  0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#9  0x00007f0f208fd700 in  ()
#10 0x75d8c8e0cf0b9cfa in  ()
#11 0x75d846ca9f899cfa in  ()
#12 0x0000000000000000 in  ()

Thread 4 (Thread 0x7f0f218ff700 (LWP 215)):
#0  0x00007f0f6aee38ef in __GI___poll (fds=0x555701dd4b90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0f69ec57de in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x555701dd4b90, timeout=-1, context=0x555701dd41f0) at ../glib/gmain.c:4217
#2  0x00007f0f69ec57de in g_main_context_iterate (context=0x555701dd41f0, block=&lt;optimized out&gt;, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3918
#3  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd4ab0) at ../glib/gmain.c:4115
#4  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#5  0x00007f0f643f8180 in  ()
#6  0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#7  0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#8  0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#9  0x00007f0f218ff700 in  ()
#10 0x75d8cae08f0b9cfa in  ()
#11 0x75d846ca9f899cfa in  ()
#12 0x0000000000000000 in  ()

Thread 3 (Thread 0x7f0f64c6c9c0 (LWP 207)):
#0  0x00007f0f69ed5fe0 in memcpy (__len=140722217361808, __src=0x555701d55800, __dest=0x0) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#1  0x00007f0f69ed5fe0 in quark_new (string=0x0) at ../glib/gquark.c:296
#2  0x00007f0f69ed5fe0 in quark_from_string (duplicate=1, string=&lt;optimized out&gt;) at ../glib/gquark.c:189
#3  0x00007f0f69ed5fe0 in quark_from_string (duplicate=1, string=&lt;optimized out&gt;) at ../glib/gquark.c:180
#4  0x00007f0f69ed5fe0 in quark_intern_string_locked (duplicate=1, string=&lt;optimized out&gt;) at ../glib/gquark.c:324
#5  0x00007f0f69ed5fe0 in g_intern_string (string=&lt;optimized out&gt;) at ../glib/gquark.c:350
#6  0x0000000000000003 in  ()
#7  0x201cfa3dcc650600 in  ()
#8  0x00007ffc71c72190 in  ()
#9  0x00007f0f23299ae5 in gvfs_dbus_mount_tracker_proxy_get_type () at common/gvfsdbus.c:4771
#10 0x00007f0f23299f48 in gvfs_dbus_mount_tracker_proxy_new_for_bus_sync (bus_type=bus_type@entry=G_BUS_TYPE_SESSION, flags=(G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS | unknown: 589924672), flags@entry=(G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS), name=name@entry=0x7f0f232ed264 &quot;org.gtk.vfs.Daemon&quot;, object_path=object_path@entry=0x7f0f232ed24a &quot;/org/gtk/vfs/mounttracker&quot;, cancellable=0x7f0f6a1d8e38, cancellable@entry=0x0, error=0x0, error@entry=0x7ffc71c72190) at common/gvfsdbus.c:5083
#11 0x00007f0f232e0d26 in create_mount_tracker_proxy (error=error@entry=0x0) at ../client/gdaemonvfs.c:571
#12 0x00007f0f232e1519 in fill_mountable_info (vfs=0x555701d9e2e0 [GDaemonVfs]) at ../client/gdaemonvfs.c:602
#13 0x00007f0f232e1519 in g_daemon_vfs_init (vfs=0x555701d9e2e0 [GDaemonVfs]) at ../client/gdaemonvfs.c:306
#14 0x00007f0f69fd531d in g_type_create_instance (type=&lt;optimized out&gt;) at ../gobject/gtype.c:1866
#15 0x00007f0f69fb73c5 in g_object_new_internal (class=class@entry=0x555701ddb4e0, params=params@entry=0x0, n_params=n_params@entry=0) at ../gobject/gobject.c:1827
#16 0x00007f0f69fb8ac5 in g_object_new_with_properties (object_type=0x555701d88f00 [GDaemonVfs/NITOR], n_properties=0, names=names@entry=0x0, values=values@entry=0x0) at ../gobject/gobject.c:1995
#17 0x00007f0f69fb9671 in g_object_new (object_type=&lt;optimized out&gt;, first_property_name=&lt;optimized out&gt;) at ../gobject/gobject.c:1667
#18 0x00007f0f6a07e5e4 in g_io_extension_get_name (extension=0x7f0f232ac582) at ../gio/giomodule.c:1562
#19 0x00007ffc71c72730 in  ()
#20 0x0000000000000002 in  ()
#21 0x00007f0f6a15538b in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#22 0x201cfa3dcc650600 in  ()
#23 0x00007f0f6a0c03f0 in g_volume_monitor_adopt_orphan_mount (mount=0x7f0f232ac582) at ../gio/gunionvolumemonitor.c:617
#24 0x0000555701d7ba60 in  ()
#25 0x00007f0f6a07eaee in _g_io_module_get_default (extension_point=0x555701d75aa0 &quot;\020\221\330\001WU&quot;, envvar=0x7f0f6a15538b &quot;o-nfs-file-monitor&quot;, verify_func=0x555701d75aa0) at ../gio/giomodule.c:950
#26 0x00007f0f6a0685b2 in g_file_monitor_file (file=0x7f0f643f8268, flags=(unknown: 1681875072), cancellable=0x7f0f643f6080, error=0x7ffc71c72738) at ../gio/gfile.c:5487
#27 0x0000000000000000 in  ()

Thread 2 (Thread 0x7f0f22a7b700 (LWP 213)):
#0  0x00007f0f69f0c9a5 in variant_type_string_scan_internal (string=&lt;optimized out&gt;, limit=0x555701d81150 &quot;a{sv}&quot;, endptr=0x555701ddb642, depth=0x2, depth_limit=6) at ../glib/gvarianttype.c:220
#1  0x00007f0f6a10fb58 in parse_value_from_blob (buf=0x555701ddb642, type=0x7f0f22a7a9a0, just_align=581413032, indent=1777341490, error=0x555701da52d0) at ../gio/gdbusmessage.c:1517
#2  0x00007f0f6a10fb1f in parse_value_from_blob (buf=0x7f0f22a7a9a0, type=0x7f0f22a7a8a8, just_align=31307329, indent=4, error=0x7f0f22a7aad0) at ../gio/gdbusmessage.c:1630
#3  0x00007f0f6a111cc2 in validate_headers (message=0x7f0f22a7aad0, error=0x555701ddb3c0) at ../gio/gdbusmessage.c:1279
#4  0x0000000000000005 in  ()
#5  0x0000000000000098 in  ()
#6  0x0000000000000098 in  ()
#7  0x0000000000000098 in  ()
#8  0x0000555701d812a0 in  ()
#9  0x0000000000000001 in  ()
#10 0x0000000000000001 in  ()
#11 0x0000555701da6e00 in  ()
#12 0x0000000000000004 in  ()
#13 0x0000000000000004 in  ()
#14 0x0000000000000000 in  ()

Thread 1 (Thread 0x7f0f210fe700 (LWP 216)):
#0  0x00007f0f6aeb6214 in invalid_name (name=0x0) at ../sysdeps/posix/opendir.c:89
#1  0x00007f0f6aeb6214 in __opendir (name=0x0) at ../sysdeps/posix/opendir.c:89
#2  0x00007f0f6b910213 in WTF::Optional&lt;std::tuple&lt;WTF::String, WTF::String&gt; &gt;::operator*() &amp; (this=0x7f0f210fda90) at DerivedSources/ForwardingHeaders/wtf/Optional.h:528
#3  0x00007f0f6b910213 in IPC::handleMessageSynchronous&lt;Messages::PluginControllerProxy::HandleEditingCommand, WebKit::PluginControllerProxy, void (WebKit::PluginControllerProxy::*)(WTF::String const&amp;, WTF::String const&amp;, WTF::CompletionHandler&lt;void (bool)&gt;&amp;&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, std::unique_ptr&lt;IPC::Encoder, std::default_delete&lt;IPC::Encoder&gt; &gt;&amp;, WebKit::PluginControllerProxy*, void (WebKit::PluginControllerProxy::*)(WTF::String const&amp;, WTF::String const&amp;, WTF::CompletionHandler&lt;void (bool)&gt;&amp;&amp;)) (connection=..., decoder=..., replyEncoder=std::unique_ptr&lt;class IPC::Encoder&gt; = {...}, object=0x0, function=(void (WebKit::PluginControllerProxy::*)(class WebKit::PluginControllerProxy * const, const class WTF::String &amp;, const class WTF::String &amp;, class WTF::CompletionHandler&lt;void(bool)&gt; &amp;&amp;)) 0x7f0f643d2000, this adjustment 139704083128744) at ../Source/WebKit/Platform/IPC/HandleMessage.h:148
#4  0x00007f0f69ec54be in g_main_dispatch (context=0x7f0f698557d0 &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+512&gt;) at ../glib/gmain.c:3174
#5  0x00007f0f69ec54be in g_main_context_dispatch (context=0x7f0f698557d0 &lt;WTF::StringImpl::replace(char16_t, unsigned char const*, unsigned int)+512&gt;) at ../glib/gmain.c:3850
#6  0x00007f0f69ec5870 in g_main_context_iterate (context=0x555701dd6050, block=-1, dispatch=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:3894
#7  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd4be0) at ../glib/gmain.c:4115
#8  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale() (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
#9  0x00007f0f643f81b0 in  ()
#10 0x00007f0f6980a188 in WTF::parseInt (result=&lt;synthetic pointer&gt;, base=10, stopPosition=0x7f0f69856250 &lt;WTF::StringImpl::convertToLowercaseWithoutLocale()+160&gt;, string=0x0) at ../Source/WTF/wtf/DateMath.cpp:632
#11 0x00007f0f6980a188 in WTF::parseES5DatePortion (day=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, month=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, year=&lt;synthetic pointer&gt;: &lt;optimized out&gt;, currentPosition=0x0) at ../Source/WTF/wtf/DateMath.cpp:657
#12 0x00007f0f6980a188 in WTF::parseES5DateFromNullTerminatedCharacters(char const*) (dateString=0x0) at ../Source/WTF/wtf/DateMath.cpp:803
#13 0x00007f0f210fe700 in  ()
#14 0x75d8cbe0ef0b9cfa in  ()
#15 0x75d846ca9f899cfa in  ()
#16 0x0000000000000000 in  ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588637</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-08 07:34:48 -0800</bug_when>
    <thetext>(BTW this is a backtrace of the network process.)

This part here is insane:

(In reply to Michael Catanzaro from comment #9)
&gt; #7  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd4be0) at
&gt; ../glib/gmain.c:4115
&gt;         gais_temp = 1
&gt;         __func__ = &quot;g_main_loop_run&quot;
&gt; #8  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale()
&gt; (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
&gt;         noUpper = &lt;optimized out&gt;
&gt;         ored = &lt;optimized out&gt;
&gt;         length = &lt;optimized out&gt;
&gt;         data16 = 0x555701dd5ae0 u&quot;嬀ǝ啗&quot;
&gt;         newImpl = &lt;optimized out&gt;
&gt;         status = 32527
&gt;         realLength = &lt;optimized out&gt;

I don&apos;t understand how WTF::StringImpl::convertToLowercaseWithoutLocale could possibly result in a call to g_main_loop_run(). Maybe the backtrace is somehow corrupted? That&apos;s just too weird for a compiler optimization? :/ Incredibly, four other threads are doing the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588658</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-11-08 09:15:51 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; OK the problem is the network process crashes in a loop, but only in
&gt; incognito mode. There&apos;s no rendering problem, just the page fails to load.
&gt; We don&apos;t show any indication of page load state when there&apos;s only one tab,
&gt; which is why I incorrectly assumed a rendering problem.
&gt; 
&gt; Backtrace is interesting. The crash is occurring deep inside
&gt; WTF::parseES5DateFromNullTerminatedCharacters.
&gt; 

I&apos;m just guessing here just based on the name of the function that crashes ...
can it be triggered by different/wrong time-zone or time-settings inside flatpak?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588663</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-11-08 09:21:27 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; (BTW this is a backtrace of the network process.)
&gt; 
&gt; This part here is insane:
&gt; 
&gt; (In reply to Michael Catanzaro from comment #9)
&gt; &gt; #7  0x00007f0f69ec5b63 in g_main_loop_run (loop=0x555701dd4be0) at
&gt; &gt; ../glib/gmain.c:4115
&gt; &gt;         gais_temp = 1
&gt; &gt;         __func__ = &quot;g_main_loop_run&quot;
&gt; &gt; #8  0x00007f0f69856250 in WTF::StringImpl::convertToLowercaseWithoutLocale()
&gt; &gt; (this=&lt;optimized out&gt;) at ../Source/WTF/wtf/text/StringImpl.cpp:353
&gt; &gt;         noUpper = &lt;optimized out&gt;
&gt; &gt;         ored = &lt;optimized out&gt;
&gt; &gt;         length = &lt;optimized out&gt;
&gt; &gt;         data16 = 0x555701dd5ae0 u&quot;嬀ǝ啗&quot;
&gt; &gt;         newImpl = &lt;optimized out&gt;
&gt; &gt;         status = 32527
&gt; &gt;         realLength = &lt;optimized out&gt;
&gt; 
&gt; I don&apos;t understand how WTF::StringImpl::convertToLowercaseWithoutLocale
&gt; could possibly result in a call to g_main_loop_run(). Maybe the backtrace is
&gt; somehow corrupted? That&apos;s just too weird for a compiler optimization? :/
&gt; Incredibly, four other threads are doing the same thing.

Indeed, that&apos;s very very strange... something really weird is happening there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588667</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-08 09:26:28 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; #3  0x00007f0f6b910213 in
&gt; IPC::handleMessageSynchronous&lt;Messages::PluginControllerProxy::
&gt; HandleEditingCommand, 

I not sure I trust this backtrace. I took it before I realized that I probably need to manually downgrade my org.gnome.Sdk.Debug extension to make sure that was in sync with the downgraded org.gnome.Platform runtime. But that didn&apos;t work: it just causes all WebKit frames to disappear entirely from the backtrace as if no debuginfo for WebKit is available:

(gdb) bt
#0  0x00007f7061c12214 in invalid_name (name=0x0) at ../sysdeps/posix/opendir.c:89
#1  0x00007f7061c12214 in __opendir (name=0x0) at ../sysdeps/posix/opendir.c:89
#2  0x00007f706266c213 in  () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#3  0x00007f70626754d4 in  () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#4  0x00007f7060564b85 in WTF::RunLoop::performWork() () at /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18
#5  0x00007f70605b17bd in  () at /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18
#6  0x00007f7060c214be in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f7060c21870 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f7060c21b63 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f70605b2250 in WTF::RunLoop::run() () at /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18
#10 0x00007f7060566188 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) ()
    at /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18
#11 0x00007f70605b25cd in  () at /usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18
#12 0x00007f705e70a5e2 in start_thread (arg=&lt;optimized out&gt;) at pthread_create.c:479
#13 0x00007f7061c4a413 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

The non-WebKit frames are the same, though, so I think we can probably trust those.

(In reply to Carlos Alberto Lopez Perez from comment #11)
&gt; I&apos;m just guessing here just based on the name of the function that crashes
&gt; ...
&gt; can it be triggered by different/wrong time-zone or time-settings inside
&gt; flatpak?

Not likely. Inside the sandbox, /etc/localtime is a symlink to /run/host/monitor/localtime, which presumably matches the host&apos;s. Never had a problem with timezone before. And date works properly:

[📦 org.gnome.Epiphany.Devel ~]$ date
Fri 08 Nov 2019 11:20:43 AM CST</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588670</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-08 09:30:38 -0800</bug_when>
    <thetext>There&apos;s only one direct call to opendir() in NetworkProcess, in NetworkCacheFileSystem.cpp. But it hasn&apos;t changed in six months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589149</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-11 01:56:27 -0800</bug_when>
    <thetext>The WebKit symbol names in the backtrace are all wrong, it&apos;s mixing symbols from different web processes, so there must be something wrong in your system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589175</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-11 05:48:32 -0800</bug_when>
    <thetext>As I explained:

(In reply to Michael Catanzaro from comment #13) 
&gt; I not sure I trust this backtrace. I took it before I realized that I
&gt; probably need to manually downgrade my org.gnome.Sdk.Debug extension to make
&gt; sure that was in sync with the downgraded org.gnome.Platform runtime. But
&gt; that didn&apos;t work: it just causes all WebKit frames to disappear entirely
&gt; from the backtrace as if no debuginfo for WebKit is available:

To get a good backtrace, one would need to rebuild the Epiphany flatpak using either a modified runtime (e.g. with flapjak), or (easier) with bundled WebKit using GNOME Builder (-DCMAKE_INSTALL_PREFIX=/app will probably suffice, might also need to use -DLIB_INSTALL_DIR=/app/lib), and hope to reproduce the problem that way. This is just what you need to do when a problem can only be reproduced under flatpak. To solve this bug, someone else will have to learn how to do this, since I do not intend to spend this much effort debugging WebKit anymore.

If that fails, we can upgrade the GNOME runtime to 2.27.2 briefly for debugging, and then immediately downgrade it back to 2.26, but since this will briefly break users I won&apos;t do that unless attempts to rebuild locally have failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589482</commentid>
    <comment_count>17</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-12 03:05:19 -0800</bug_when>
    <thetext>0x00007ffff49d5214 in opendir () from /usr/lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff49d5214 in opendir () at /usr/lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff5437333 in _ZN6WebKit12NetworkCache17traverseDirectoryERKN3WTF6StringERKNS1_8FunctionIFvS4_NS0_18DirectoryEntryTypeEEEE (path=&quot;(null)&quot;, function=...)
    at DerivedSources/ForwardingHeaders/wtf/text/CString.h:67
#2  0x00007ffff543f844 in WebKit::NetworkCache::Storage::&lt;lambda()&gt;::operator() (__closure=&lt;optimized out&gt;) at /usr/include/c++/9.2.0/bits/unique_ptr.h:278
#3  0x00007ffff543f844 in WTF::Detail::CallableWrapper&lt;WebKit::NetworkCache::Storage::deleteOldVersions()::&lt;lambda()&gt;, void&gt;::call(void) (this=0x7fffedefa190)
    at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#4  0x00007ffff33111d5 in _ZNK3WTF8FunctionIFvvEEclEv (this=&lt;synthetic pointer&gt;) at Source/WTF/wtf/Lock.h:84
#5  0x00007ffff33111d5 in _ZN3WTF7RunLoop11performWorkEv (this=0x7fffeded3000) at Source/WTF/wtf/RunLoop.cpp:123
#6  0x00007ffff337142d in WTF::RunLoop::&lt;lambda(gpointer)&gt;::operator() (__closure=0x0, userData=&lt;optimized out&gt;) at Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#7  0x00007ffff337142d in WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer) () at Source/WTF/wtf/glib/RunLoopGLib.cpp:70
#8  0x00007ffff39e34de in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff39e3890 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff39e3b83 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff3371f60 in _ZN3WTF7RunLoop3runEv () at Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#12 0x00007ffff3312c28 in _ZNK3WTF8FunctionIFvvEEclEv (this=&lt;synthetic pointer&gt;) at Source/WTF/wtf/Function.h:76
#13 0x00007ffff3312c28 in _ZN3WTF6Thread10entryPointEPNS0_16NewThreadContextE (newThreadContext=0x7fffedef7120) at Source/WTF/wtf/Threading.cpp:148
#14 0x00007ffff33722ed in WTF::wtfThreadEntryPoint(void*) (context=&lt;optimized out&gt;) at Source/WTF/wtf/posix/ThreadingPOSIX.cpp:200
#15 0x00007ffff147e5e2 in  () at /usr/lib/x86_64-linux-gnu/libpthread.so.0
#16 0x00007ffff4a0d413 in clone () at /usr/lib/x86_64-linux-gnu/libc.so.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589483</commentid>
    <comment_count>18</comment_count>
      <attachid>383345</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-12 03:08:06 -0800</bug_when>
    <thetext>Created attachment 383345
flapjak manifest

flatpak-builder --force-clean --user build-dir/ org.gnome.Epiphany.yaml
flatpak-builder --run build-dir/ org.gnome.Epiphany.yaml bash
$ gdb -args epiphany -i
(gdb) set follow-fork-mode child
(gdb) r</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589490</commentid>
    <comment_count>19</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-12 04:43:15 -0800</bug_when>
    <thetext>Interesting, the network cache shouldn&apos;t be used at all in incognito mode. The directory path should be empty, causing Storage::open() to fail in FileSystem::makeAllDirectories() and return early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590277</commentid>
    <comment_count>20</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-14 11:09:19 -0800</bug_when>
    <thetext>Well, makeVersionedDirectoryPath() returns a valid path (ex: &quot;/Version 14&quot;), so makeAllDirectories() seems to return true...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591002</commentid>
    <comment_count>21</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-18 01:02:03 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #20)
&gt; Well, makeVersionedDirectoryPath() returns a valid path (ex: &quot;/Version 14&quot;),
&gt; so makeAllDirectories() seems to return true...

I don&apos;t understand why, it should fail due to permissions to write to /</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591003</commentid>
    <comment_count>22</comment_count>
      <attachid>383735</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-18 01:13:37 -0800</bug_when>
    <thetext>Created attachment 383735
Patch

I hope this fixes the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591004</commentid>
    <comment_count>23</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-18 01:14:09 -0800</bug_when>
    <thetext>Thank you very much Phil for the help debugging this mess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591006</commentid>
    <comment_count>24</comment_count>
      <attachid>383735</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-18 01:22:38 -0800</bug_when>
    <thetext>Comment on attachment 383735
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:68
&gt; +        return nullptr;

I would think this check is not needed.
Cache::open should only be called if sessionID.isEphemeral() is not true, hence cachePath not being null.
Is it possible that GTK port is using &apos;ephemeral&apos; sessions with sessionID.isEphemeral() being false?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591020</commentid>
    <comment_count>25</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-18 04:07:35 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #24)
&gt; Comment on attachment 383735 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383735&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:68
&gt; &gt; +        return nullptr;
&gt; 
&gt; I would think this check is not needed.
&gt; Cache::open should only be called if sessionID.isEphemeral() is not true,
&gt; hence cachePath not being null.
&gt; Is it possible that GTK port is using &apos;ephemeral&apos; sessions with
&gt; sessionID.isEphemeral() being false?

The network process always creates a default non ephemeral session in NetworkProcess::initializeNetworkProcess().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591032</commentid>
    <comment_count>26</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-18 06:22:20 -0800</bug_when>
    <thetext>soup ports have never supported creation of non-default sessions (since our API does not, and probably will not ever, expose this). Our code persistently assumes that defaultSessionID() may be used anywhere and that non-default session IDs are used only by Cocoa-specific code. This probably used to be true when SessionID was introduced but now we can see it&apos;s become a problem. Changing that should be possible, but likely not trivial as it requires auditing everywhere that uses defaultSessionID() and many places are going to require changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591033</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-18 06:24:45 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #25)
&gt; The network process always creates a default non ephemeral session in
&gt; NetworkProcess::initializeNetworkProcess().

Anyway, changing this would be a good first step, but will almost surely break other features in ephemeral sessions, because the session ID will unexpectedly no longer match defaultSessionID().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592692</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-22 01:31:21 -0800</bug_when>
    <thetext>Ping reviewers, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592821</commentid>
    <comment_count>29</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-22 09:00:18 -0800</bug_when>
    <thetext>It needs owner approval from Youenn.

FWIW: I think it&apos;s a great workaround in that it seems perfectly reasonable to add an early return here. I almost requested a FIXME comment, but I don&apos;t think it&apos;s really needed since it just seems generally reasonable to do.

But surely it&apos;s much more important to fix our use of SessionID. It&apos;s terrifying that currently SessionID::isEphemeral will always return false in ephemeral sessions. If we commit this solution now, there should be a new bug report with a plan to fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592824</commentid>
    <comment_count>30</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-22 09:05:23 -0800</bug_when>
    <thetext>Actually I think I&apos;m wrong. I misunderstood Carlos&apos;s comment. WebKitWebsiteDataManager.cpp creates ephemeral WebsiteDataStore using WebsiteDataStore::createNonPersistent, which uses generateEphemeralSessionID. So I guess it&apos;s fine. We could still have various problems caused by overuse defaultSessionID(), of course.

(In reply to Carlos Garcia Campos from comment #25)
&gt; The network process always creates a default non ephemeral session in
&gt; NetworkProcess::initializeNetworkProcess().

I understand it&apos;s always created, but just not going to be used in ephemeral mode. So then this change makes sense to me as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592865</commentid>
    <comment_count>31</comment_count>
      <attachid>383735</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-22 10:12:49 -0800</bug_when>
    <thetext>Comment on attachment 383735
Patch

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

&gt;&gt;&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:68
&gt;&gt;&gt; +        return nullptr;
&gt;&gt; 
&gt;&gt; I would think this check is not needed.
&gt;&gt; Cache::open should only be called if sessionID.isEphemeral() is not true, hence cachePath not being null.
&gt;&gt; Is it possible that GTK port is using &apos;ephemeral&apos; sessions with sessionID.isEphemeral() being false?
&gt; 
&gt; The network process always creates a default non ephemeral session in NetworkProcess::initializeNetworkProcess().

Let&apos;s make it GTK specific for now and add an ASSERT(!cachePath.isNull()) for other ports.
If other ports are like GTK, let&apos;s make the ASSERT COCOA specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593368</commentid>
    <comment_count>32</comment_count>
      <attachid>384281</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-25 01:45:12 -0800</bug_when>
    <thetext>Created attachment 384281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593426</commentid>
    <comment_count>33</comment_count>
      <attachid>384281</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-11-25 07:23:09 -0800</bug_when>
    <thetext>Comment on attachment 384281
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        REGRESSION(2.27.2): [GTK] Incognito mode is broken under flatpak

Does it really have anything to do with flatpak?

&gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:75
&gt; +#if PLATFORM(GTK) || PLATFORM(WPE)
&gt; +    // This can only happen when the main WebsiteDataStore is ephemeral. Since the network process always creates a default
&gt; +    // non-ephemeral session, this is called with the cache path of the WebsiteDataStore that is nullptr (we don&apos;t want any
&gt; +    // disk write in ephemeral contexts).
&gt; +    if (cachePath.isNull())
&gt; +        return nullptr;
&gt; +#else
&gt; +    ASSERT(!cachePath.isNull());
&gt; +#endif

FWIW this comment seems like a good justification to avoid the #ifdefs and use the early return on all ports. But Youenn&apos;s decision.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593428</commentid>
    <comment_count>34</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-25 07:40:07 -0800</bug_when>
    <thetext>I change my mind a bit, sorry...

It might indeed be ok to have a non ephemeral session (say for IDB) but still want to have an ephemeral HTTP cache.
In that case, let&apos;s add the check at NetworkCache::Cache::open call site instead of inside.
That will make things clearer and will also remove the RELEASE_LOG_ERROR which in that case makes no sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593429</commentid>
    <comment_count>35</comment_count>
      <attachid>384281</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-25 07:41:00 -0800</bug_when>
    <thetext>Comment on attachment 384281
Patch

r=me with the if check moved to NetworkSession::NetworkSession.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593430</commentid>
    <comment_count>36</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-25 07:41:26 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #35)
&gt; Comment on attachment 384281 [details]
&gt; Patch
&gt; 
&gt; r=me with the if check moved to NetworkSession::NetworkSession.

To be clear, the if check without #ifdef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593589</commentid>
    <comment_count>37</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-26 00:29:48 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #33)
&gt; Comment on attachment 384281 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384281&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:3
&gt; &gt; +        REGRESSION(2.27.2): [GTK] Incognito mode is broken under flatpak
&gt; 
&gt; Does it really have anything to do with flatpak?

It can only be reproducible under flatpak. It seems that g_mkdir_with_parents(&quot;/Version 14&quot;, S_IRWXU) doesn&apos;t return -1 under flatpak for some reason. I agree it&apos;s much better the explicit early return than waiting until makeAllDirectories fails, though.

&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:75
&gt; &gt; +#if PLATFORM(GTK) || PLATFORM(WPE)
&gt; &gt; +    // This can only happen when the main WebsiteDataStore is ephemeral. Since the network process always creates a default
&gt; &gt; +    // non-ephemeral session, this is called with the cache path of the WebsiteDataStore that is nullptr (we don&apos;t want any
&gt; &gt; +    // disk write in ephemeral contexts).
&gt; &gt; +    if (cachePath.isNull())
&gt; &gt; +        return nullptr;
&gt; &gt; +#else
&gt; &gt; +    ASSERT(!cachePath.isNull());
&gt; &gt; +#endif
&gt; 
&gt; FWIW this comment seems like a good justification to avoid the #ifdefs and
&gt; use the early return on all ports. But Youenn&apos;s decision.
&gt; 
&gt; LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593605</commentid>
    <comment_count>38</comment_count>
      <attachid>384336</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-26 01:06:29 -0800</bug_when>
    <thetext>Created attachment 384336
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593619</commentid>
    <comment_count>39</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-11-26 02:28:16 -0800</bug_when>
    <thetext>Committed r252880: &lt;https://trac.webkit.org/changeset/252880&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>383345</attachid>
            <date>2019-11-12 03:08:06 -0800</date>
            <delta_ts>2019-11-12 03:08:06 -0800</delta_ts>
            <desc>flapjak manifest</desc>
            <filename>org.gnome.Epiphany.yaml</filename>
            <type>text/plain</type>
            <size>1623</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">YXBwLWlkOiBvcmcuZ25vbWUuRXBpcGhhbnkKcnVudGltZTogb3JnLmdub21lLlBsYXRmb3JtCnJ1
bnRpbWUtdmVyc2lvbjogJ21hc3RlcicKYnJhbmNoOiBzdGFibGUKc2RrOiBvcmcuZ25vbWUuU2Rr
CmNvbW1hbmQ6IGVwaXBoYW55CmZpbmlzaC1hcmdzOgogIC0gLS1zaGFyZT1pcGMKICAtIC0tc29j
a2V0PXgxMQogIC0gLS1zb2NrZXQ9d2F5bGFuZAogIC0gLS1kZXZpY2U9ZHJpCiAgLSAtLXNoYXJl
PW5ldHdvcmsKICAtIC0tc29ja2V0PXB1bHNlYXVkaW8KICAtIC0tc3lzdGVtLXRhbGstbmFtZT1v
cmcuZnJlZWRlc2t0b3AuR2VvQ2x1ZTIKICAtIC0tZmlsZXN5c3RlbT14ZGctcnVuL2Rjb25mCiAg
LSAtLWZpbGVzeXN0ZW09fi8uY29uZmlnL2Rjb25mOnJvCiAgLSAtLXRhbGstbmFtZT1jYS5kZXNy
dC5kY29uZgogIC0gLS1lbnY9RENPTkZfVVNFUl9DT05GSUdfRElSPS5jb25maWcvZGNvbmYKICAt
IC0tdGFsay1uYW1lPW9yZy5mcmVlZGVza3RvcC5zZWNyZXRzCiAgLSAtLXRhbGstbmFtZT1vcmcu
ZnJlZWRlc2t0b3AuTm90aWZpY2F0aW9ucwogIC0gLS1maWxlc3lzdGVtPXhkZy1kb3dubG9hZApi
dWlsZC1vcHRpb25zOgogIGNmbGFnczogLU8yIC1nCiAgY3h4ZmxhZ3M6IC1PMiAtZwogIGVudjoK
ICAgIFY6ICcxJwpjbGVhbnVwOgogIC0gL2luY2x1ZGUKICAtIC9saWIvcGtnY29uZmlnCiAgLSAv
c2hhcmUvcGtnY29uZmlnCiAgLSAvc2hhcmUvYWNsb2NhbAogIC0gL21hbgogIC0gL3NoYXJlL21h
bgogIC0gL3NoYXJlL2d0ay1kb2MKICAtICcqLmxhJwogIC0gJyouYScKbW9kdWxlczoKICAtIG5h
bWU6IGxpYmRhenpsZQogICAgYnVpbGRzeXN0ZW06IG1lc29uCiAgICBzb3VyY2VzOgogICAgICAt
IHR5cGU6IGFyY2hpdmUKICAgICAgICB1cmw6IGh0dHBzOi8vZG93bmxvYWQuZ25vbWUub3JnL3Nv
dXJjZXMvbGliZGF6emxlLzMuMzQvbGliZGF6emxlLTMuMzQuMS50YXIueHoKICAgICAgICBzaGEy
NTY6IDNkOTgxY2JiOWQ5YmI4N2JmYWZmN2JmZDQ0ZDk4NDcyMjNiM2VmODFlNjkyMjVlNGQxZjZh
YzcyNWE2Njk1MDUKCiAgLSBuYW1lOiB3ZWJraXRndGsKICAgIGJ1aWxkc3lzdGVtOiBjbWFrZS1u
aW5qYQogICAgc291cmNlczoKICAgICAgLSB0eXBlOiBhcmNoaXZlCiAgICAgICAgdXJsOiBodHRw
czovL3dlYmtpdGd0ay5vcmcvcmVsZWFzZXMvd2Via2l0Z3RrLTIuMjcuMi50YXIueHoKICAgICAg
ICBzaGEyNTY6IDA1MzgyYmNmOTZiMjBkNTljYTk2NTcyNjVmZDNhYTQ2YWI4ODg3YjVjN2ZjZDI4
NmNhNDNiOTM2MmQ3YTgxOTgKICAgIGNvbmZpZy1vcHRzOgogICAgICAtIC1EUE9SVD1HVEsKICAg
ICAgLSAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZQogICAgICAtIC1EQ01BS0VfSU5TVEFMTF9Q
UkVGSVg9L2FwcAoKICAtIG5hbWU6IGVwaXBoYW55CiAgICBidWlsZHN5c3RlbTogbWVzb24KICAg
IHNvdXJjZXM6CiAgICAgIC0gdHlwZTogYXJjaGl2ZQogICAgICAgIHVybDogaHR0cHM6Ly9kb3du
bG9hZC5nbm9tZS5vcmcvc291cmNlcy9lcGlwaGFueS8zLjM1L2VwaXBoYW55LTMuMzUuMS50YXIu
eHoKICAgICAgICBzaGEyNTY6IGFhNjcwYWI4YWQ2OGY3NzZhZDE4YThhMTE1M2RhNjExNTU5OGRk
MjAzZGZmNmZlMzhmMzdkNjIxNzI1YWZhMTUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383735</attachid>
            <date>2019-11-18 01:13:37 -0800</date>
            <delta_ts>2019-11-25 01:45:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-ephemeral-disk-cache.diff</filename>
            <type>text/plain</type>
            <size>2638</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNjAxMmNlNzFhZDcuLmY0Nzc2YTk0ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDE5LTExLTE4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKDIuMjcuMik6IFtHVEtdIEluY29nbml0byBtb2Rl
IGlzIGJyb2tlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzNDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhlIHByb2JsZW0gaXMgdGhhdCBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMgdGhlIGJhc2UgZGlz
ayBjYWNoZSBkaXJlY3RvcnkgaXMgbnVsbCwgYW5kIFN0b3JhZ2U6Om9wZW4oKSBlbmRzIHVwCisg
ICAgICAgIGJ1aWxkaW5nIGEgY2FjaGUgcGF0aCB3aXRoIG9ubHkgdGhlIHZlcnNpb24gcGFydCAo
L1ZlcnNpb24gbikuIEZvciBzb21lIHJlYXNvbiBnX21rZGlyX3dpdGhfcGFyZW50cygpIGRvZXNu
J3QKKyAgICAgICAgcmV0dXJuIC0xIGluIGZsYXRwYWsgd2hlbiBpdCBmYWlscyB0byBjcmVhdGUg
dGhlIGRpcmVjdG9yeSBkdWUgdG8gd3JpdGUgcGVybWlzc2lvbiwgbGlrZSBpbiB0aGlzIGNhc2Uu
IEJ1dCB0aGUKKyAgICAgICAgbmV0d29yayBwcm9jZXNzIGVuZHMgdXAgY3Jhc2hpbmcgbGF0ZXIg
dHJ5aW5nIHRvIG9wZW4gYSBkaXJlY3RvcnkgdGhhdCBkb2Vzbid0IGV4aXN0LgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpDYWNoZTo6b3Blbik6IFJldHVybiBlYXJseSBpZiBjYWNoZVBhdGgg
aXMgbnVsbC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpvcGVuKTog
QWRkIGFuIEFTU0VSVCB0byBlbnN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSBhIG51bGwgYmFzZUNhY2hl
UGF0aC4KKwogMjAxOS0xMS0xOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQXV0b21hdGlvbjogc2Nyb2xsSW50b1ZpZXcgc2hvdWxkIGRvIG5v
dGhpbmcgaWYgZWxlbWVudCBpcyB2aXNpYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMjc1ZTAwZWU4YjAuLjQ5ZDA0
NWM1NTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuY3BwCkBAIC02NCw2ICs2NCw5IEBAIHN0YXRpYyBjb25zdCBBdG9tU3RyaW5n
JiByZXNvdXJjZVR5cGUoKQogCiBSZWZQdHI8Q2FjaGU+IENhY2hlOjpvcGVuKE5ldHdvcmtQcm9j
ZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIE9wdGlvblNldDxD
YWNoZU9wdGlvbj4gb3B0aW9ucywgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogeworICAgIGlm
IChjYWNoZVBhdGguaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgYXV0
byBzdG9yYWdlID0gU3RvcmFnZTo6b3BlbihjYWNoZVBhdGgsIG9wdGlvbnMuY29udGFpbnMoQ2Fj
aGVPcHRpb246OlRlc3RpbmdNb2RlKSA/IFN0b3JhZ2U6Ok1vZGU6OkF2b2lkUmFuZG9tbmVzcyA6
IFN0b3JhZ2U6Ok1vZGU6Ok5vcm1hbCk7CiAKICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdv
cmtQcm9jZXNzKSBvcGVuZWQgY2FjaGUgc3RvcmFnZSwgc3VjY2VzcyAlZCIsICEhc3RvcmFnZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCBhMDE4NmE0Zjg3Yi4uNWZjNjMwZGFhYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcApAQCAtMTc3LDYgKzE3Nyw3IEBAIHN0YXRpYyBTdHJpbmcgbWFrZVNh
bHRGaWxlUGF0aChjb25zdCBTdHJpbmcmIGJhc2VEaXJlY3RvcnlQYXRoKQogUmVmUHRyPFN0b3Jh
Z2U+IFN0b3JhZ2U6Om9wZW4oY29uc3QgU3RyaW5nJiBiYXNlQ2FjaGVQYXRoLCBNb2RlIG1vZGUp
CiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICBBU1NFUlQoIWJhc2VDYWNo
ZVBhdGguaXNOdWxsKCkpOwogCiAgICAgYXV0byBjYWNoZVBhdGggPSBtYWtlQ2FjaGVQYXRoKGJh
c2VDYWNoZVBhdGgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384281</attachid>
            <date>2019-11-25 01:45:12 -0800</date>
            <delta_ts>2019-11-26 01:06:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-ephemeral.diff</filename>
            <type>text/plain</type>
            <size>3016</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZjA5ZjBlNTFiMjQuLjI1NGFmODQxOTE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDE5LTExLTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKDIuMjcuMik6IFtHVEtdIEluY29nbml0byBtb2Rl
IGlzIGJyb2tlbiB1bmRlciBmbGF0cGFrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDM0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0IGluIGVwaGVtZXJhbCBzZXNzaW9u
cyB0aGUgYmFzZSBkaXNrIGNhY2hlIGRpcmVjdG9yeSBpcyBudWxsLCBhbmQgU3RvcmFnZTo6b3Bl
bigpIGVuZHMgdXAKKyAgICAgICAgYnVpbGRpbmcgYSBjYWNoZSBwYXRoIHdpdGggb25seSB0aGUg
dmVyc2lvbiBwYXJ0ICgvVmVyc2lvbiBuKS4gRm9yIHNvbWUgcmVhc29uIGdfbWtkaXJfd2l0aF9w
YXJlbnRzKCkgZG9lc24ndAorICAgICAgICByZXR1cm4gLTEgaW4gZmxhdHBhayB3aGVuIGl0IGZh
aWxzIHRvIGNyZWF0ZSB0aGUgZGlyZWN0b3J5IGR1ZSB0byB3cml0ZSBwZXJtaXNzaW9uLCBsaWtl
IGluIHRoaXMgY2FzZS4gQnV0IHRoZQorICAgICAgICBuZXR3b3JrIHByb2Nlc3MgZW5kcyB1cCBj
cmFzaGluZyBsYXRlciB0cnlpbmcgdG8gb3BlbiBhIGRpcmVjdG9yeSB0aGF0IGRvZXNuJ3QgZXhp
c3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpvcGVuKTogUmV0dXJuIGVhcmx5
IGlmIGNhY2hlUGF0aCBpcyBudWxsLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0
b3JhZ2U6Om9wZW4pOiBBZGQgYW4gQVNTRVJUIHRvIGVuc3VyZSB3ZSBkb24ndCByZWNlaXZlIGEg
bnVsbCBiYXNlQ2FjaGVQYXRoLgorCiAyMDE5LTExLTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5OjpoYXNoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCAyNzVlMDBlZThiMC4uYjU0YmVm
NzZhNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKQEAgLTY0LDYgKzY0LDE2IEBAIHN0YXRpYyBjb25zdCBBdG9tU3RyaW5n
JiByZXNvdXJjZVR5cGUoKQogCiBSZWZQdHI8Q2FjaGU+IENhY2hlOjpvcGVuKE5ldHdvcmtQcm9j
ZXNzJiBuZXR3b3JrUHJvY2VzcywgY29uc3QgU3RyaW5nJiBjYWNoZVBhdGgsIE9wdGlvblNldDxD
YWNoZU9wdGlvbj4gb3B0aW9ucywgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogeworI2lmIFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQorICAgIC8vIFRoaXMgY2FuIG9ubHkgaGFwcGVu
IHdoZW4gdGhlIG1haW4gV2Vic2l0ZURhdGFTdG9yZSBpcyBlcGhlbWVyYWwuIFNpbmNlIHRoZSBu
ZXR3b3JrIHByb2Nlc3MgYWx3YXlzIGNyZWF0ZXMgYSBkZWZhdWx0CisgICAgLy8gbm9uLWVwaGVt
ZXJhbCBzZXNzaW9uLCB0aGlzIGlzIGNhbGxlZCB3aXRoIHRoZSBjYWNoZSBwYXRoIG9mIHRoZSBX
ZWJzaXRlRGF0YVN0b3JlIHRoYXQgaXMgbnVsbHB0ciAod2UgZG9uJ3Qgd2FudCBhbnkKKyAgICAv
LyBkaXNrIHdyaXRlIGluIGVwaGVtZXJhbCBjb250ZXh0cykuCisgICAgaWYgKGNhY2hlUGF0aC5p
c051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZWxzZQorICAgIEFTU0VSVCghY2Fj
aGVQYXRoLmlzTnVsbCgpKTsKKyNlbmRpZgorCiAgICAgYXV0byBzdG9yYWdlID0gU3RvcmFnZTo6
b3BlbihjYWNoZVBhdGgsIG9wdGlvbnMuY29udGFpbnMoQ2FjaGVPcHRpb246OlRlc3RpbmdNb2Rl
KSA/IFN0b3JhZ2U6Ok1vZGU6OkF2b2lkUmFuZG9tbmVzcyA6IFN0b3JhZ2U6Ok1vZGU6Ok5vcm1h
bCk7CiAKICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBvcGVuZWQgY2Fj
aGUgc3RvcmFnZSwgc3VjY2VzcyAlZCIsICEhc3RvcmFnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApp
bmRleCBhMDE4NmE0Zjg3Yi4uNWZjNjMwZGFhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAt
MTc3LDYgKzE3Nyw3IEBAIHN0YXRpYyBTdHJpbmcgbWFrZVNhbHRGaWxlUGF0aChjb25zdCBTdHJp
bmcmIGJhc2VEaXJlY3RvcnlQYXRoKQogUmVmUHRyPFN0b3JhZ2U+IFN0b3JhZ2U6Om9wZW4oY29u
c3QgU3RyaW5nJiBiYXNlQ2FjaGVQYXRoLCBNb2RlIG1vZGUpCiB7CiAgICAgQVNTRVJUKFJ1bkxv
b3A6OmlzTWFpbigpKTsKKyAgICBBU1NFUlQoIWJhc2VDYWNoZVBhdGguaXNOdWxsKCkpOwogCiAg
ICAgYXV0byBjYWNoZVBhdGggPSBtYWtlQ2FjaGVQYXRoKGJhc2VDYWNoZVBhdGgpOwogCg==
</data>
<flag name="review"
          id="400089"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384336</attachid>
            <date>2019-11-26 01:06:29 -0800</date>
            <delta_ts>2019-11-26 01:06:29 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wk2-null-disk-cache-path.diff</filename>
            <type>text/plain</type>
            <size>3995</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZTU3OWFlYjUwYzUuLjhlNGQwODAyZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDE5LTExLTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKDIuMjcuMik6IFtHVEtdIEluY29nbml0byBtb2Rl
IGlzIGJyb2tlbiB1bmRlciBmbGF0cGFrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDM0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFi
bGV0LgorCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgaW4gZXBoZW1lcmFsIHNlc3Npb25z
IHRoZSBiYXNlIGRpc2sgY2FjaGUgZGlyZWN0b3J5IGlzIG51bGwsIGFuZCBTdG9yYWdlOjpvcGVu
KCkgZW5kcyB1cAorICAgICAgICBidWlsZGluZyBhIGNhY2hlIHBhdGggd2l0aCBvbmx5IHRoZSB2
ZXJzaW9uIHBhcnQgKC9WZXJzaW9uIG4pLiBGb3Igc29tZSByZWFzb24gZ19ta2Rpcl93aXRoX3Bh
cmVudHMoKSBkb2Vzbid0CisgICAgICAgIHJldHVybiAtMSBpbiBmbGF0cGFrIHdoZW4gaXQgZmFp
bHMgdG8gY3JlYXRlIHRoZSBkaXJlY3RvcnkgZHVlIHRvIHdyaXRlIHBlcm1pc3Npb24sIGxpa2Ug
aW4gdGhpcyBjYXNlLiBCdXQgdGhlCisgICAgICAgIG5ldHdvcmsgcHJvY2VzcyBlbmRzIHVwIGNy
YXNoaW5nIGxhdGVyIHRyeWluZyB0byBvcGVuIGEgZGlyZWN0b3J5IHRoYXQgZG9lc24ndCBleGlz
dC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246Ok5ldHdvcmtTZXNzaW9uKTogRG8gbm90IGNyZWF0
ZSB0aGUgY2FjaGUgaWYgbmV0d29ya0NhY2hlRGlyZWN0b3J5IGlzIG51bGwuCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6b3Blbik6IEFkZCBhbiBBU1NFUlQgdG8gZW5z
dXJlIHdlIGRvbid0IHJlY2VpdmUgYSBudWxsIGJhc2VDYWNoZVBhdGguCisKIDIwMTktMTEtMjUg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbnRl
cm5hbEZ1bmN0aW9uIHNob3VsZCBiZSBub24tZGVzdHJ1Y3RpYmxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IGJmZjliYTdlM2RhLi45
MTkzZjg4MmU5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbi5jcHAKQEAgLTg3LDIyICs4NywyMyBAQCBOZXR3b3JrU2Vzc2lvbjo6TmV0d29ya1Nl
c3Npb24oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBOZXR3b3JrU2Vzcwog
ewogICAgIGlmICghbV9zZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSkgewogICAgICAgICBTdHJpbmcg
bmV0d29ya0NhY2hlRGlyZWN0b3J5ID0gcGFyYW1ldGVycy5uZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7
Ci0gICAgICAgIGlmICghbmV0d29ya0NhY2hlRGlyZWN0b3J5LmlzTnVsbCgpKQorICAgICAgICBp
ZiAoIW5ldHdvcmtDYWNoZURpcmVjdG9yeS5pc051bGwoKSkgewogICAgICAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMubmV0d29ya0NhY2hlRGly
ZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKIAotICAgICAgICBhdXRvIGNhY2hlT3B0aW9ucyA9IG5l
dHdvcmtQcm9jZXNzLmNhY2hlT3B0aW9ucygpOworICAgICAgICAgICAgYXV0byBjYWNoZU9wdGlv
bnMgPSBuZXR3b3JrUHJvY2Vzcy5jYWNoZU9wdGlvbnMoKTsKICNpZiBFTkFCTEUoTkVUV09SS19D
QUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgICAgIGlmIChwYXJhbWV0ZXJzLm5l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQpCi0gICAgICAgICAgICBjYWNo
ZU9wdGlvbnMuYWRkKE5ldHdvcmtDYWNoZTo6Q2FjaGVPcHRpb246OlNwZWN1bGF0aXZlUmV2YWxp
ZGF0aW9uKTsKKyAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzLm5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlVmFsaWRhdGlvbkVuYWJsZWQpCisgICAgICAgICAgICAgICAgY2FjaGVPcHRpb25zLmFkZChO
ZXR3b3JrQ2FjaGU6OkNhY2hlT3B0aW9uOjpTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbik7CiAjZW5k
aWYKLSAgICAgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9u
KQotICAgICAgICAgICAgY2FjaGVPcHRpb25zLmFkZChOZXR3b3JrQ2FjaGU6OkNhY2hlT3B0aW9u
OjpUZXN0aW5nTW9kZSk7CisgICAgICAgICAgICBpZiAocGFyYW1ldGVycy5zaG91bGRVc2VUZXN0
aW5nTmV0d29ya1Nlc3Npb24pCisgICAgICAgICAgICAgICAgY2FjaGVPcHRpb25zLmFkZChOZXR3
b3JrQ2FjaGU6OkNhY2hlT3B0aW9uOjpUZXN0aW5nTW9kZSk7CiAKLSAgICAgICAgbV9jYWNoZSA9
IE5ldHdvcmtDYWNoZTo6Q2FjaGU6Om9wZW4obmV0d29ya1Byb2Nlc3MsIG5ldHdvcmtDYWNoZURp
cmVjdG9yeSwgY2FjaGVPcHRpb25zLCBtX3Nlc3Npb25JRCk7CisgICAgICAgICAgICBtX2NhY2hl
ID0gTmV0d29ya0NhY2hlOjpDYWNoZTo6b3BlbihuZXR3b3JrUHJvY2VzcywgbmV0d29ya0NhY2hl
RGlyZWN0b3J5LCBjYWNoZU9wdGlvbnMsIG1fc2Vzc2lvbklEKTsKKworICAgICAgICAgICAgaWYg
KCFtX2NhY2hlKQorICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE5ldHdvcmtDYWNo
ZSwgIkZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBXZWJLaXQgbmV0d29yayBkaXNrIGNhY2hlIik7
CisgICAgICAgIH0KIAotICAgICAgICBpZiAoIW1fY2FjaGUpCi0gICAgICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihOZXR3b3JrQ2FjaGUsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgV2ViS2l0
IG5ldHdvcmsgZGlzayBjYWNoZSIpOwotICAgICAgICAKICAgICAgICAgaWYgKCFwYXJhbWV0ZXJz
LnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMucmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKaW5kZXggYTAxODZhNGY4N2IuLjVmYzYzMGRhYWMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFn
ZS5jcHAKQEAgLTE3Nyw2ICsxNzcsNyBAQCBzdGF0aWMgU3RyaW5nIG1ha2VTYWx0RmlsZVBhdGgo
Y29uc3QgU3RyaW5nJiBiYXNlRGlyZWN0b3J5UGF0aCkKIFJlZlB0cjxTdG9yYWdlPiBTdG9yYWdl
OjpvcGVuKGNvbnN0IFN0cmluZyYgYmFzZUNhY2hlUGF0aCwgTW9kZSBtb2RlKQogewogICAgIEFT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7CisgICAgQVNTRVJUKCFiYXNlQ2FjaGVQYXRoLmlzTnVs
bCgpKTsKIAogICAgIGF1dG8gY2FjaGVQYXRoID0gbWFrZUNhY2hlUGF0aChiYXNlQ2FjaGVQYXRo
KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>