RFR: 8242361: JavaFX Web View crashes with Segmentation Fault, when HTML contains Data-URIs [v3]
Arun Joseph
ajoseph at openjdk.java.net
Wed Dec 16 15:44:01 UTC 2020
On Tue, 15 Dec 2020 16:57:13 GMT, Matthias Bläsing <github.com+2179736+matthiasblaesing at openjdk.org> wrote:
>> The code in WTF::scheduleDispatchFunctionsOnMainThread assumes, that
>> the java class com.sun.webkit.MainThread can be found be the JNI
>> function FindClass. This is only true if the class is loadable by the
>> system class loader.
>>
>> One such case is when the OpenJFX modules are loaded from a new
>> ModuleLayer. To fix this, the reference to the class needs to be loaded
>> from when a JNI call from Java into native code is active. In that case
>> FindClass uses the classloader associated with that method.
>>
>> The test code can be executed by running:
>>
>> cd tests/manual/web/dataurl
>> ../../../../gradlew run
>
> Matthias Bläsing has updated the pull request incrementally with one additional commit since the last revision:
>
> Updated according to review comments
>
> - The text and formatting was adjusted according to the raised concerns.
> - The test was modified with a 15000ms timeout as is the case for other
> tests in the systemTests project
> - A safeguard was added in the launched child JVM, that terminates the
> child after 15000ms is it did not exit normally
> - The detection of a successful test was moved to a ChangeLister on the
> load worker state. It is assumed, that the worker success state is
> similar to the DOMContentLoaded event. The latter is fired after
> synchronous javascript was executed and that would be late enough to
> "see" the DOM update of the title.
>
> It was validated, that the test still fails without the fix and succeeds
> with it.
Fix and test looks good. Added a minor typo fix.
modules/javafx.web/src/main/native/Source/WTF/wtf/java/MainThreadJava.cpp line 49:
> 47: {
> 48: // Initialize the class reference and methodids for the MainThread. The
> 49: // initilization has to be done from a context where the class
initilization -> initialization
-------------
PR: https://git.openjdk.java.net/jfx/pull/360
More information about the openjfx-dev
mailing list