status behind JDK-8149738
Matthieu BROUILLARD
matthieu at brouillard.fr
Wed Apr 13 15:43:48 UTC 2016
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.hb at 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.hb at 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.hb at oracle.com>
>> guru.hb at 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
>>>>
>>>> ...
>>>>
>>>> # # # # # # # # # # # # # # # # #
>>>>
>>>
>>>
>>
>>
>
>
More information about the openjfx-dev
mailing list