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 <mailto: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";);
        ...

    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

            ...

            # # # # # # # # # # # # # # # # #






Reply via email to