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