Bug 131218
Summary: | [WK2][GTK] ASSERTION FAILED: m_touchEvents.contains(sequence) in some touch event tests | ||
---|---|---|---|
Product: | WebKit | Reporter: | Sergio Villar Senin <svillar> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | bugs-noreply, carlosg, cturner, hs85.jeong, mcatanzaro |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Sergio Villar Senin
Tests crashing:
fast/events/touch/multi-touch-inside-nested-iframes.html
fast/events/touch/multi-touch-inside-iframes.html
fast/events/touch/frame-hover-update.html
fast/events/touch/basic-multi-touch-events.html
Crash log:
STDERR: ASSERTION FAILED: m_touchEvents.contains(sequence)
STDERR: ../../Source/WebCore/platform/gtk/GtkTouchContextHelper.cpp(52) : bool WebCore::GtkTouchContextHelper::handleEvent(GdkEvent*)
STDERR: 1 0x7ff5eb262e2d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-3.0.so.0(WTFCrash+0x1e) [0x7ff5eb262e2d]
STDERR: 2 0x7ff5e6c8d592 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN7WebCore21GtkTouchContextHelper11handleEventEP9_GdkEvent+0x1f6) [0x7ff5e6c8d592]
STDERR: 3 0x7ff5e529b7a9 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(+0x40087a9) [0x7ff5e529b7a9]
STDERR: 4 0x7ff5e0ede0c9 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(+0x1ee0c9) [0x7ff5e0ede0c9]
STDERR: 5 0x7ff5e0617554 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgobject-2.0.so.0(+0x11554) [0x7ff5e0617554]
STDERR: 6 0x7ff5e0617117 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgobject-2.0.so.0(+0x11117) [0x7ff5e0617117]
STDERR: 7 0x7ff5e0632419 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0x551) [0x7ff5e0632419]
STDERR: 8 0x7ff5e06335ef /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgobject-2.0.so.0(g_signal_emit+0xa6) [0x7ff5e06335ef]
STDERR: 9 0x7ff5e107914c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(+0x38914c) [0x7ff5e107914c]
STDERR: 10 0x7ff5e10787b5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(gtk_widget_event+0x112) [0x7ff5e10787b5]
STDERR: 11 0x7ff5e0edda23 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(+0x1eda23) [0x7ff5e0edda23]
STDERR: 12 0x7ff5e0eddd83 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(+0x1edd83) [0x7ff5e0eddd83]
STDERR: 13 0x7ff5e0edde51 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(gtk_propagate_event+0xcc) [0x7ff5e0edde51]
STDERR: 14 0x7ff5e0edc98c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Dependencies/Root/lib64/libgtk-3.so.0(gtk_main_do_event+0x6da) [0x7ff5e0edc98c]
STDERR: 15 0x444192 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner() [0x444192]
STDERR: 16 0x444261 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner(_ZN3WTR16EventSenderProxy16sendOrQueueEventEP9_GdkEvent+0x59) [0x444261]
STDERR: 17 0x4453c8 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner(_ZN3WTR16EventSenderProxy22sendUpdatedTouchEventsEv+0x90) [0x4453c8]
STDERR: 18 0x445464 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner(_ZN3WTR16EventSenderProxy8touchEndEv+0x18) [0x445464]
STDERR: 19 0x434a1f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner(_ZN3WTR14TestController46didReceiveSynchronousMessageFromInjectedBundleEPK14OpaqueWKStringPKv+0x115b) [0x434a1f]
STDERR: 20 0x43323e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/bin/WebKitTestRunner(_ZN3WTR14TestController46didReceiveSynchronousMessageFromInjectedBundleEPK15OpaqueWKContextPK14OpaqueWKStringPKvPS8_S8_+0x34) [0x43323e]
STDERR: 21 0x7ff5e5055183 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN6WebKit30WebContextInjectedBundleClient46didReceiveSynchronousMessageFromInjectedBundleEPNS_10WebContextERKN3WTF6StringEPN3API6ObjectERNS3_6RefPtrIS8_EE+0xa9) [0x7ff5e5055183]
STDERR: 22 0x7ff5e503dbd4 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN6WebKit10WebContext46didReceiveSynchronousMessageFromInjectedBundleERKN3WTF6StringEPN3API6ObjectERNS1_6RefPtrIS6_EE+0x3e) [0x7ff5e503dbd4]
STDERR: 23 0x7ff5e503e843 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN6WebKit10WebContext21didReceiveSyncMessageEPN3IPC10ConnectionERNS1_14MessageDecoderERSt10unique_ptrINS1_14MessageEncoderESt14default_deleteIS7_EE+0x231) [0x7ff5e503e843]
STDERR: 24 0x7ff5e4f93abb /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3IPC18MessageReceiverMap19dispatchSyncMessageEPNS_10ConnectionERNS_14MessageDecoderERSt10unique_ptrINS_14MessageEncoderESt14default_deleteIS6_EE+0x9f) [0x7ff5e4f93abb]
STDERR: 25 0x7ff5e503e3be /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN6WebKit10WebContext19dispatchSyncMessageEPN3IPC10ConnectionERNS1_14MessageDecoderERSt10unique_ptrINS1_14MessageEncoderESt14default_deleteIS7_EE+0x34) [0x7ff5e503e3be]
STDERR: 26 0x7ff5e50d5926 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN6WebKit15WebProcessProxy21didReceiveSyncMessageEPN3IPC10ConnectionERNS1_14MessageDecoderERSt10unique_ptrINS1_14MessageEncoderESt14default_deleteIS7_EE+0x5c) [0x7ff5e50d5926]
STDERR: 27 0x7ff5e4f8208b /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3IPC10Connection19dispatchSyncMessageERNS_14MessageDecoderE+0xdf) [0x7ff5e4f8208b]
STDERR: 28 0x7ff5e4f8242c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_14MessageDecoderESt14default_deleteIS2_EE+0xaa) [0x7ff5e4f8242c]
STDERR: 29 0x7ff5e4f8260d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3IPC10Connection18dispatchOneMessageEv+0xcd) [0x7ff5e4f8260d]
STDERR: 30 0x7ff5e4f92d8f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3WTF15FunctionWrapperIMN3IPC10ConnectionEFvvEEclEPS2_+0x65) [0x7ff5e4f92d8f]
STDERR: 31 0x7ff5e4f92b02 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-3.0.so.25(_ZN3WTF17BoundFunctionImplINS_15FunctionWrapperIMN3IPC10ConnectionEFvvEEEFvPS3_EEclEv+0x32) [0x7ff5e4f92b02]
STDERR: LEAK: 3 JSLazyEventListener
STDERR: LEAK: 32 RenderObject
STDERR: LEAK: 1 Page
STDERR: LEAK: 3 Frame
STDERR: LEAK: 4 CachedResource
STDERR: LEAK: 1 SubresourceLoader
STDERR: LEAK: 247 WebCoreNode
STDERR: LEAK: 1 WebPage
STDERR: LEAK: 3 WebFrame
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Sergio Villar Senin
Adding Garnacho
Carlos Garnacho
I'll have a look at that when I'm back from LGM
Hunseop Jeong
Source/opensource/WebKitGTK/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (863)
uint32_t sequence = GPOINTER_TO_UINT(gdk_event_get_event_sequence(touchEvent));
If the touch event is GDK_TOUCH_BEGIN, gdk_event_get_event_sequence returns the value incrementally. (like as 1, 2, 3, 4...)
But if the touch event is GDK_TOUCH_END, gdk_event_get_event_sequence always returns the '1'.
STDERR: ASSERTION FAILED: m_touchEvents.contains(sequence)
At this time, sequence=1 already removed at first invoked webkitWebViewBaseTouchEvent().
So it makes the crash.
We have to investigate why gdk_event_get_event_sequence always return the '1' when touch event is GDK_TOUCH_END.
Charlie Turner
These crashes are no longer occurring, the tests just fail as before for reasons documented elsewhere.
I believe r197351 stopped the assert firing.
Charlie Turner
Confirmed that, the last crash was r194214.
Charlie Turner
Please disregard previous comment, I still believe this is no longer crashing in debug builds from manual testing, but the automated tool that gave me the above commit on works off release logs, which I overlooked.
Michael Catanzaro
Expectations updated in bug #173160.