OpenJFX custom build - Java application crash (semi-related to 8262276)

Primož Kokol primoz.kokol at gmail.com
Fri Mar 12 18:17:32 UTC 2021


Hi Kevin,

Unfortunately I don't have a test case. We are using various WebViews in
our production application hence we don't know where/why exactly the
application freezes.

We were hoping that we will be able to identify it using the native debug
build (& attached debugged) but it is now unfortunately crashing with the
above error.

Side note:
Should I contact Arun directly or is he seeing these messages?

-- PrimosK

On Fri, 12 Mar 2021 at 19:00, Kevin Rushforth <kevin.rushforth at oracle.com>
wrote:

> Arun should be able to help you with the crash you are seeing in debug
> mode.
>
> Regarding the hang, do you have a test case that will reproduce it? A
> few different developers have reported similar hangs. We ended up
> closing a recently-filed bug, JDK-8260238 [1], because were (and still
> are) unable to reproduce the hang.
>
> -- Kevin
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8260238
>
>
> On 3/12/2021 1:06 AM, Primož Kokol wrote:
> > Hi everyone,
> >
> > I would need some help related to OpenJFX build.
> >
> > I was able to successfully prepare a build following this procedure (from
> > pull/417 request):
> > https://github.com/openjdk/jfx/pull/417#issuecomment-795178731
> >
> > We wanted to use it in our existing application (Java 11.0.10) to debug
> an
> > issue where the application would hang/freeze for no obvious reason
> because
> > of WebKit.
> >
> > In order to use this build we've manually overridden javafx-*.jar files
> in
> > our application with the ones from the above build.
> > We've also placed all produced DLL files in our application's "bin"
> folder
> > so they are properly picked up (I've verified and I can confirm that
> > jfxwebkit.dll produced by our debug build is loaded).
> >
> > After using this native debug build, the application will crash instead
> > with:
> > Unhandled exception at 0x00007FFA1E93286E (ucrtbase.dll) in java.exe:
> Fatal
> > program exit requested.
> >
> > It looks like it happens when JS code calls Java method.
> >
> > There is the call stack at the time when exception happens:
> >
> >> ucrtbase.dll!abort () Unknown Non-user code. Symbols loaded.
> >    jfxwebkit.dll!WTFCrashWithInfo(int __formal, const char * __formal,
> const
> > char * __formal, int __formal) Line 672 C++ Symbols loaded.
> >
> >
> jfxwebkit.dll!JSC::JSCastingHelpers::inheritsJSTypeImpl<JSC::InternalFunction,JSC::InternalFunction>(JSC::VM
> > & vm, JSC::InternalFunction * from, JSC::JSTypeRange range) Line 143 C++
> > Symbols loaded.
> >
> >
> jfxwebkit.dll!JSC::JSCastingHelpers::InheritsTraits<JSC::InternalFunction>::inherits<JSC::InternalFunction>(JSC::VM
> > & vm, JSC::InternalFunction * from) Line 164 C++ Symbols loaded.
> >    jfxwebkit.dll!JSC::jsDynamicCast<JSC::InternalFunction
> > *,JSC::InternalFunction>(JSC::VM & vm, JSC::InternalFunction * from) Line
> > 182 C++ Symbols loaded.
> >    jfxwebkit.dll!JSC::InternalFunction::finishCreation(JSC::VM & vm,
> const
> > WTF::String & name, JSC::InternalFunction::NameAdditionMode
> > nameAdditionMode) Line 49 C++ Symbols loaded.
> >    jfxwebkit.dll!JSC::RuntimeMethod::finishCreation(JSC::VM & vm, const
> > WTF::String & ident) Line 58 C++ Symbols loaded.
> >    jfxwebkit.dll!JavaRuntimeMethod::finishCreation(JSC::VM & globalData,
> > const WTF::String & name) Line 231 C++ Symbols loaded.
> >    jfxwebkit.dll!JavaRuntimeMethod::create(JSC::JSGlobalObject *
> > globalObject, const WTF::String & name, JSC::Bindings::Method * method)
> > Line 212 C++ Symbols loaded.
> >
> jfxwebkit.dll!JSC::Bindings::JavaInstance::getMethod(JSC::JSGlobalObject
> > * globalObject, JSC::PropertyName propertyName) Line 241 C++ Symbols
> loaded.
> >
> >
> jfxwebkit.dll!JSC::Bindings::RuntimeObject::methodGetter(JSC::JSGlobalObject
> > * lexicalGlobalObject, __int64 thisValue, JSC::PropertyName propertyName)
> > Line 124 C++ Symbols loaded.
> >    jfxwebkit.dll!JSC::PropertySlot::customGetter(JSC::JSGlobalObject *
> > globalObject, JSC::PropertyName propertyName) Line 48 C++ Symbols loaded.
> >    jfxwebkit.dll!JSC::PropertySlot::getValue(JSC::JSGlobalObject *
> > globalObject, JSC::PropertyName propertyName) Line 422 C++ Symbols
> loaded.
> >    jfxwebkit.dll!JSC::JSValue::get(JSC::JSGlobalObject * globalObject,
> > JSC::PropertyName propertyName, JSC::PropertySlot & slot) Line 963 C++
> > Symbols loaded.
> >    jfxwebkit.dll!JSC::LLInt::performLLIntGetByID(const JSC::Instruction *
> > pc, JSC::CodeBlock * codeBlock, JSC::JSGlobalObject * globalObject,
> > JSC::JSValue baseValue, const JSC::Identifier & ident,
> > JSC::GetByIdModeMetadata & metadata) Line 759 C++ Symbols loaded.
> >    jfxwebkit.dll!llint_slow_path_get_by_id(JSC::CallFrame * callFrame,
> const
> > JSC::Instruction * pc) Line 833 C++ Symbols loaded.
> >    jfxwebkit.dll!llint_entry () Unknown Non-user code. Symbols loaded.
> >    000000c7ef8fae90() Unknown Non-user code
> >    000000c7ef8faf50() Unknown Non-user code
> >    0000028d52eeedbb() Unknown Non-user code
> >    cccccccccccccccc() Unknown Non-user code
> >    0000028d52eeedb6() Unknown Non-user code
> >
> > ... and partial output from the output console:
> >
> > ....
> > (S)tacking Context/(F)orced SC/O(P)portunistic SC, (N)ormal flow only,
> > (O)verflow clip, (A)lpha (opacity or mask), has (B)lend mode, (I)solates
> > blending, (T)ransform-ish, (F)ilter, Fi(X)ed position, Behaves as
> fi(x)ed,
> > (C)omposited, (P)rovides backing/uses (p)rovided backing/paints to
> > (a)ncestor, (c)omposited descendant, (s)scrolling ancestor,
> (t)transformed
> > ancestor
> > Dirty (z)-lists, Dirty (n)ormal flow lists
> > Traversal needs: requirements (t)raversal on descendants, (b)acking or
> > hierarchy traversal on descendants, (r)equirements traversal on all
> > descendants, requirements traversal on all (s)ubsequent layers,
> (h)ierarchy
> > traversal on all descendants, update of paint (o)rder children
> > Update needs:    post-(l)ayout requirements, (g)eometry, (k)ids geometry,
> > (c)onfig, layer conne(x)ion, (s)crolling tree
> > Scrolling scope: box contents
> >
> > S-------------- -- ------ -----s 34 34 0000028D98F22260 (0,0) width=460
> > height=650 RenderView 0x28d4d4d1cd0
> > S-------------- -- ------ ------ 34 34   + 0000028D4D98D430 (0,0) width=
> no
> > compositing work to do
> > FrameView 0000028D4F2A4CF0 performPostLayoutTasks
> >
> > FrameView 0000028D4F2A4CF0 updateLayoutViewport() totalContentSize
> > width=460 height=650 unscaledDocumentRect (0,0) width=460 height=650
> header
> > height 0 footer height 0 fixed behavior 0
> > layoutViewport: (0,0) width=460 height=650
> > visualViewport: (0,0) width=460 height=650 (is override 0)
> > stable origins: min: (0.00,0.00) max: (0.00,0.00)
> > DocumentTimelinesController::updateAnimationsAndSendEvents for time
> 24.89s
> > DeclarativeAnimation::tick for element node 0000028D40C406A0 DIV
> > 0x28d40c406a0 class='leaflet-proxy leaflet-zoom-animated'
> > KeyframeEffect::invalidate on element node 0000028D40C406A0 DIV
> > 0x28d40c406a0 class='leaflet-proxy leaflet-zoom-animated'
> > DeclarativeAnimation::tick for element node 0000028D40C42E90 DIV
> > 0x28d40c42e90 class='leaflet-tile-container leaflet-zoom-animated'
> > KeyframeEffect::invalidate on element node 0000028D40C42E90 DIV
> > 0x28d40c42e90 class='leaflet-tile-container leaflet-zoom-animated'
> > EventDispatcher::dispatchEvent transitioncancel on node DIV
> > EventDispatcher::dispatchEvent transitioncancel on node DIV
> > ASSERTION FAILED: canCast == from->JSCell::inherits(vm, Target::info())
> >
> C:\jfx\modules\javafx.web\src\main\native\Source\JavaScriptCore\runtime\JSCast.h(143)
> > : JSC::JSCastingHelpers::inheritsJSTypeImpl
> > Unhandled exception at 0x00007FFA1E93286E (ucrtbase.dll) in java.exe:
> Fatal
> > program exit requested.
> >
> > Note that this crash isn't happening with official JavaFX 15, 16, and
> > 17-ea+2 builds (that are at the time of writing this available on the
> > maven), but unfortunately we can't use these for debugging purposes.
> >
> > Does that indicate any issues with the native debug build or is this some
> > regression that was introduced in the current `master` branch recently
> > (after 17-ea+2)?
> >
> > Thanks for any helpful hints/advice in advance!
> >
> > Best regards,
> > PrimosK
>
>


More information about the openjfx-dev mailing list