Many thanks to you and all the OpenJDK commiters for the great work & support that you provide.
Matthieu On Wed, Apr 13, 2016 at 7:49 PM, Guru Hb <guru...@oracle.com> wrote: > Hi Matthieu, > > I could re-produce the crash as you have mentioned. Thanks for helping out > to for the html test content. > > Please keep an eye on JI-9035239 for further updates. > > Thanks, > Guru > > > On 13/4/16 9:13 PM, Matthieu BROUILLARD wrote: > > Hi Guru, > > I have filled an issue in http://bugreport.java.com/ ; denominated for > the moment JI-9035239. > > I have a simple reproducer test app that I also put in the bug report: > <https://gist.github.com/McFoggy/e6166349b8ea012c925665fcf9625501> > https://gist.github.com/McFoggy/e6166349b8ea012c925665fcf9625501 > > The problem occures when colgroups>col width are reset/recomputed only. If > in the webapp you uncheck the "Clear col sizes" combobox then the app > should work correctly. > If at startup you uncheck it ; it will normally work. What is weird is > that if then you re-check it ; it will continue to work and will not fail > anymore. > > Notice that with this simple reproducer test case I now reproduce the > problem not only on 32bits versions but also on 64bits 8u74 & 8u77. > > Thanks > > Matthieu > > > On Wed, Apr 13, 2016 at 5:07 AM, Guru Hb <guru...@oracle.com> wrote: > >> Hi Matthieu, >> >> If you could update the re-producer html/js in the JBS would be very help >> full. >> >> I could reproduce with >> http://advanced-gwt.sourceforge.net/demo/index.html --> "Click Heading >> (Caption)" --> Crash. There are multiple Table listed in the left panel, >> where i can re-produce the crash which originates from >> "com.sun.webkit.WebPage.twkProcessMouseEvent". >> >> Thanks, >> Guru >> >> On 12/4/16 10:00 PM, Matthieu BROUILLARD wrote: >> >> Hi Guru, >> >> I think I have isolated the problem ; it relates to GWT FlexTable (with >> fixed column & row size) that is cleaned and refilled. >> Tomorrow I'll build a clean GWT reproducer app and will send it to you. >> I'll also do the exact same in pure html/js without GWT being involved. >> >> Matthieu >> >> >> On Tue, Apr 12, 2016 at 11:18 AM, Guru Hb < <guru...@oracle.com> >> guru...@oracle.com> wrote: >> >>> 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>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> >>> 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 >>>>> >>>>> ... >>>>> >>>>> # # # # # # # # # # # # # # # # # >>>>> >>>> >>>> >>> >>> >> >> > >