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

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 <mailto: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
    <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