<?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>194016</bug_id>
          
          <creation_ts>2019-01-30 05:26:04 -0800</creation_ts>
          <short_desc>Race-condition during scrolling thread creation</short_desc>
          <delta_ts>2019-02-03 20:25:32 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Claudio Saavedra">csaavedra</reporter>
          <assigned_to name="Claudio Saavedra">csaavedra</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1499965</commentid>
    <comment_count>0</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2019-01-30 05:26:04 -0800</bug_when>
    <thetext>Race-condition during scrolling thread creation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499966</commentid>
    <comment_count>1</comment_count>
      <attachid>360572</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2019-01-30 05:30:29 -0800</bug_when>
    <thetext>Created attachment 360572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499967</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-30 05:31:59 -0800</bug_when>
    <thetext>Attachment 360572 did not pass style-queue:


ERROR: Source/WebCore/page/scrolling/ScrollingThread.cpp:86:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/page/scrolling/ScrollingThread.cpp:86:  Missing space before {  [whitespace/braces] [5]
ERROR: Source/WebCore/page/scrolling/ScrollingThread.cpp:88:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/page/scrolling/ScrollingThread.cpp:88:  Missing space before {  [whitespace/braces] [5]
Total errors found: 4 in 2 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>1499982</commentid>
    <comment_count>3</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2019-01-30 06:41:55 -0800</bug_when>
    <thetext>Here&apos;s the stacktrace, for context. The relevant threads are 1 (where m_mainLoop is null-dereferenced), 7 (frame #18), and 11 (frame #17):

Thread 11 (LWP 730):
#0  0x7543989c in sched_yield () at ../sysdeps/unix/syscall-template.S:84
#1  0x76baa5aa in bmalloc::StaticMutex::lockSlowCase (
    this=0x76f67244 &lt;bmalloc::PerProcess&lt;bmalloc::PerHeapKind&lt;bmalloc::Heap&gt; &gt;::s_mutex&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/StaticMutex.cpp:50
#2  0x76ba3fee in bmalloc::StaticMutex::lock (
    this=0x76f67244 &lt;bmalloc::PerProcess&lt;bmalloc::PerHeapKind&lt;bmalloc::Heap&gt; &gt;::s_mutex&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/StaticMutex.h:93
#3  std::lock_guard&lt;bmalloc::StaticMutex&gt;::lock_guard (__m=..., this=0x709fc814)
    at /usr/include/c++/7.3.0/bits/std_mutex.h:162
#4  bmalloc::Allocator::refillAllocatorSlowCase (this=this@entry=0x71bedb8c, allocator=..., 
    sizeClass=sizeClass@entry=6)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/Allocator.cpp:156
#5  0x76ba419e in bmalloc::Allocator::refillAllocator (sizeClass=&lt;optimized out&gt;, allocator=..., this=0x71bedb8c)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/Allocator.cpp:165
#6  bmalloc::Allocator::allocateSlowCase (this=0x71bedb8c, size=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/Allocator.cpp:192
#7  0x76b72e7a in WTF::fastZeroedMalloc (n=n@entry=52)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/FastMalloc.cpp:80
#8  0x76b80ed6 in WTF::(anonymous namespace)::Hashtable::create (size=12)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:220
#9  WTF::(anonymous namespace)::ensureHashtableSize (numThreads=1995817796)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:379
#10 WTF::(anonymous namespace)::ThreadData::ThreadData (this=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:436
#11 WTF::(anonymous namespace)::myThreadData ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:461
#12 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda&lt;bool ()&gt; const&amp;, WTF::ScopedLambda&lt;void ()&gt; const&amp;, WTF::TimeWithDynamicClockType const&amp;) (
    address=0x76f5c348 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+4&gt;, address@entry=0x7ff00000, 
    validation=..., beforeSleep=..., timeout=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:572
#13 0x7619429a in WTF::ParkingLot::parkConditionally&lt;bool WTF::Condition::waitUntil&lt;std::unique_lock&lt;WTF::Lock&gt; &gt;(std::unique_lock&lt;WTF::Lock&gt;&amp;, WTF::TimeWithDynamicClockType const&amp;)::{lambda()#1}, bool WTF::Condition::waitUntil&lt;std::unique_lock&lt;WTF::Lock&gt; &gt;(std::unique_lock&lt;WTF::Lock&gt;&amp;, WTF::TimeWithDynamicClockType const&amp;)::{lambda()#2}&gt;(void const*, bool WTF::Condition::waitUntil&lt;std::unique_lock&lt;WTF::Lock&gt; &gt;(std::unique_lock&lt;WTF::Lock&gt;&amp;, WTF::TimeWithDynamicClockType const&amp;)::{lambda()#1} const&amp;, bool WTF::Condition::waitUntil&lt;std::unique_lock&lt;WTF::Lock&gt; &gt;(std::unique_lock&lt;WTF::Lock&gt;&amp;, WTF::TimeWithDynamicClockType const&amp;)::{lambda()#2} const&amp;, WTF::TimeWithDynamicClockType const&amp;) (
    timeout=..., beforeSleep=..., validation=..., address=0x7ff00000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/build/DerivedSources/ForwardingHeaders/wtf/ParkingLot.h:85
#14 WTF::Condition::waitUntil&lt;std::unique_lock&lt;WTF::Lock&gt; &gt; (timeout=..., lock=..., this=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/build/DerivedSources/ForwardingHeaders/wtf/Condition.h:76
#15 WTF::Condition::wait&lt;std::unique_lock&lt;WTF::Lock&gt; &gt; (lock=..., this=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/build/DerivedSources/ForwardingHeaders/wtf/Condition.h:122
#16 WTF::Condition::wait&lt;std::unique_lock&lt;WTF::Lock&gt;, WebCore::ScrollingThread::createThreadIfNeeded()::&lt;lambda()&gt; &gt;
    (predicate=..., lock=..., this=0x7ff00000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/build/DerivedSources/ForwardingHeaders/wtf/Condition.h:129
#17 WebCore::ScrollingThread::createThreadIfNeeded (
    this=0x76f5c344 &lt;WebCore::ScrollingThread::singleton()::scrollingThread&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/ScrollingThread.cpp:90
#18 0x7619640e in WebCore::ScrollingThread::dispatch(WTF::Function&lt;void ()&gt;&amp;&amp;) (function=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/ScrollingThread.cpp:49
#19 0x7619911e in WebCore::ThreadedScrollingTree::tryToHandleWheelEvent (this=0x71a85000, wheelEvent=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:60
#20 0x7593174a in WebKit::EventDispatcher::wheelEvent (this=0x71afa000, pageID=&lt;optimized out&gt;, wheelEvent=..., 
    canRubberBandAtLeft=true, canRubberBandAtRight=true, canRubberBandAtTop=true, canRubberBandAtBottom=true)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:129
#21 0x7599dc4a in IPC::callMemberFunctionImpl&lt;WebKit::EventDispatcher, void (WebKit::EventDispatcher::*)(unsigned long long, WebKit::WebWheelEvent const&amp;, bool, bool, bool, bool), std::tuple&lt;unsigned long long, WebKit::WebWheelEvent, bool, bool, bool, bool&gt;, 0u, 1u, 2u, 3u, 4u, 5u&gt; (args=..., function=
    (void (WebKit::EventDispatcher::*)(WebKit::EventDispatcher * const, unsigned long long, const WebKit::WebWheelEvent &amp;, bool, bool, bool, bool)) 0x547879c8, this adjustment 552306874, object=0x71afa000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/Platform/IPC/HandleMessage.h:40
#22 IPC::callMemberFunction&lt;WebKit::EventDispatcher, void (WebKit::EventDispatcher::*)(unsigned long long, WebKit::WebWheelEvent const&amp;, bool, bool, bool, bool), std::tuple&lt;unsigned long long, WebKit::WebWheelEvent, bool, bool, bool, bool&gt;, std::integer_sequence&lt;unsigned int, 0u, 1u, 2u, 3u, 4u, 5u&gt; &gt; (function=
    (void (WebKit::EventDispatcher::*)(WebKit::EventDispatcher * const, unsigned long long, const WebKit::WebWheelEvent &amp;, bool, bool, bool, bool)) 0x547879c8, this adjustment 552306874, object=0x71afa000, args=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/Platform/IPC/HandleMessage.h:46
#23 IPC::handleMessage&lt;Messages::EventDispatcher::WheelEvent, WebKit::EventDispatcher, void (WebKit::EventDispatcher::*)(unsigned long long, WebKit::WebWheelEvent const&amp;, bool, bool, bool, bool)&gt; (decoder=..., object=0x71afa000, 
    function=
    (void (WebKit::EventDispatcher::*)(WebKit::EventDispatcher * const, unsigned long long, const WebKit::WebWheelEvent &amp;, bool, bool, bool, bool)) 0x759315c9 &lt;WebKit::EventDispatcher::wheelEvent(unsigned long long, WebKit::WebWheelEvent const&amp;, bool, bool, bool, bool)&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/Platform/IPC/HandleMessage.h:126
#24 0x75804dce in IPC::Connection::dispatchWorkQueueMessageReceiverMessage (this=0x71aec000, 
    workQueueMessageReceiver=..., decoder=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/Platform/IPC/Connection.cpp:299
#25 0x76b82afe in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#26 WTF::RunLoop::performWork (this=0x71af3000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/RunLoop.cpp:106
#27 0x76ba1458 in WTF::RunLoop::&lt;lambda(gpointer)&gt;::operator() (__closure=0x0, userData=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#28 WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer) ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:70
#29 0x75044140 in g_main_dispatch (context=0x700005b8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3234
#30 g_main_context_dispatch (context=context@entry=0x700005b8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3899
#31 0x750444c8 in g_main_context_iterate (context=0x700005b8, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3972
#32 0x7504485c in g_main_loop_run (loop=0x70003838)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#33 0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#34 0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#35 WTF::Thread::entryPoint (newThreadContext=0x71af8000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#36 0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#37 0x74e3fe8c in start_thread (arg=0x709fd2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#38 0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 10 (LWP 737):
#0  0x75449b9c in __GI___poll (fds=0x6ec048f0, nfds=2, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=2, fds=0x6ec048f0, timeout=&lt;optimized out&gt;, 
    context=0x6ec005b8) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=0x6ec005b8, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x7504485c in g_main_loop_run (loop=0x6ec03838)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#4  0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#5  0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#6  WTF::Thread::entryPoint (newThreadContext=0x71af8060)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#7  0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#8  0x74e3fe8c in start_thread (arg=0x6f5ff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
Backtrace stopped: Cannot access memory at address 0x6eae7ff8

Thread 9 (LWP 760):
#0  0x75449b9c in __GI___poll (fds=0x6380a990, nfds=2, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=2, fds=0x6380a990, timeout=&lt;optimized out&gt;, 
    context=0x63809210) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=0x63809210, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x7504485c in g_main_loop_run (loop=0x638092e0)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#4  0x7462f38c in gdbus_shared_thread_func (user_data=0x638091f8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/gio/gdbusprivate.c:252
#5  0x7506db6c in g_thread_proxy (data=0xc18780)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gthread.c:784
#6  0x74e3fe8c in start_thread (arg=0x637ff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#7  0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 8 (LWP 758):
#0  0x75449b9c in __GI___poll (fds=0xc1e1e8, nfds=1, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=1, fds=0xc1e1e8, timeout=&lt;optimized out&gt;, 
    context=0xc1e058) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=context@entry=0xc1e058, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x75044598 in g_main_context_iteration (context=0xc1e058, may_block=may_block@entry=1)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4033
#4  0x750445d8 in glib_worker_main (data=&lt;optimized out&gt;)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:5824
#5  0x7506db6c in g_thread_proxy (data=0x75108874 &lt;unix_signal_pending&gt;)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gthread.c:784
#6  0x74e3fe8c in start_thread (arg=0x64bff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#7  0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 7 (LWP 944):
#0  0x74e46eb0 in futex_wait_cancelable (private=&lt;optimized out&gt;, expected=0, futex_word=0x71a5b0a8)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=&lt;optimized out&gt;, cond=0x71a5b080)
    at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x71a5b080, mutex=0x71a5b064)
    at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_cond_wait.c:655
#3  0x7441c408 in __gthread_cond_wait (__mutex=&lt;optimized out&gt;, __cond=__cond@entry=0x71a5b080)
    at /usr/src/debug/gcc-runtime/7.3.0-r0/gcc-7.3.0/build.arm-veld-linux-gnueabi.arm-veld-linux-gnueabi/arm-veld-linux-gnueabi/libstdc++-v3/include/arm-veld-linux-gnueabi/bits/gthr-default.h:864
#4  std::condition_variable::wait (this=this@entry=0x71a5b080, __lock=...)
    at ../../../../../../../../../../work-shared/gcc-7.3.0-r0/gcc-7.3.0/libstdc++-v3/src/c++11/condition_variable.cc:53
#5  0x76b8548a in WTF::WordLock::lockSlow (this=0x71af6008)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/WordLock.cpp:169
#6  0x76b8082c in WTF::WordLock::lock (this=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/WordLock.h:62
#7  WTF::(anonymous namespace)::lockHashtable ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:318
#8  0x76b80d46 in WTF::(anonymous namespace)::ensureHashtableSize (numThreads=0)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:354
#9  WTF::(anonymous namespace)::ThreadData::ThreadData (this=0x71a5b000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:436
#10 WTF::(anonymous namespace)::myThreadData ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:461
#11 WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda&lt;bool ()&gt; const&amp;, WTF::ScopedLambda&lt;void ()&gt; const&amp;, WTF::TimeWithDynamicClockType const&amp;) (address=0x6ed2e808, 
    address@entry=0x76f5c349 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+5&gt;, validation=..., 
    beforeSleep=..., timeout=...)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.cpp:572
#12 0x76b766e6 in WTF::ParkingLot::parkConditionally&lt;WTF::ParkingLot::ParkResult WTF::ParkingLot::compareAndPark&lt;unsigned char, unsigned char&gt;(WTF::Atomic&lt;unsigned char&gt; const*, unsigned char)::{lambda()#1}, WTF::ParkingLot::ParkResult WTF::ParkingLot::compareAndPark&lt;unsigned char, unsigned char&gt;(WTF::Atomic&lt;unsigned char&gt; const*, unsigned char)::{lambda()#2}&gt;(void const*, WTF::ParkingLot::ParkResult WTF::ParkingLot::compareAndPark&lt;unsigned char, unsigned char&gt;(WTF::Atomic&lt;unsigned char&gt; const*, unsigned char)::{lambda()#1} const&amp;, WTF::ParkingLot::ParkResult WTF::ParkingLot::compareAndPark&lt;unsigned char, unsigned char&gt;(WTF::Atomic&lt;unsigned char&gt; const*, unsigned char)::{lambda()#2} const&amp;, WTF::TimeWithDynamicClockType const&amp;) (timeout=..., beforeSleep=..., validation=..., 
    address=0x76f5c349 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+5&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.h:85
#13 WTF::ParkingLot::compareAndPark&lt;unsigned char, unsigned char&gt; (expected=&lt;optimized out&gt;, 
    address=0x76f5c349 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+5&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ParkingLot.h:100
#14 WTF::LockAlgorithm&lt;unsigned char, (unsigned char)1, (unsigned char)2, WTF::EmptyLockHooks&lt;unsigned char&gt; &gt;::lockSlow (lock=...) at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/LockAlgorithmInlines.h:83
#15 0x76b7658e in WTF::Lock::lockSlow (
    this=this@entry=0x76f5c349 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+5&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Lock.cpp:40
#16 0x7619af0a in WTF::Lock::lock (this=0x76f5c349 &lt;WebCore::ScrollingThread::singleton()::scrollingThread+5&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/build/DerivedSources/ForwardingHeaders/wtf/Lock.h:60
#17 std::lock_guard&lt;WTF::Lock&gt;::lock_guard (__m=..., this=&lt;synthetic pointer&gt;)
    at /usr/include/c++/7.3.0/bits/std_mutex.h:162
#18 WebCore::ScrollingThread::initializeRunLoop (
    this=0x76f5c344 &lt;WebCore::ScrollingThread::singleton()::scrollingThread&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/generic/ScrollingThreadGeneric.cpp:38
#19 0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#20 WTF::Thread::entryPoint (newThreadContext=0x71a62000)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#21 0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#22 0x74e3fe8c in start_thread (arg=0x625ff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
Backtrace stopped: Cannot access memory at address 0x2c

Thread 6 (LWP 726):
#0  0x74e47358 in futex_abstimed_wait_cancelable (private=&lt;optimized out&gt;, abstime=0x723faca8, expected=0, 
    futex_word=0x76f6b0f4 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+60&gt;)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/futex-internal.h:205
#1  __pthread_cond_wait_common (abstime=0x723faca8, mutex=&lt;optimized out&gt;, 
    cond=0x76f6b0c8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+16&gt;)
    at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_cond_wait.c:539
#2  __pthread_cond_timedwait (
    cond=0x76f6b0c8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+16&gt;, 
    mutex=0xb0c6c0, abstime=0x723faca8) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_cond_wait.c:667
#3  0x76baa232 in __gthread_cond_timedwait (__abs_timeout=0x723facf8, __mutex=&lt;optimized out&gt;, 
    __cond=0x76f6b0c8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+16&gt;)
    at /usr/include/c++/7.3.0/arm-veld-linux-gnueabi/bits/gthr-default.h:871
#4  std::condition_variable::__wait_until_impl&lt;std::chrono::duration&lt;long long, std::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt; (
    __atime=..., __lock=&lt;synthetic pointer&gt;..., 
    this=0x76f6b0c8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+16&gt;)
    at /usr/include/c++/7.3.0/condition_variable:166
#5  std::condition_variable::wait_until&lt;std::chrono::duration&lt;long long, std::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt; (
    __atime=..., __lock=&lt;synthetic pointer&gt;..., 
    this=0x76f6b0c8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory+16&gt;)
    at /usr/include/c++/7.3.0/condition_variable:106
#6  std::_V2::condition_variable_any::wait_until&lt;std::unique_lock&lt;bmalloc::Mutex&gt;, std::chrono::_V2::system_clock, std::chrono::duration&lt;long long, std::ratio&lt;1ll, 1000000000ll&gt; &gt; &gt; (__atime=..., __lock=&lt;synthetic pointer&gt;..., 
    this=&lt;optimized out&gt;) at /usr/include/c++/7.3.0/condition_variable:274
#7  std::_V2::condition_variable_any::wait_until&lt;std::unique_lock&lt;bmalloc::Mutex&gt;, std::chrono::_V2::system_clock, std::chrono::duration&lt;long long int, std::ratio&lt;1, 1000000000&gt; &gt;, bmalloc::Scavenger::threadRunLoop()::&lt;lambda()&gt; &gt; (
    __p=..., __atime=..., __lock=&lt;synthetic pointer&gt;..., this=&lt;optimized out&gt;)
    at /usr/include/c++/7.3.0/condition_variable:285
#8  std::_V2::condition_variable_any::wait_for&lt;std::unique_lock&lt;bmalloc::Mutex&gt;, long long int, std::ratio&lt;1, 1000&gt;, bmalloc::Scavenger::threadRunLoop()::&lt;lambda()&gt; &gt; (__rtime=&lt;synthetic pointer&gt;..., __p=..., 
    __lock=&lt;synthetic pointer&gt;..., this=&lt;optimized out&gt;) at /usr/include/c++/7.3.0/condition_variable:300
#9  bmalloc::Scavenger::threadRunLoop (
    this=0x76f6b0b8 &lt;bmalloc::SafePerProcessStorageTraits&lt;bmalloc::Scavenger&gt;::Storage::s_memory&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/bmalloc/bmalloc/Scavenger.cpp:166
#10 0x7442247c in std::execute_native_thread_routine (__p=0xb0e980)
    at ../../../../../../../../../../work-shared/gcc-7.3.0-r0/gcc-7.3.0/libstdc++-v3/src/c++11/thread.cc:83
#11 0x74e3fe8c in start_thread (arg=0x723fb2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#12 0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (LWP 937):
#0  0x75449b9c in __GI___poll (fds=0x62797aa0, nfds=2, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=2, fds=0x62797aa0, timeout=&lt;optimized out&gt;, 
    context=0x6380aa30) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=0x6380aa30, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x7504485c in g_main_loop_run (loop=0x6380a980)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#4  0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#5  0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#6  WTF::Thread::entryPoint (newThreadContext=0x71aa9cc0)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#7  0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#8  0x74e3fe8c in start_thread (arg=0x641ff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#9  0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (LWP 742):
#0  0x7544b648 in ioctl () at ../sysdeps/unix/syscall-template.S:84
#1  0x726690e0 in gcoOS_DeviceControl () from ./usr/lib/libGAL.so
#2  0x7266a8ec in gcoOS_WaitSignal () from ./usr/lib/libGAL.so
#3  0x74132be8 in ?? () from ./usr/lib/libEGL.so.1
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (LWP 757):
#0  0x75449b9c in __GI___poll (fds=0x654044c8, nfds=2, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=2, fds=0x654044c8, timeout=&lt;optimized out&gt;, 
    context=0x654005b8) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=0x654005b8, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x7504485c in g_main_loop_run (loop=0x65403838)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#4  0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#5  0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#6  WTF::Thread::entryPoint (newThreadContext=0x71af80c0)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#7  0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#8  0x74e3fe8c in start_thread (arg=0x65dff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
#9  0x75453448 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from ./lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (LWP 731):
#0  0x75449b9c in __GI___poll (fds=0x6f603c80, nfds=1, timeout=-1)
    at /usr/src/debug/glibc/2.26-r0/git/sysdeps/unix/sysv/linux/poll.c:29
#1  0x75044484 in g_main_context_poll (priority=&lt;optimized out&gt;, n_fds=1, fds=0x6f603c80, timeout=&lt;optimized out&gt;, 
    context=0x6f6005b8) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4271
#2  g_main_context_iterate (context=0x6f6005b8, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3967
#3  0x7504485c in g_main_loop_run (loop=0x6f602ff0)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#4  0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#5  0x76b836ea in WTF::Function&lt;void ()&gt;::operator()() const (this=&lt;synthetic pointer&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Function.h:56
#6  WTF::Thread::entryPoint (newThreadContext=0x71af8030)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/Threading.cpp:129
#7  0x76ba04a0 in WTF::wtfThreadEntryPoint (context=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/ThreadingPthreads.cpp:223
#8  0x74e3fe8c in start_thread (arg=0x6ffff2e0) at /usr/src/debug/glibc/2.26-r0/git/nptl/pthread_create.c:465
Backtrace stopped: Cannot access memory at address 0x6eae7ff8

Thread 1 (LWP 721):
#0  0x7619af28 in WebCore::ScrollingThread::wakeUpRunLoop (
    this=0x76f5c344 &lt;WebCore::ScrollingThread::singleton()::scrollingThread&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/generic/ScrollingThreadGeneric.cpp:48
#1  0x7619a2e4 in WebCore::ScrollingCoordinatorCoordinatedGraphics::commitTreeState (this=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebCore/page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:89
#2  0x76ba18de in WTF::RunLoop::TimerBase::&lt;lambda(gpointer)&gt;::operator() (__closure=0x0, userData=0x71aae1d0)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:170
#3  WTF::RunLoop::TimerBase::&lt;lambda(gpointer)&gt;::_FUN(gpointer) ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:176
#4  0x75044140 in g_main_dispatch (context=0xb0eaf8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3234
#5  g_main_context_dispatch (context=context@entry=0xb0eaf8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3899
#6  0x750444c8 in g_main_context_iterate (context=0xb0eaf8, block=block@entry=1, dispatch=dispatch@entry=1, 
    self=&lt;optimized out&gt;) at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:3972
#7  0x7504485c in g_main_loop_run (loop=0xb100b8)
    at /usr/src/debug/glib-2.0/1_2.52.3-r0/glib-2.52.3/glib/gmain.c:4168
#8  0x76ba1b68 in WTF::RunLoop::run ()
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#9  0x75a19588 in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=&lt;optimized out&gt;, 
    argv=&lt;optimized out&gt;)
    at /usr/src/debug/wpewebkit/2.20.1-AUTOINC+68827a126c-r0/git/Source/WebKit/Shared/unix/ChildProcessMain.h:61
#10 0x75398b58 in __libc_start_main (main=0x8711 &lt;main(int, char**)&gt;, argc=4, argv=0x7ee3afe4, 
    init=&lt;optimized out&gt;, fini=0x88f8 &lt;__libc_csu_fini&gt;, rtld_fini=0x76f7c6b0 &lt;_dl_fini&gt;, stack_end=0x7ee3afe4)
    at /usr/src/debug/glibc/2.26-r0/git/csu/libc-start.c:308
#11 0x00008784 in _start () at ../sysdeps/arm/start.S:124
Backtrace stopped: previous frame identical to this frame (corrupt stack?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500001</commentid>
    <comment_count>4</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2019-01-30 07:28:40 -0800</bug_when>
    <thetext>+darin, +ysuzuki, +sbarati for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500476</commentid>
    <comment_count>5</comment_count>
      <attachid>360572</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-30 23:54:00 -0800</bug_when>
    <thetext>Comment on attachment 360572
Patch

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

&gt; Source/WebCore/page/scrolling/ScrollingThread.cpp:86
&gt; +    m_initializeRunLoopConditionVariable.wait(lock, [this]{ return m_threadRunLoop; });

Who notifies this condition?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500497</commentid>
    <comment_count>6</comment_count>
      <attachid>360572</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2019-01-31 01:21:07 -0800</bug_when>
    <thetext>Comment on attachment 360572
Patch

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

&gt;&gt; Source/WebCore/page/scrolling/ScrollingThread.cpp:86
&gt;&gt; +    m_initializeRunLoopConditionVariable.wait(lock, [this]{ return m_threadRunLoop; });
&gt; 
&gt; Who notifies this condition?

It&apos;s notified by ScrollingThread::initializeRunLoop() (see mac/ and generic/ implementations) right after the run loop is initialized.

        m_initializeRunLoopConditionVariable.notifyAll();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501069</commentid>
    <comment_count>7</comment_count>
      <attachid>360572</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-01 02:33:00 -0800</bug_when>
    <thetext>Comment on attachment 360572
Patch

Clearing flags on attachment: 360572

Committed r240841: &lt;https://trac.webkit.org/changeset/240841&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501070</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-01 02:33:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1501071</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-01 02:34:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47731539&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360572</attachid>
            <date>2019-01-30 05:30:29 -0800</date>
            <delta_ts>2019-02-01 02:33:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194016-20190130153028.patch</filename>
            <type>text/plain</type>
            <size>2540</size>
            <attacher name="Claudio Saavedra">csaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTIwYzMxZjQ2YTNkZjI3
MTg4MjYxZTUzNjNjZGFhZDM2NDhhYzIwNS4uZTE5YTcxZDhhMzQ5MDM2MzlhYTkzYjc1Zjk0ZDcw
YWMzNjJmNDM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAxLTMwICBDbGF1
ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmFjZS1jb25k
aXRpb24gZHVyaW5nIHNjcm9sbGluZyB0aHJlYWQgY3JlYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDAxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIGEgdGhyZWFkaW5nIGlzc3Vl
IGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgb2YgdGhlIHNjcm9sbGluZyB0aHJl
YWQgY2F1c2VkIGJ5IGNyZWF0ZVRocmVhZElmTmVlZGVkCisgICAgICAgIGxvY2tpbmcgb25seSBv
biB0aGUgY3JlYXRpb24gb2YgdGhlIHRocmVhZCBidXQgbm90IG9uCisgICAgICAgIHRoZSBpbml0
aWFsaXphdGlvbiBvZiB0aGUgbWFpbiBsb29wLCBtYWtpbmcgaXQgcG9zc2libGUKKyAgICAgICAg
Zm9yIGEgdGhyZWFkIHRvIHRyeSB0byBzcGluIHRoZSBtYWluIGxvb3AgYmVmb3JlIGl0J3MKKyAg
ICAgICAgY3JlYXRlZC4KKworICAgICAgICBGaXggdGhpcyBieSB1bmNvbmRpdGlvbmFsbHkgd2Fp
dGluZyBvbiB0aGUgbWFpbiBsb29wCisgICAgICAgIGJlaW5nIGNyZWF0ZWQuIFRoaXMgbWFrZXMg
aXQgbmVjZXNzYXJ5IHRvIGFsd2F5cyBob2xkCisgICAgICAgIHRoZSBsb2NrLCBldmVuIHdoZW4g
dGhlIHRocmVhZCBpcyBhbHJlYWR5IGNyZWF0ZWQuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVGhyZWFk
OjpjcmVhdGVUaHJlYWRJZk5lZWRlZCk6CisKIDIwMTktMDEtMjkgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBBbGlnbiB3aXRoIEZldGNoIG9uIGRhdGE6IFVSTHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVhZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUaHJlYWQuY3BwCmlu
ZGV4IGJkM2VmMDA3NzdjZGNjMWE5MzMyNWFmZmZlYjc4MDBkMmRmNGE1YjkuLjI0NjY2NmQyOTk5
Y2NhOGVhZGY1MzY2MmIzMmU3OTdlMTU1YjcwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVGhyZWFkLmNwcApAQCAtNzIsMjQgKzcyLDIxIEBAIFNj
cm9sbGluZ1RocmVhZCYgU2Nyb2xsaW5nVGhyZWFkOjpzaW5nbGV0b24oKQogCiB2b2lkIFNjcm9s
bGluZ1RocmVhZDo6Y3JlYXRlVGhyZWFkSWZOZWVkZWQoKQogewotICAgIGlmIChtX3RocmVhZCkK
LSAgICAgICAgcmV0dXJuOwotCiAgICAgLy8gV2FpdCBmb3IgdGhlIHRocmVhZCB0byBpbml0aWFs
aXplIHRoZSBydW4gbG9vcC4KLSAgICB7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4g
bG9jayhtX2luaXRpYWxpemVSdW5Mb29wTXV0ZXgpOworICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9j
az4gbG9jayhtX2luaXRpYWxpemVSdW5Mb29wTXV0ZXgpOwogCisgICAgaWYgKCFtX3RocmVhZCkg
ewogICAgICAgICBtX3RocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJXZWJDb3JlOiBTY3JvbGxpbmci
LCBbdGhpc10gewogICAgICAgICAgICAgV1RGOjpUaHJlYWQ6OnNldEN1cnJlbnRUaHJlYWRJc1Vz
ZXJJbnRlcmFjdGl2ZSgpOwogICAgICAgICAgICAgaW5pdGlhbGl6ZVJ1bkxvb3AoKTsKICAgICAg
ICAgfSk7Ci0gICAgICAgIAorICAgIH0KKwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAgICBt
X2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uVmFyaWFibGUud2FpdChsb2NrLCBbdGhpc117IHJl
dHVybiBtX3RocmVhZFJ1bkxvb3A7IH0pOworICAgIG1faW5pdGlhbGl6ZVJ1bkxvb3BDb25kaXRp
b25WYXJpYWJsZS53YWl0KGxvY2ssIFt0aGlzXXsgcmV0dXJuIG1fdGhyZWFkUnVuTG9vcDsgfSk7
CiAjZWxzZQotICAgICAgICBtX2luaXRpYWxpemVSdW5Mb29wQ29uZGl0aW9uVmFyaWFibGUud2Fp
dChsb2NrLCBbdGhpc117IHJldHVybiBtX3J1bkxvb3A7IH0pOworICAgIG1faW5pdGlhbGl6ZVJ1
bkxvb3BDb25kaXRpb25WYXJpYWJsZS53YWl0KGxvY2ssIFt0aGlzXXsgcmV0dXJuIG1fcnVuTG9v
cDsgfSk7CiAjZW5kaWYKLSAgICB9CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRj
aEZ1bmN0aW9uc0Zyb21TY3JvbGxpbmdUaHJlYWQoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>