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
...
# # # # # # # # # # # # # # # # #