Bug 115025 - LayoutUnit overflows in fast/events/constructors/(mouse|wheel)-event-constructor.html
Summary: LayoutUnit overflows in fast/events/constructors/(mouse|wheel)-event-construc...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ms2ger (he/him; ⌚ UTC+1/+2)
URL:
Keywords: Gtk, LayoutTestFailure
Depends on:
Blocks:
 
Reported: 2013-04-23 02:13 PDT by Zan Dobersek
Modified: 2018-05-09 00:35 PDT (History)
8 users (show)

See Also:


Attachments
Patch (113.66 KB, patch)
2017-12-08 05:18 PST, Ms2ger (he/him; ⌚ UTC+1/+2)
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews105 for mac-elcapitan-wk2 (2.55 MB, application/zip)
2017-12-08 06:27 PST, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2013-04-23 02:13:20 PDT
The following two tests are outputting out-of-bounds messages in LayoutUnit:
fast/events/constructors/mouse-event-constructor.html
fast/events/constructors/wheel-event-constructor.html

The message:
ERROR: !(isInBounds(value))
../../Source/WebCore/platform/LayoutUnit.h(325) : void WebCore::LayoutUnit::setValue(int)
ERROR: !(isInBounds(value))
../../Source/WebCore/platform/LayoutUnit.h(325) : void WebCore::LayoutUnit::setValue(int)

This is happening when testing the bounds of WebIDL's long type for clientX and clientY attributes. The tests fail, as the diffs show:

--- /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/layout-test-results/fast/events/constructors/mouse-event-constructor-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/layout-test-results/fast/events/constructors/mouse-event-constructor-actual.txt
@@ -101,9 +101,9 @@
 PASS new MouseEvent('eventType', { screenY: {moemoe: 12345} }).screenY is 0
 PASS new MouseEvent('eventType', { screenY: {valueOf: function () { return 12345; }} }).screenY is 12345
 PASS new MouseEvent('eventType', { clientX: 0 }).clientX is 0
-PASS new MouseEvent('eventType', { clientX: 2147483647 }).clientX is 2147483647
+FAIL new MouseEvent('eventType', { clientX: 2147483647 }).clientX should be 2147483647. Was -1.
 PASS new MouseEvent('eventType', { clientX: -1 }).clientX is -1
-PASS new MouseEvent('eventType', { clientX: -2147483648 }).clientX is -2147483648
+FAIL new MouseEvent('eventType', { clientX: -2147483648 }).clientX should be -2147483648. Was 0.
 PASS new MouseEvent('eventType', { clientX: 4294967295 }).clientX is -1
 PASS new MouseEvent('eventType', { clientX: 9007199254740991 }).clientX is -1
 PASS new MouseEvent('eventType', { clientX: 18446744073709551615 }).clientX is 0
@@ -122,9 +122,9 @@
 PASS new MouseEvent('eventType', { clientX: {moemoe: 12345} }).clientX is 0
 PASS new MouseEvent('eventType', { clientX: {valueOf: function () { return 12345; }} }).clientX is 12345
 PASS new MouseEvent('eventType', { clientY: 0 }).clientY is 0
-PASS new MouseEvent('eventType', { clientY: 2147483647 }).clientY is 2147483647
+FAIL new MouseEvent('eventType', { clientY: 2147483647 }).clientY should be 2147483647. Was -1.
 PASS new MouseEvent('eventType', { clientY: -1 }).clientY is -1
-PASS new MouseEvent('eventType', { clientY: -2147483648 }).clientY is -2147483648
+FAIL new MouseEvent('eventType', { clientY: -2147483648 }).clientY should be -2147483648. Was 0.
 PASS new MouseEvent('eventType', { clientY: 4294967295 }).clientY is -1
 PASS new MouseEvent('eventType', { clientY: 9007199254740991 }).clientY is -1
 PASS new MouseEvent('eventType', { clientY: 18446744073709551615 }).clientY is 0

--- /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/layout-test-results/fast/events/constructors/wheel-event-constructor-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-debug-wk1/build/layout-test-results/fast/events/constructors/wheel-event-constructor-actual.txt
@@ -104,9 +104,9 @@
 PASS new WheelEvent('eventType', { screenY: {moemoe: 12345} }).screenY is 0
 PASS new WheelEvent('eventType', { screenY: {valueOf: function () { return 12345; }} }).screenY is 12345
 PASS new WheelEvent('eventType', { clientX: 0 }).clientX is 0
-PASS new WheelEvent('eventType', { clientX: 2147483647 }).clientX is 2147483647
+FAIL new WheelEvent('eventType', { clientX: 2147483647 }).clientX should be 2147483647. Was -1.
 PASS new WheelEvent('eventType', { clientX: -1 }).clientX is -1
-PASS new WheelEvent('eventType', { clientX: -2147483648 }).clientX is -2147483648
+FAIL new WheelEvent('eventType', { clientX: -2147483648 }).clientX should be -2147483648. Was 0.
 PASS new WheelEvent('eventType', { clientX: 4294967295 }).clientX is -1
 PASS new WheelEvent('eventType', { clientX: 9007199254740991 }).clientX is -1
 PASS new WheelEvent('eventType', { clientX: 18446744073709551615 }).clientX is 0
@@ -125,9 +125,9 @@
 PASS new WheelEvent('eventType', { clientX: {moemoe: 12345} }).clientX is 0
 PASS new WheelEvent('eventType', { clientX: {valueOf: function () { return 12345; }} }).clientX is 12345
 PASS new WheelEvent('eventType', { clientY: 0 }).clientY is 0
-PASS new WheelEvent('eventType', { clientY: 2147483647 }).clientY is 2147483647
+FAIL new WheelEvent('eventType', { clientY: 2147483647 }).clientY should be 2147483647. Was -1.
 PASS new WheelEvent('eventType', { clientY: -1 }).clientY is -1
-PASS new WheelEvent('eventType', { clientY: -2147483648 }).clientY is -2147483648
+FAIL new WheelEvent('eventType', { clientY: -2147483648 }).clientY should be -2147483648. Was 0.
 PASS new WheelEvent('eventType', { clientY: 4294967295 }).clientY is -1
 PASS new WheelEvent('eventType', { clientY: 9007199254740991 }).clientY is -1
 PASS new WheelEvent('eventType', { clientY: 18446744073709551615 }).clientY is 0


http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fevents%2Fconstructors%2Fmouse-event-constructor.html%2Cfast%2Fevents%2Fconstructors%2Fwheel-event-constructor.html
Comment 1 Ms2ger (he/him; ⌚ UTC+1/+2) 2017-12-08 05:18:41 PST
Created attachment 328805 [details]
Patch
Comment 2 EWS Watchlist 2017-12-08 06:27:10 PST
Comment on attachment 328805 [details]
Patch

Attachment 328805 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/5544339

New failing tests:
fast/text/vertical-rl-rtl-linebreak.html
Comment 3 EWS Watchlist 2017-12-08 06:27:11 PST
Created attachment 328811 [details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 4 Zan Dobersek 2017-12-11 04:15:21 PST
(In reply to Ms2ger from comment #1)
> Created attachment 328805 [details]
> Patch

Chris, can you please take a look?
Comment 5 WebKit Commit Bot 2018-05-09 00:35:26 PDT
Comment on attachment 328805 [details]
Patch

Clearing flags on attachment: 328805

Committed r231549: <https://trac.webkit.org/changeset/231549>
Comment 6 WebKit Commit Bot 2018-05-09 00:35:28 PDT
All reviewed patches have been landed.  Closing bug.