RFR: 8242361: JavaFX Web View crashes with Segmentation Fault, when HTML contains Data-URIs [v3]
Matthias Bläsing
github.com+2179736+matthiasblaesing at openjdk.java.net
Tue Dec 15 16:57:13 UTC 2020
> 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.
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/360/files
- new: https://git.openjdk.java.net/jfx/pull/360/files/0281aa12..8e688e94
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=360&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=360&range=01-02
Stats: 60 lines in 4 files changed: 32 ins; 19 del; 9 mod
Patch: https://git.openjdk.java.net/jfx/pull/360.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/360/head:pull/360
PR: https://git.openjdk.java.net/jfx/pull/360
More information about the openjfx-dev
mailing list