<?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>198129</bug_id>
          
          <creation_ts>2019-05-22 10:26:19 -0700</creation_ts>
          <short_desc>REGRESSION: Layout Test scrollbars/overflow-custom-scrollbar-crash.html is flaky</short_desc>
          <delta_ts>2019-05-23 12:11:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=198177</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=198178</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=198191</see_also>
          <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="Truitt Savell">tsavell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>graouts</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sroberts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1538250</commentid>
    <comment_count>0</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-05-22 10:26:19 -0700</bug_when>
    <thetext>The following layout test is flaky on MacOS WK1

scrollbars/overflow-custom-scrollbar-crash.html

Probable cause:

This test became flakey recently. The test does not fail when ran on its own. using the list of tests on the same test runner I was able to bisect down to 1 test that is causing the failure: 
pointerevents/mouse/pointerdown-prevent-default.html 

Running this test before scrollbars/overflow-custom-scrollbar-crash.html casques a 100% failure. 


I am able to reproduce it using command:
rwt --root testbuild-245594 pointerevents/mouse/pointerdown-prevent-default.html scrollbars/overflow-custom-scrollbar-crash.html --child-processes 1 -1

Flakiness Dashboard:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=scrollbars%2Foverflow-custom-scrollbar-crash.html

Diff:
--- /Volumes/Data/slave/mojave-release-tests-wk1/build/layout-test-results/scrollbars/overflow-custom-scrollbar-crash-expected.txt
+++ /Volumes/Data/slave/mojave-release-tests-wk1/build/layout-test-results/scrollbars/overflow-custom-scrollbar-crash-actual.txt
@@ -1 +1,2 @@
+CONSOLE MESSAGE: line 100: TypeError: undefined is not an object (evaluating &apos;scroller.parentNode&apos;)
 This test should not crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538251</commentid>
    <comment_count>1</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-05-22 10:28:58 -0700</bug_when>
    <thetext>Due to a lack of builds I have a regression range of 245563 — 245594. most of these are cherry picks and can be disregarded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538288</commentid>
    <comment_count>2</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-05-22 11:22:55 -0700</bug_when>
    <thetext>I was able to reproduce the failure on a checkout of 245585 but not on 245584.

Looks like https://trac.webkit.org/changeset/245585/webkit is the cause of this flakiness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538290</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-22 11:24:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/51034859&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538629</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 03:43:29 -0700</bug_when>
    <thetext>This caught two issues:

1. We consider mouseover to a compatibility mouse event, but it isn&apos;t.
2. We still account for the fact that preventDefault() was called during handling of a &quot;pointerdown&quot; event even after the mouse is no longer pressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538632</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 05:08:48 -0700</bug_when>
    <thetext>(In reply to Antoine Quint from comment #4)
&gt; This caught two issues:
&gt; 
&gt; 1. We consider mouseover to a compatibility mouse event, but it isn&apos;t.

This is tracked by https://bugs.webkit.org/show_bug.cgi?id=198177.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538639</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 05:40:42 -0700</bug_when>
    <thetext>(In reply to Antoine Quint from comment #4)
&gt; This caught two issues:
&gt; 
&gt; 2. We still account for the fact that preventDefault() was called during
&gt; handling of a &quot;pointerdown&quot; event even after the mouse is no longer pressed.

This is tracked by https://bugs.webkit.org/show_bug.cgi?id=198178.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538695</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-23 10:56:25 -0700</bug_when>
    <thetext>Out of curiosity, what was the mechanism that made pointerdown-prevent-default.html break a subsequent test?

Generally, this is not something that I would expect to happen in DOM event test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538720</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 11:17:32 -0700</bug_when>
    <thetext>This is fixed now that the commits for 198177 and 198178 have landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538726</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 11:36:31 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; Out of curiosity, what was the mechanism that made
&gt; pointerdown-prevent-default.html break a subsequent test?
&gt; 
&gt; Generally, this is not something that I would expect to happen in DOM event
&gt; test cases.

A flag was set inside WebCore’s PointerCaptureController while handling pointerdown and it was not cleared on pointerup. The next test that runs starts off with the PointerCaptureController in a bad state, just like another interaction within that first test would have been a bad state, which is that the tests I’ve added check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538734</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-23 11:45:07 -0700</bug_when>
    <thetext>Thank you!

Does either of the fixes make it so that the bit gets reset on navigation? Even if a navigation happens between pointerdown and pointerup, we don&apos;t want the old pointerdown to affect anything in the new page. I do not see anything navigation related in the fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538741</commentid>
    <comment_count>11</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-05-23 12:11:18 -0700</bug_when>
    <thetext>No, (In reply to Alexey Proskuryakov from comment #10)
&gt; Thank you!
&gt; 
&gt; Does either of the fixes make it so that the bit gets reset on navigation?
&gt; Even if a navigation happens between pointerdown and pointerup, we don&apos;t
&gt; want the old pointerdown to affect anything in the new page. I do not see
&gt; anything navigation related in the fixes.

No, the PointerCaptureController is not called into during navigation as far as I know. It&apos;s entirely possible that something else does though, but this requires testing. Raised https://bugs.webkit.org/show_bug.cgi?id=198191 to track this.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>