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...@oracle.com
<mailto:guru...@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
...
# # # # # # # # # # # # # # # # #