status behind JDK-8149738

Guru Hb guru.hb at oracle.com
Tue Apr 12 09:18:32 UTC 2016


Thank you Matthieu,

Let me create a sample GWT web  application with tabs along with the use 
case mentioned below. Will update the status in the JBS.

Thanks,
Guru

On 12/4/16 2:26 PM, Matthieu BROUILLARD wrote:
> Hi,
>
> let me try to give more insights
>
> />>> 0. resume of running and crashing JVMs/
> 64 bits: all tested work (at least issue not reproduced)
> 32 bits:
>    - 8u74-i586, 8u60-i586: fail
>    - 8u45-i586: OK
>
> />>> 00. Application under test/
> We have simplified the reproducer JavaFX app as "just" a simple 
> webview opening our GWT webapplication.
> There's no magic here, just a call to load() method on the WebEngine 
> of a WebView.
>
> />>> 1. What Content is loaded to WebEngine. (Live webpage or custom 
> content)/
> It is a dynamic GWT webapplication.
> When launched, the application loads correctly: dynamic content 
> (multiple dynamic parts in the app) is created/loaded/shown.
> The loaded page shows several tabs, when clicking on a tab the JVM 
> crashes.
>
> />>> 2. which mouse event lead to crash (Right / left click, Double 
> click, Scroll)/
> single left click.
>
> />>> 3. W.r.t 2nd point, is there a pop-up dialog exist ? or what was 
> the html element under which mouse event triggered (Input element, 
> Editable div, Form elements, Image , upload dialog, table,etc)./
> it is a simple div element that is CSS styled.
>
> />>> 4. Any Modal Dialog used in the application under test , which 
> will be used as a call back to an event from WebEngine ?/
> No in this case our JavaFX reproducer app, is nothing more than:
>     ...
>     WebView wv = new WebView();
> wv.getEngine().load("http://ourwebapp");
>     ...
>
> In our global product we have indeed interaction between the host JVM 
> & the webapp ; but here we reproduce the crash with a simple app 
> consisting of the 2 lines above.
>
>
> On Tue, Apr 12, 2016 at 9:41 AM, Guru Hb <guru.hb at oracle.com 
> <mailto:guru.hb at oracle.com>> wrote:
>
>     Hi Matthieu,
>
>     Crash is due to Mouse event is not handled correctly from WebView
>     context.
>
>     Could you please provide these details.
>
>     1. What Content is loaded to WebEngine. (Live webpage or custom
>     content)
>     2. which mouse event lead to crash (Right / left click, Double
>     click, Scroll)
>     3. W.r.t 2nd point, is there a pop-up dialog exist ? or what was
>     the html element under which mouse event triggered (Input element,
>     Editable div, Form elements, Image , upload dialog, table,etc).
>     4. Any Modal Dialog used in the application under test , which
>     will be used as a call back to an event from WebEngine ?
>
>     With above details , i could derive a test content / scenario to
>     re-produce the crash.
>
>     Thanks,
>     Guru
>
>     On 11/4/16 10:09 PM, Matthieu BROUILLARD wrote:
>
>         Hi all,
>
>         In our application that integrates some webapps we are facing
>         quite the
>         same error than the one reported at
>         https://bugs.openjdk.java.net/browse/JDK-8149738.
>         The issue above has been marked with 'bugdb_22696741' ; does
>         it mean it is
>         referenced with more details elsewhere? Is there a known
>         workaround?
>
>         In our use case, when navigating in the webview into some GWT
>         based
>         application using 8u74-i586 (or 8u60-i586) we always crash the
>         JVM and
>         using 8u74 (64 bits) everything works.
>         Doing additional tests revealed that 8u45-b51-i586 is working
>         ; but
>         unfortunately we have already moved on to more recent JDKs for
>         our entire
>         application.
>
>         Sadly I do not have a simple reproduction app to provide.
>         We also enable some prism debug settings without seeing
>         anything relevant
>         in the logs ; activating the software pipeline didn't changed
>         anything
>         neither.
>
>         Are there specific debug params for the webview, webkit &
>         jfxwebkit.dll ?
>
>         The crash report looks the same than in the above issue:
>
>         # # # # # # # # # # # # # # # # #
>
>         #
>         # A fatal error has been detected by the Java Runtime Environment:
>         #
>         #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x5456b7c9,
>         pid=5836,
>         tid=6260
>         #
>         # JRE version: Java(TM) SE Runtime Environment (8.0_74-b02) (build
>         1.8.0_74-b02)
>         # Java VM: Java HotSpot(TM) Client VM (25.74-b02 mixed mode
>         windows-x86 )
>         # Problematic frame:
>         # C  [jfxwebkit.dll+0x8eb7c9]
>         ...
>         #
>
>         ---------------  T H R E A D  ---------------
>
>         Current thread (0x0563d000):  JavaThread "JavaFX Application
>         Thread"
>         [_thread_in_native, id=6260, stack(0x05c70000,0x05cc0000)]
>
>         siginfo: ExceptionCode=0xc0000005, reading address 0x002e0060
>
>         Registers:
>         EAX=0x002e0030, EBX=0x00000011, ECX=0x0d457870, EDX=0x00000000
>         ESP=0x05cbd578, EBP=0x00000000, ESI=0x0d457870, EDI=0x0bae3030
>         EIP=0x5456b7c9, EFLAGS=0x00210246
>
>         Top of Stack: (sp=0x05cbd578)
>         0x05cbd578:   0d202f60 54580e41 00000001 00000001
>         ...
>         0x05cbd5e8:   54a51a88 00000000 54510e95 0d2f89a0
>
>         Instructions: (pc=0x5456b7c9)
>         0x5456b7a9:   24 0c 01 75 35 8b 4e 14 8b c1 c1 e8 09 a8 01 75
>         ...
>         0x5456b7d9:   06 74 07 8b ce e8 4d de ff ff 5e c2 08 00 cc cc
>
>
>         Register to memory mapping:
>
>         EAX=0x002e0030 is an unknown value
>         EBX=0x00000011 is an unknown value
>         ECX=0x0d457870 is an unknown value
>         EDX=0x00000000 is an unknown value
>         ESP=0x05cbd578 is pointing into the stack for thread: 0x0563d000
>         EBP=0x00000000 is an unknown value
>         ESI=0x0d457870 is an unknown value
>         EDI=0x0bae3030 is an unknown value
>
>
>         Stack: [0x05c70000,0x05cc0000],  sp=0x05cbd578,  free space=309k
>         Native frames: (J=compiled Java code, j=interpreted, Vv=VM
>         code, C=native
>         code)
>         C  [jfxwebkit.dll+0x8eb7c9]
>
>         Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
>         j com.sun.webkit.WebPage.twkProcessMouseEvent(JIIIIIIIZZZZZF)Z+0
>         j
>         com.sun.webkit.WebPage.dispatchMouseEvent(Lcom/sun/webkit/event/WCMouseEvent;)Z+141
>         j
>         javafx.scene.web.WebView.processMouseEvent(Ljavafx/scene/input/MouseEvent;)V+175
>         j
>         javafx.scene.web.WebView.lambda$registerEventHandlers$32(Ljavafx/scene/input/MouseEvent;)V+2
>         j
>         javafx.scene.web.WebView$$Lambda$87.handle(Ljavafx/event/Event;)V+8
>         j
>         com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Ljavafx/event/Event;)V+5
>         j
>         com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Ljavafx/event/Event;)V+28
>         j
>         com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Ljavafx/event/EventType;Ljavafx/event/Event;)Ljavafx/event/Event;+29
>         j
>         com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Ljavafx/event/Event;)Ljavafx/event/Event;+8
>         j
>         com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Ljavafx/event/Event;)Ljavafx/event/Event;+11
>         j
>         com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Ljavafx/event/Event;Ljavafx/event/EventDispatchChain;)Ljavafx/event/Event;+29
>         j
>         com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Ljavafx/event/Event;)Ljavafx/event/Event;+69
>         j
>         com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Ljavafx/event/Event;Ljavafx/event/EventDispatchChain;)Ljavafx/event/Event;+17
>         j
>         com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Ljavafx/event/Event;)Ljavafx/event/Event;+69
>         j
>         com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Ljavafx/event/Event;Ljavafx/event/EventDispatchChain;)Ljavafx/event/Event;+17
>         j
>         com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Ljavafx/event/Event;)Ljavafx/event/Event;+69
>         j
>         com.sun.javafx.event.EventUtil.fireEventImpl(Ljavafx/event/EventDispatchChain;Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;+10
>         j
>         com.sun.javafx.event.EventUtil.fireEvent(Ljavafx/event/EventTarget;Ljavafx/event/Event;)Ljavafx/event/Event;+46
>         j
>         javafx.event.Event.fireEvent(Ljavafx/event/EventTarget;Ljavafx/event/Event;)V+30
>         j
>         javafx.scene.Scene$MouseHandler.process(Ljavafx/scene/input/MouseEvent;Z)V+491
>         j
>         javafx.scene.Scene$MouseHandler.access$1500(Ljavafx/scene/Scene$MouseHandler;Ljavafx/scene/input/MouseEvent;Z)V+3
>         j
>         javafx.scene.Scene.impl_processMouseEvent(Ljavafx/scene/input/MouseEvent;)V+6
>         j
>         javafx.scene.Scene$ScenePeerListener.mouseEvent(Ljavafx/event/EventType;DDDDLjavafx/scene/input/MouseButton;ZZZZZZZZZ)V+46
>         j
>         com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run()Ljava/lang/Void;+476
>         j
>         com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run()Ljava/lang/Object;+1
>         v  ~StubRoutines::call_stub
>         J 1203
>         java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
>         (0 bytes) @ 0x029c8787 [0x029c8720+0x67]
>         j
>         com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354()Ljava/lang/Void;+11
>         j
>         com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$191.get()Ljava/lang/Object;+4
>         j
>         com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Ljava/util/function/Supplier;)Ljava/lang/Object;+18
>         j
>         com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Lcom/sun/glass/ui/View;JIIIIIIIZZ)V+103
>         j com.sun.glass.ui.View.handleMouseEvent(JIIIIIIIZZ)V+30
>         j  com.sun.glass.ui.View.notifyMouse(IIIIIIIZZ)V+181
>         v  ~StubRoutines::call_stub
>         j
>         com.sun.glass.ui.win.WinApplication._runLoop(Ljava/lang/Runnable;)V+0
>         j
>         com.sun.glass.ui.win.WinApplication.lambda$null$148(ILjava/lang/Runnable;)V+8
>         j com.sun.glass.ui.win.WinApplication$$Lambda$38.run()V+12
>         j  java.lang.Thread.run()V+11
>         v  ~StubRoutines::call_stub
>
>         ...
>
>         # # # # # # # # # # # # # # # # #
>
>
>



More information about the openjfx-dev mailing list