Code Monkey home page Code Monkey logo

javafxports / openjdk-jfx Goto Github PK

View Code? Open in Web Editor NEW
1.0K 78.0 145.0 559.05 MB

The openjfx repo has moved to:

Home Page: https://github.com/openjdk/jfx

License: GNU General Public License v2.0

Java 30.96% CSS 0.56% HTML 0.36% Makefile 0.32% C 11.65% Shell 0.05% Batchfile 0.01% Groovy 0.02% JavaScript 0.69% C++ 52.34% Objective-C 1.04% HLSL 0.01% GLSL 0.02% Csound 0.03% Objective-C++ 0.09% Perl 0.65% CMake 0.32% Python 0.39% Ruby 0.34% Assembly 0.16%
javafx java

openjdk-jfx's Introduction

Obsolete OpenJFX Mirror

This repository is an obsolete GIT mirror of the formerly-official HG repo on OpenJDK.

OpenJFX development has moved to the openjdk/jfx GitHub project.

Official OpenJFX Repository

The official OpenJFX Project Repository is here: https://github.com/openjdk/jfx.

openjdk-jfx's People

Contributors

aalmiray avatar arajkumar avatar azvegint avatar bourgesl avatar brcolow avatar deanwookey avatar diego4zeiss avatar ebourg avatar eugener avatar floriankirmaier avatar guruhb avatar javafxports-github-bot avatar jgneff avatar johanvos avatar jwyoon avatar kevinrushforth avatar kleopatra avatar martin-sladecek avatar matthiasblaesing avatar maxoudela avatar mipastgt avatar mkroening avatar mrkam avatar nakajima-akira avatar pchelolo avatar psomashe avatar sashamatveev avatar tiainen avatar tomsontom avatar tsayao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openjdk-jfx's Issues

There should be a standard way to define width and height through CSS

In my opinion there should be a standard way to define width and height of nodes in CSS, for example by using -fx-pref-width, -fx-pref-height, -fx-max-width, etc...

However, ImageView for example doesn't react to this properties (i.e.: nothing happens when you set them on a ImageView).

Don't know if there are others where this properties doesn't do anything.

java.lang.ArrayIndexOutOfBoundsException: -1

In my exception tracker, I got this error report:

java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.elementData(ArrayList.java:422)
    at java.util.ArrayList.get(ArrayList.java:435)
    at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)
    at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306)
    at javafx.scene.Parent.updateCachedBounds(Parent.java:1591)
    at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    at javafx.scene.Node.getGeomBounds(Node.java:3530)
    at javafx.scene.Node.getLocalBounds(Node.java:3478)
    at javafx.scene.Node.updateTxBounds(Node.java:3641)
    at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    at javafx.scene.Node.updateBounds(Node.java:559)
    at javafx.scene.Parent.updateBounds(Parent.java:1719)
    at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2404)
    at com.sun.javafx.tk.Toolkit.lambda$runPulse$29(Toolkit.java:398)
    at java.security.AccessController.doPrivileged(AccessController.java)
    at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:397)
    at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:424)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:518)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:498)
    at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:491)
    at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$403(QuantumToolkit.java:319)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(WinApplication.java)
    at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
    at java.lang.Thread.run(Thread.java:748)

At no point, this touches my application, which is why I think it might be a bug. It might be that my application is creating the wrong state and that's why this is happening.

At my current version of JavaFX, the method updateCachedBounds looks like this:

private boolean updateCachedBounds(final List<Node> dirtyNodes,
                                       int remainingDirtyNodes) {
        // fast path for untransformed bounds calculation
        if (cachedBounds.isEmpty()) {
            createCachedBounds(dirtyNodes);
            return true;
        }

        int invalidEdges = 0;

        if ((left == null) || left.boundsChanged) {
            invalidEdges |= LEFT_INVALID;
        }
        if ((top == null) || top.boundsChanged) {
            invalidEdges |= TOP_INVALID;
        }
        if ((near == null) || near.boundsChanged) {
            invalidEdges |= NEAR_INVALID;
        }
        if ((right == null) || right.boundsChanged) {
            invalidEdges |= RIGHT_INVALID;
        }
        if ((bottom == null) || bottom.boundsChanged) {
            invalidEdges |= BOTTOM_INVALID;
        }
        if ((far == null) || far.boundsChanged) {
            invalidEdges |= FAR_INVALID;
        }

        // These indicate the bounds of the Group as computed by this
        // function
        float minX = cachedBounds.getMinX();
        float minY = cachedBounds.getMinY();
        float minZ = cachedBounds.getMinZ();
        float maxX = cachedBounds.getMaxX();
        float maxY = cachedBounds.getMaxY();
        float maxZ = cachedBounds.getMaxZ();

        // this checks the newly added nodes first, so if dirtyNodes is the
        // whole children list, we can end early
        for (int i = dirtyNodes.size() - 1; remainingDirtyNodes > 0; --i) {
            final Node node = dirtyNodes.get(i);
            if (node.boundsChanged) {
                // assert node.isVisible();
                node.boundsChanged = false;
                --remainingDirtyNodes;
                tmp = getChildTransformedBounds(node, BaseTransform.IDENTITY_TRANSFORM, tmp);
                if (!tmp.isEmpty()) {
                    float tmpx = tmp.getMinX();
                    float tmpy = tmp.getMinY();
                    float tmpz = tmp.getMinZ();
                    float tmpx2 = tmp.getMaxX();
                    float tmpy2 = tmp.getMaxY();
                    float tmpz2 = tmp.getMaxZ();

                    // If this node forms an edge, then we will set it to be the
                    // node for this edge and update the min/max values
                    if (tmpx <= minX) {
                        minX = tmpx;
                        left = node;
                        invalidEdges &= ~LEFT_INVALID;
                    }
                    if (tmpy <= minY) {
                        minY = tmpy;
                        top = node;
                        invalidEdges &= ~TOP_INVALID;
                    }
                    if (tmpz <= minZ) {
                        minZ = tmpz;
                        near = node;
                        invalidEdges &= ~NEAR_INVALID;
                    }
                    if (tmpx2 >= maxX) {
                        maxX = tmpx2;
                        right = node;
                        invalidEdges &= ~RIGHT_INVALID;
                    }
                    if (tmpy2 >= maxY) {
                        maxY = tmpy2;
                        bottom = node;
                        invalidEdges &= ~BOTTOM_INVALID;
                    }
                    if (tmpz2 >= maxZ) {
                        maxZ = tmpz2;
                        far = node;
                        invalidEdges &= ~FAR_INVALID;
                    }
                }
            }
        }

        if (invalidEdges != 0) {
            // failed to validate some edges
            return false;
        }

        cachedBounds = cachedBounds.deriveWithNewBounds(minX, minY, minZ,
                                                        maxX, maxY, maxZ);
        return true;
    }

And line 1591 is:

final Node node = dirtyNodes.get(i);

I guess dirty nodes were modified by another thread?

Cross compiling for armv6hf produces some x86_64 shared libraries

It seems confused as it doesn't look like media and webkit should be building by default for armv6hf.gradle,The variable COMPILE_WEBKIT is false but output is still produced and module overview seems to think the modules should be built.

Not compiling native Media for armv6hf per configuration request
Building Webkit configuration /Release/ into /home/ubuntu/sdks/openjfx/jfx-dev/rt/modules/javafx.web/build/armv6hf
Not compiling native Webkit for armv6hf per configuration request
module: project ':apps' (buildModule=NO)
module: project ':base' (buildModule=YES)
module: project ':controls' (buildModule=YES)
module: project ':fxml' (buildModule=YES)
module: project ':fxpackager' (buildModule=NO)
module: project ':fxpackagerservices' (buildModule=NO)
module: project ':graphics' (buildModule=YES)
module: project ':media' (buildModule=YES)
module: project ':swing' (buildModule=YES)
module: project ':swt' (buildModule=NO)
module: project ':systemTests' (buildModule=NO)
module: project ':web' (buildModule=YES)

./modules_libs/javafx.media/libfxplugins.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=87c5c2693aa0ef009f48dcecfe959d8cc5fa7fc9, not stripped

./modules_libs/javafx.media/libgstreamer-lite.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f7c283861e09733c000edea98b758fcc8496dbac, not stripped

./modules_libs/javafx.media/libjfxmedia.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7987c2eded9db69513c15a2283b05e41a547d430, not stripped

./modules_libs/javafx.web/libjfxwebkit.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=e8caeff53dd4ad387ec56d1865cd30fb4360e32c, not stripped

./modules_libs/javafx.graphics/libprism_es2_monocle.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5f0d3309d013cf47c52d9b51987e824f1e3e4872, not stripped

./modules_libs/javafx.graphics/libglass_monocle_x11.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=d1735e47b13e56d58d4e9b7a7f6dee338ccccd9f, not stripped

./modules_libs/javafx.graphics/libjavafx_font.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=be89fe5204c7033e2e1ab5341d56cd2bdf8e85f9, not stripped

./modules_libs/javafx.graphics/libprism_common.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=97ea2e62a3f906b0d1351f194a84aba8743fe265, not stripped

./modules_libs/javafx.graphics/libglass.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=34611fee5f5b4e66c29dd1fd15ab4c06fb8b07e5, not stripped

./modules_libs/javafx.graphics/libprism_sw.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5145311457a7c835b061f53767a6fa26ce3aa288, not stripped

./modules_libs/javafx.graphics/libjavafx_iio.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=3819c63e3282ca9bdc20dda50c23eb9cb8fb5050, not stripped

./modules_libs/javafx.graphics/libglass_monocle.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=f9305441860f255079646812acf50ef46774317e, not stripped

./modules_libs/javafx.graphics/libjavafx_font_pango.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=0fa79848a013e6b2fb53f7d36893061904df759b, not stripped

./modules_libs/javafx.graphics/libdecora_sse.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=8052ae5d7f230ee0629743f9ee421371e3522538, not stripped

./modules_libs/javafx.graphics/libjavafx_font_freetype.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=3decd38bb952c5fefde54a1ad1f01b39799a45e6, not stripped

JavaFX Self-Contained Application fails with error "Failed to find library: jvm.dll"

Some (about 25%) of the computers in which I install my app, packaged with javafxpackager, suffer this error, that has been reported already here: https://bugs.openjdk.java.net/browse/JDK-8191176

As far as I can see, all the information in that report is accurate so I won't copy it all again, except for the fact that it's still happening on version 8u172 b03.

Something that might be relevant is that I tried to workaround this issue by going to version 8u144 (before the bug happened) and I received this error when running javafxpackager:

Execution failed for task ':jfxNative'.
> Not found MSVC dlls

They do seem related as some people pointed out that the error loading jvm.dll is due to a missing MSVCR100.dll.

Unify master and develop branch

The develop branch on javafxports should be identical to the master branch except for PRs that have been merged into develop and not yet pushed to the upstream openjfx/jfx-dev/rt repo on OpenJDK.

There is a one line difference in one file that appears to be the result of a slight change that was made while pushing to the upstream repo on OpenJDK. The purpose of this issue is to modify the develop branch to match this change (after which, develop will be again identical to master).

Here is the diff that needs to be applied to bring develop into sync:

$ git diff develop..master
diff --git a/modules/jdk.packager/src/main/native/library/common/PosixPlatform.cpp b/modules/jdk.packager/src/main/native/library/common/PosixPlatform.cpp
index 764cda7..a1b0323 100644
--- a/modules/jdk.packager/src/main/native/library/common/PosixPlatform.cpp
+++ b/modules/jdk.packager/src/main/native/library/common/PosixPlatform.cpp
@@ -54,7 +54,6 @@
 #include <algorithm>
 #include <dlfcn.h>
 #include <signal.h>
-#include <sys/wait.h>
 
 
 PosixPlatform::PosixPlatform(void) {

Update boot JDK used by CI builds to JDK 10

We've been using JDK 10 as the boot JDK to build FX for a while now, and recently starting using JDK 10 GA (build 46) to build FX 11.

We now plan to make JDK 10 the minimum required JDK. See JDK-8200446 and PR #61

Before we can do this, the Appveyor and Travis CI builds need to be updated to use JDK 10.

Publish standalone jar files to Maven Central

Starting from Java 11, JavaFX will no longer be bundled inside the SDK download. Add support to the gradle build to publish standalone jar files to Maven Central. Developers can then declare dependencies in their projects to include the JavaFX artifacts that they need.

Gradle itself advices to use the Maven plugin instead of the incubating Maven Publish plugin when artifacts need to be uploaded to Maven Central.

build failure on travis, qt can't be downloaded

Travis reports a build failure.

Looking in the logs shows this:
==> Downloading https://homebrew.bintray.com/bottles/qt-5.10.1.sierra.bottle.tar.gz
curl: (22) The requested URL returned error: 502 Bad Gateway
Error: Failed to download resource "qt"
Download failed: https://homebrew.bintray.com/bottles/qt-5.10.1.sierra.bottle.tar.gz

I manually tried to download that file (qt) and it succeeded. Hence, I assume this was a temporal network problem and the build should continue to green with the next build.
I keep this issue open until the build is green.

Ability to force a clean Travis or Appveyor CI build

It looks like the Travis and Appveyor CI builds are setup to do an incremental build. We should have a way to force a clean build, either via a fresh 'git clone' (or equivalently, running 'git clean -fdx' after a git pull) or by runing 'gradle clean' before the build. I note that cleaning the repo is a more robust solution, but running gradle clean would likely be easier.

The reason I noticed this is that the latest Travis CI build 210.1 for PR #61 failed due to repeated warnings about bad class files, which I ran into yesterday locally with incremental builds when changing the classfile format (from JDK 9 to JDK 10 in my case).

Creating a GitHub team

We should create a GitHub team for all repos that are related to OpenJFX.

Why?

  • We can easily manage members of the team
  • We can define a name, description & logo for the team
  • More people can have admin rights (not that I do not trust @johanvos etc. but it would make sense in general)

JDK-8203345: Memory leak in VirtualFlow when screen reader is enabled

In class VirtualFlow there exists a private method getPrivateCell(int) which at the end could add a new cell to an array called privateCells. Elements from this array are never removed.
An element could be e. g. a TableRow (via TableView) which could use hundreds of KB of memory. Therefore if lots of such elements are added this could lead to an OutOfMemory error.

The call hierarchy of this method shows that the method getPrivateCell(int) is only called via the method queryAccessibleAttribute(AccessibleAttribute, Object...). This could imply that this issue is only relevant when Accessability is turned on.

According to the source code this could affect the controls TableView, TreeTableView and ListView.

run JavaFX app using maven/gradle with Java 11

This is an umbrella issue for tracking progress on the most important goal for now: making sure developers can easily create and run JavaFX applications when Java 11 is released.

this involves:

dependencies {
    compile 'javafx:javafx.controls:11.0.0'
}

IDE specific files found in index

The following files/dirs are found in the index

  • .idea
  • .classpath
  • .project

This means anyone working on either IntelliJ and/or Eclipse have a high chance of overwriting these settings and send a PR with invalid information. These files should be added to .gitignore (see #21) and removed from the index.

GitHub Bot

As I have mentioned on the openjfx-dev mailing list, I believe running a simple bot will automate the process of getting contributions in the state where they are more likely to be accepted by upstream OpenJFX. My idea is:

Configure this GitHub repository to have a webhook for pull requests that points to a URL of the bot.

Use the GitHub status API to add a status check which is managed by the bot. This is similar to how we currently have status checks for Travis CI and Appveyor.

The bot does a couple things:

1.) Checks to see if the user who opened the PR has signed the OCA. We can keep a simple list of associations between github usernames and the name/email they signed the OCA under. The bot can post a comment on the PR asking the user if they have signed the OCA and if so under what name/email. If they reply they haven't signed it yet, the bot can instruct them how to do so.
2.) Take the raw patch of the PR (the result of git format-patch) and convert it to a mercurial commit which can then be hg imported into a local instance of the OpenJFX upstream mercurial repository.
3.) Generate a webrev using the mercurial commit against OpenJFX upstream master.
4.) Runs jcheck against the mercurial commit/changeset.
5.) Checks to see if this PR is associated with a JBS bug report and if so, links to it on the status page of that PR.

The status check will provide a link to a simple page that shows the OCA status, the mercurial patch, the webrev, jcheck results, and any linked JBS bug reports (this is similar to how clicking on the Travis CI status check brings one to the Travis CI build for that PR).

The status of the status check will be set depending on:

  • Pending when we first receive the pull request event from the webhook.
  • If the user has not yet signed the OCA, the status is set to failed.
  • If the mercurial commit does not apply cleanly to OpenJFX upstream master, the status is set to failed.
  • If for some reason we can't generate the webrev, the status is set to failed.
  • If jcheck fails, the status is set to failed.
  • Otherwise, the status is set to successful.

GitHub status API:

https://developer.github.com/v3/repos/statuses/

Github Pull request webhook event:

https://developer.github.com/v3/activity/events/types/#pullrequestevent

At first I thought we could easily use some type of "serverless" compute like Amazon Lambda, but having to interact with a mercurial repository of OpenJFX complicates things and I think things will be much easier having an application running on a server. We can do something very simple in Java, say, using Jersey. It would expose one REST endpoint (that github will send the pull request events to via the webhook).

The other thing I wanted to mention is we could expand upon the basic idea to include needing say N reviews from a person with OpenJFX contributor status, and the status check could mandate that.

What do you all think? Is it worth it? If I coded up a simple prototype would it be useful? Is there a server it could be hosted on? Just want to get the ball rolling on this and start the conversation. As most of you know, we are all still in "negotiations" with the OpenJFX team and how best this repository can foster contributions that will end up in OpenJFX.

Build error on OSX

I've encountered an error when attempting to make a full build as per the instructions found in CONTRIBUTING.md, that is, running gradle all test. The error appears when executing the test task on the web subproject. If the command is changed to gradle all test -x :web:test then the build succeeds.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000010e43d93a, pid=79499, tid=33539
#
# JRE version: Java(TM) SE Runtime Environment (9.0+181) (build 9+181)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (9+181, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# V  [libjvm.dylib+0x3dd93a]  jni_CallStaticObjectMethodV+0x8d
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/aalmiray/dev/github/openjdk-jfx/modules/javafx.web/hs_err_pid79499.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

Environment is set to

------------------------------------------------------------
Gradle 4.3
------------------------------------------------------------

Build time:   2017-10-30 15:43:29 UTC
Revision:     c684c202534c4138b51033b52d871939b8d38d72

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          9 (Oracle Corporation 9+181)
OS:           Mac OS X 10.12.5 x86_64

CI scripts should run "gradle all test"

The CI scripts current just run the "gradle build" task, which builds the sdk and runs the test, but doesn't run the apps or javadoc tasks. Running "gradle all test" will catch additional errors without taking too much more time.

Java 10 + Monocle = JVM Crash (TestFX test suite)

After adding a Java 10 build to our (TestFX) appveyor configuration, I am seeing a crash (every time at the same place):

https://ci.appveyor.com/project/testfx/testfx/build/master%201046/job/3pl22fioi0ut9juc#L492

It is triggered by this test.

I believe it is crashing in modules/javafx.graphics/src/main/native-font/directwrite.cpp in the JNIEXPORT jlong JNICALL OS_NATIVE(CreateBitmap) method. This is somewhat strange because that file hasn't been modified since the javafx-font and javafx-font-native modules were open sourced (as RT-31139) so figuring out why this would precipitate a crash now in Java 10 is probably non-trivial.

Here is the crash dump:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fffe2c74e80, pid=3000, tid=600
#
# JRE version: Java(TM) SE Runtime Environment (10.0+46) (build 10+46)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10+46, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [javafx_font.dll+0x4e80]
#
# Core dump will be written. Default location: C:\projects\testfx\subprojects\testfx-core\hs_err_pid3000.mdmp
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
---------------  S U M M A R Y ------------
Command Line: -Dorg.gradle.native=false -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -ea -Djava.awt.headless=true -Dtestfx.robot=glass -Dtestfx.headless=true -Dprism.order=sw -Dprism.text=t2k worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1'
Host: Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz, 2 cores, 2G,  Windows Server 2012 R2 , 64 bit Build 9600 (6.3.9600.17415)
Time: Fri Apr 13 02:07:48 2018 Coordinated Universal Time elapsed time: 5 seconds (0d 0h 0m 5s)
---------------  T H R E A D  ---------------
Current thread (0x000000405f666800):  JavaThread "QuantumRenderer-0" daemon [_thread_in_native, id=600, stack(0x0000004061600000,0x0000004061700000)]
Stack: [0x0000004061600000,0x0000004061700000],  sp=0x00000040616fc9c0,  free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [javafx_font.dll+0x4e80]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.javafx.font.directwrite.OS.CreateBitmap(JIIII)J+0 javafx.graphics@10
j  com.sun.javafx.font.directwrite.IWICImagingFactory.CreateBitmap(IIII)Lcom/sun/javafx/font/directwrite/IWICBitmap;+9 javafx.graphics@10
j  com.sun.javafx.font.directwrite.DWGlyph.createBitmap(II)Lcom/sun/javafx/font/directwrite/IWICBitmap;+10 javafx.graphics@10
j  com.sun.javafx.font.directwrite.DWGlyph.getCachedBitmap()Lcom/sun/javafx/font/directwrite/IWICBitmap;+13 javafx.graphics@10
j  com.sun.javafx.font.directwrite.DWGlyph.getD2DMask(FFZ)[B+117 javafx.graphics@10
j  com.sun.javafx.font.directwrite.DWGlyph.getPixelData(I)[B+94 javafx.graphics@10
j  com.sun.prism.sw.SWGraphics.drawGlyph(Lcom/sun/javafx/font/FontStrike;Lcom/sun/javafx/scene/text/GlyphList;ILcom/sun/javafx/geom/transform/BaseTransform;ZFF)V+85 javafx.graphics@10
j  com.sun.prism.sw.SWGraphics.drawString(Lcom/sun/javafx/scene/text/GlyphList;Lcom/sun/javafx/font/FontStrike;FFLcom/sun/prism/paint/Color;II)V+352 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGText.renderText(Lcom/sun/prism/Graphics;Lcom/sun/javafx/font/FontStrike;Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/prism/paint/Color;I)V+198 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGText.renderContent2D(Lcom/sun/prism/Graphics;Z)V+238 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGShape.renderContent(Lcom/sun/prism/Graphics;)V+454 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.renderForClip(Lcom/sun/prism/Graphics;)V+17 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.renderRectClip(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NGRectangle;)V+106 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.renderClip(Lcom/sun/prism/Graphics;)V+83 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+285 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/sg/prism/NGNode;Lcom/sun/javafx/sg/prism/NodeEffectInput$RenderType;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/scenario/effect/ImageData;+103 javafx.graphics@10
j  com.sun.javafx.sg.prism.NodeEffectInput.filter(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;+163 javafx.graphics@10
j  com.sun.scenario.effect.FilterEffect.filter(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;+111 javafx.graphics@10
j  com.sun.scenario.effect.Offset.filter(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;+35 javafx.graphics@10
j  com.sun.scenario.effect.Merge.filter(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;+27 javafx.graphics@10
j  com.sun.scenario.effect.DelegateEffect.filter(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Ljava/lang/Object;Lcom/sun/scenario/effect/Effect;)Lcom/sun/scenario/effect/ImageData;+11 javafx.graphics@10
j  com.sun.scenario.effect.impl.prism.PrEffectHelper.render(Lcom/sun/scenario/effect/Effect;Lcom/sun/prism/Graphics;FFLcom/sun/scenario/effect/Effect;)V+511 javafx.graphics@10
j  com.sun.javafx.sg.prism.EffectFilter.render(Lcom/sun/prism/Graphics;)V+13 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.renderEffect(Lcom/sun/prism/Graphics;)V+5 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+319 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGGroup.renderContent(Lcom/sun/prism/Graphics;)V+151 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGRegion.renderContent(Lcom/sun/prism/Graphics;)V+111 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.doRender(Lcom/sun/prism/Graphics;)V+330 javafx.graphics@10
j  com.sun.javafx.sg.prism.NGNode.render(Lcom/sun/prism/Graphics;)V+34 javafx.graphics@10
j  com.sun.javafx.tk.quantum.ViewPainter.doPaint(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NodePath;)V+201 javafx.graphics@10
j  com.sun.javafx.tk.quantum.ViewPainter.paintImpl(Lcom/sun/prism/Graphics;)V+961 javafx.graphics@10
j  com.sun.javafx.tk.quantum.UploadingPainter.run()V+741 javafx.graphics@10
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base@10
j  java.util.concurrent.FutureTask.runAndReset()Z+44 java.base@10
j  com.sun.javafx.tk.RenderJob.run()V+1 javafx.graphics@10
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@10
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@10
j  com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run()V+8 javafx.graphics@10
j  java.lang.Thread.run()V+11 java.base@10
v  ~StubRoutines::call_stub
siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x00007ffff6ca6878
Register to memory mapping:
RIP=0x00007fffe2c74e80 javafx_font.dll
RAX=0x0000000000000001 is an unknown value
RBX=0x0000000000000000 is an unknown value
RCX=0x000000405ec5a2f0 is an unknown value
RDX=0x0000000000000100 is an unknown value
RSP=0x00000040616fc9c0 is pointing into the stack for thread: 0x000000405f666800
RBP=0x00000040616fca10 is pointing into the stack for thread: 0x000000405f666800
RSI=0x0000000000000000 is an unknown value
RDI=0x0000000000000100 is an unknown value
R8 =0x0000000000000100 is an unknown value
R9 =0x00000040616fc9f8 is pointing into the stack for thread: 0x000000405f666800
R10=0x00007ffff6ca67f0 is an unknown value
R11=0x000000405ec5a2f0 is an unknown value
R12=0x0000000000000000 is an unknown value
R13={method} {0x0000004061c9bab8} 'CreateBitmap' '(JIIII)J' in 'com/sun/javafx/font/directwrite/OS'
R14=0x00000040616fcb00 is pointing into the stack for thread: 0x000000405f666800
R15=0x000000405f666800 is a thread
Registers:
RAX=0x0000000000000001, RBX=0x0000000000000000, RCX=0x000000405ec5a2f0, RDX=0x0000000000000100
RSP=0x00000040616fc9c0, RBP=0x00000040616fca10, RSI=0x0000000000000000, RDI=0x0000000000000100
R8 =0x0000000000000100, R9 =0x00000040616fc9f8, R10=0x00007ffff6ca67f0, R11=0x000000405ec5a2f0
R12=0x0000000000000000, R13=0x0000004061c9bab0, R14=0x00000040616fcb00, R15=0x000000405f666800
RIP=0x00007fffe2c74e80, EFLAGS=0x0000000000010206
Top of Stack: (sp=0x00000040616fc9c0)
0x00000040616fc9c0:   000000405e7e6d20 00000000000003d8
0x00000040616fc9d0:   0000004061c9bab0 000000405f666800
0x00000040616fc9e0:   0000004000000001 00000040616fc9f0
0x00000040616fc9f0:   0000000000000000 4bfe4e036fddc324
0x00000040616fca00:   10c98d76773d85b1 00005ea8b322f10a
0x00000040616fca10:   00000040616fcab8 000000404a33f317
0x00000040616fca20:   0000004061c9bab0 000000404a339c10
0x00000040616fca30:   000000404a339c10 000000404a33effc
0x00000040616fca40:   0000004000000100 0000004000000008
0x00000040616fca50:   0000000000000001 0000000000000000
0x00000040616fca60:   000000404a339c10 000000404a33efb6
0x00000040616fca70:   00000040616fca70 0000004061c9bab0
0x00000040616fca80:   00000040616fcb00 0000004061c9c370
0x00000040616fca90:   0000000000000000 00000000decf15a0
0x00000040616fcaa0:   0000004061c9bab0 0000000000000000
0x00000040616fcab0:   00000040616fcad8 00000040616fcb50 
Instructions: (pc=0x00007fffe2c74e80)
0x00007fffe2c74e60:   4d 8b 10 48 8d 45 e0 44 8b 45 30 4c 8d 4d e8 48
0x00007fffe2c74e70:   89 44 24 28 8b d7 8b 45 40 49 8b cb 89 44 24 20
0x00007fffe2c74e80:   41 ff 92 88 00 00 00 85 c0 48 0f 49 5d e0 48 8b
0x00007fffe2c74e90:   c3 48 8b 4d f8 48 33 cc e8 13 3f 00 00 48 8b 5c 
---------------  P R O C E S S  ---------------
Threads class SMR info:
_java_thread_list=0x00000040607b5a00, length=21, elements={
0x000000403ef83800, 0x000000403f070000, 0x000000403f074800, 0x000000405dd72000,
0x000000405ddb9000, 0x000000405ddbb000, 0x000000405de17000, 0x000000405de18800,
0x000000405e764800, 0x000000405e76d000, 0x000000405f134000, 0x000000405f14b000,
0x000000405f14d800, 0x000000405f19f800, 0x000000405f16f800, 0x000000405f666800,
0x000000405f64e800, 0x000000405f650800, 0x00000040607c1000, 0x00000040607be000,
0x00000040607c2000
}
Java Threads: ( => current thread )
  0x000000403ef83800 JavaThread "main" [_thread_blocked, id=1604, stack(0x000000403ee80000,0x000000403ef80000)]
  0x000000403f070000 JavaThread "Reference Handler" daemon [_thread_blocked, id=2896, stack(0x000000405df70000,0x000000405e070000)]
  0x000000403f074800 JavaThread "Finalizer" daemon [_thread_blocked, id=2236, stack(0x000000405e070000,0x000000405e170000)]
  0x000000405dd72000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2244, stack(0x000000405e250000,0x000000405e350000)]
  0x000000405ddb9000 JavaThread "Attach Listener" daemon [_thread_blocked, id=2400, stack(0x000000405e350000,0x000000405e450000)]
  0x000000405ddbb000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2888, stack(0x000000405e450000,0x000000405e550000)]
  0x000000405de17000 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=2460, stack(0x000000405e550000,0x000000405e650000)]
  0x000000405de18800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=684, stack(0x000000405e650000,0x000000405e750000)]
  0x000000405e764800 JavaThread "Service Thread" daemon [_thread_blocked, id=1912, stack(0x000000405eb50000,0x000000405ec50000)]
  0x000000405e76d000 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=1304, stack(0x000000405ed50000,0x000000405ee50000)]
  0x000000405f134000 JavaThread "Test worker" [_thread_blocked, id=1300, stack(0x000000405fa50000,0x000000405fb50000)]
  0x000000405f14b000 JavaThread "/127.0.0.1:1119 to /127.0.0.1:1118 workers Thread 2" [_thread_blocked, id=1980, stack(0x000000405fe30000,0x000000405ff30000)]
  0x000000405f14d800 JavaThread "/127.0.0.1:1119 to /127.0.0.1:1118 workers Thread 3" [_thread_in_native, id=1452, stack(0x000000405ff30000,0x0000004060030000)]
  0x000000405f19f800 JavaThread "testfx-async-pool-thread-1" daemon [_thread_blocked, id=1872, stack(0x0000004060230000,0x0000004060330000)]
  0x000000405f16f800 JavaThread "JavaFX-Launcher" daemon [_thread_blocked, id=2008, stack(0x0000004060330000,0x0000004060430000)]
=>0x000000405f666800 JavaThread "QuantumRenderer-0" daemon [_thread_in_native, id=600, stack(0x0000004061600000,0x0000004061700000)]
  0x000000405f64e800 JavaThread "JavaFX Application Thread" daemon [_thread_blocked, id=1468, stack(0x0000004061700000,0x0000004061800000)]
  0x000000405f650800 JavaThread "Timer-0" daemon [_thread_blocked, id=2496, stack(0x0000004061800000,0x0000004061900000)]
  0x00000040607c1000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=1368, stack(0x0000004061b00000,0x0000004061c00000)]
  0x00000040607be000 JavaThread "Prism Font Disposer" daemon [_thread_blocked, id=2752, stack(0x0000004063190000,0x0000004063290000)]
  0x00000040607c2000 JavaThread "Cleaner-0" daemon [_thread_blocked, id=1240, stack(0x0000004063a90000,0x0000004063b90000)]
Other Threads:
  0x000000403f068800 VMThread "VM Thread" [stack: 0x000000405de70000,0x000000405df70000] [id=2172]
  0x000000405e76d800 WatcherThread [stack: 0x000000405ee50000,0x000000405ef50000] [id=1032]
  0x000000403ef9e000 GCTaskThread "GC Thread#0" [stack: 0x0000004059510000,0x0000004059610000] [id=1036]
  0x000000403ef9f800 GCTaskThread "GC Thread#1" [stack: 0x0000004059610000,0x0000004059710000] [id=1296]
  0x000000403efc1000 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000405ad40000,0x000000405ae40000] [id=1088]
  0x000000403efc4800 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000405ae40000,0x000000405af40000] [id=1632]
  0x000000403eff1800 ConcurrentGCThread "G1 Refine#0" [stack: 0x000000405d170000,0x000000405d270000] [id=3020]
  0x000000403eff5800 ConcurrentGCThread "G1 Refine#1" [stack: 0x000000405d270000,0x000000405d370000] [id=2284]
  0x000000403eff6800 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x000000405d370000,0x000000405d470000] [id=2560]
Threads with active compile tasks:
C2 CompilerThread02757       4       javafx.scene.CssStyleHelper::resolveRef (128 bytes)
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap address: 0x00000000de400000, size: 540 MB, Compressed Oops mode: 32-bit
Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
Compressed class space size: 1073741824 Address: 0x0000000100000000
Heap:
 garbage-first heap   total 41984K, used 24829K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 6 young (6144K), 2 survivors (2048K)
 Metaspace       used 26798K, capacity 27760K, committed 28032K, reserved 1073152K
  class space    used 3433K, capacity 3868K, committed 3968K, reserved 1048576K
Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TS=gc time stamp, AC=allocation context, TAMS=top-at-mark-start (previous, next)
|   0|0x00000000de400000, 0x00000000de500000, 0x00000000de500000|100%| O|  |TS  0|AC  0|TAMS 0x00000000de500000, 0x00000000de500000|
|   1|0x00000000de500000, 0x00000000de600000, 0x00000000de600000|100%| O|  |TS  0|AC  0|TAMS 0x00000000de600000, 0x00000000de600000|
|   2|0x00000000de600000, 0x00000000de700000, 0x00000000de700000|100%| O|  |TS  0|AC  0|TAMS 0x00000000de700000, 0x00000000de700000|
|   3|0x00000000de700000, 0x00000000de800000, 0x00000000de800000|100%| O|  |TS  0|AC  0|TAMS 0x00000000de800000, 0x00000000de800000|
|   4|0x00000000de800000, 0x00000000de900000, 0x00000000de900000|100%|HS|  |TS  0|AC  0|TAMS 0x00000000de900000, 0x00000000de900000|
|   5|0x00000000de900000, 0x00000000dea00000, 0x00000000dea00000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000dea00000, 0x00000000dea00000|
|   6|0x00000000dea00000, 0x00000000deb00000, 0x00000000deb00000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000deb00000, 0x00000000deb00000|
|   7|0x00000000deb00000, 0x00000000dec00000, 0x00000000dec00000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000dec00000, 0x00000000dec00000|
|   8|0x00000000dec00000, 0x00000000ded00000, 0x00000000ded00000|100%| O|  |TS  0|AC  0|TAMS 0x00000000ded00000, 0x00000000ded00000|
|   9|0x00000000ded00000, 0x00000000dee00000, 0x00000000dee00000|100%| O|  |TS  0|AC  0|TAMS 0x00000000dee00000, 0x00000000dee00000|
|  10|0x00000000dee00000, 0x00000000dee79800, 0x00000000def00000| 47%| O|  |TS  0|AC  0|TAMS 0x00000000dee79800, 0x00000000dee79800|
|  11|0x00000000def00000, 0x00000000df000000, 0x00000000df000000|100%|HS|  |TS  0|AC  0|TAMS 0x00000000df000000, 0x00000000df000000|
|  12|0x00000000df000000, 0x00000000df100000, 0x00000000df100000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df100000, 0x00000000df100000|
|  13|0x00000000df100000, 0x00000000df200000, 0x00000000df200000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df200000, 0x00000000df200000|
|  14|0x00000000df200000, 0x00000000df300000, 0x00000000df300000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df300000, 0x00000000df300000|
|  15|0x00000000df300000, 0x00000000df400000, 0x00000000df400000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df400000, 0x00000000df400000|
|  16|0x00000000df400000, 0x00000000df500000, 0x00000000df500000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df500000, 0x00000000df500000|
|  17|0x00000000df500000, 0x00000000df600000, 0x00000000df600000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df600000, 0x00000000df600000|
|  18|0x00000000df600000, 0x00000000df700000, 0x00000000df700000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df700000, 0x00000000df700000|
|  19|0x00000000df700000, 0x00000000df800000, 0x00000000df800000|100%|HC|  |TS  0|AC  0|TAMS 0x00000000df800000, 0x00000000df800000|
|  20|0x00000000df800000, 0x00000000df800000, 0x00000000df900000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000df800000, 0x00000000df800000|
|  21|0x00000000df900000, 0x00000000df900000, 0x00000000dfa00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000df900000, 0x00000000df900000|
|  22|0x00000000dfa00000, 0x00000000dfa00000, 0x00000000dfb00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dfa00000, 0x00000000dfa00000|
|  23|0x00000000dfb00000, 0x00000000dfb00000, 0x00000000dfc00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dfb00000, 0x00000000dfb00000|
|  24|0x00000000dfc00000, 0x00000000dfc00000, 0x00000000dfd00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dfc00000, 0x00000000dfc00000|
|  25|0x00000000dfd00000, 0x00000000dfd00000, 0x00000000dfe00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dfd00000, 0x00000000dfd00000|
|  26|0x00000000dfe00000, 0x00000000dfe00000, 0x00000000dff00000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dfe00000, 0x00000000dfe00000|
|  27|0x00000000dff00000, 0x00000000dff00000, 0x00000000e0000000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000dff00000, 0x00000000dff00000|
|  28|0x00000000e0000000, 0x00000000e0000000, 0x00000000e0100000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0000000, 0x00000000e0000000|
|  29|0x00000000e0100000, 0x00000000e0100000, 0x00000000e0200000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0100000, 0x00000000e0100000|
|  30|0x00000000e0200000, 0x00000000e0200000, 0x00000000e0300000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0200000, 0x00000000e0200000|
|  31|0x00000000e0300000, 0x00000000e03c5d10, 0x00000000e0400000| 77%| S|CS|TS  0|AC  0|TAMS 0x00000000e0300000, 0x00000000e0300000|
|  32|0x00000000e0400000, 0x00000000e0500000, 0x00000000e0500000|100%| S|CS|TS  0|AC  0|TAMS 0x00000000e0400000, 0x00000000e0400000|
|  33|0x00000000e0500000, 0x00000000e0500000, 0x00000000e0600000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0500000, 0x00000000e0500000|
|  34|0x00000000e0600000, 0x00000000e0600000, 0x00000000e0700000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0600000, 0x00000000e0600000|
|  35|0x00000000e0700000, 0x00000000e0700000, 0x00000000e0800000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0700000, 0x00000000e0700000|
|  36|0x00000000e0800000, 0x00000000e0800000, 0x00000000e0900000|  0%| F|  |TS  0|AC  0|TAMS 0x00000000e0800000, 0x00000000e0800000|
|  37|0x00000000e0900000, 0x00000000e09db4f0, 0x00000000e0a00000| 85%| E|  |TS  0|AC  0|TAMS 0x00000000e0900000, 0x00000000e0900000|
|  38|0x00000000e0a00000, 0x00000000e0b00000, 0x00000000e0b00000|100%| E|CS|TS  0|AC  0|TAMS 0x00000000e0a00000, 0x00000000e0a00000|
|  39|0x00000000e0b00000, 0x00000000e0c00000, 0x00000000e0c00000|100%| E|CS|TS  0|AC  0|TAMS 0x00000000e0b00000, 0x00000000e0b00000|
|  40|0x00000000e0c00000, 0x00000000e0d00000, 0x00000000e0d00000|100%| E|CS|TS  0|AC  0|TAMS 0x00000000e0c00000, 0x00000000e0c00000|
Card table byte_map: [0x0000004059a40000,0x0000004059b50000] byte_map_base: 0x000000405934e000
Marking Bits (Prev, Next): (CMBitMap*) 0x000000403efc0038, (CMBitMap*) 0x000000403efc0000
 Prev Bits: [0x000000405a4d0000, 0x000000405ad40000)
 Next Bits: [0x0000004059c60000, 0x000000405a4d0000)
Polling page: 0x000000403d550000
CodeHeap 'non-profiled nmethods': size=120064Kb used=1127Kb max_used=1127Kb free=118936Kb
 bounds [0x0000004051df0000, 0x0000004052060000, 0x0000004059330000]
CodeHeap 'profiled nmethods': size=120000Kb used=5448Kb max_used=5448Kb free=114551Kb
 bounds [0x000000404a8c0000, 0x000000404ae20000, 0x0000004051df0000]
CodeHeap 'non-nmethods': size=5696Kb used=1313Kb max_used=1332Kb free=4382Kb
 bounds [0x000000404a330000, 0x000000404a5a0000, 0x000000404a8c0000]
 total_blobs=4024 nmethods=2735 adapters=634
 compilation: enabled
Compilation events (10 events):
Event: 5.031 Thread 0x000000405de17000 2747       1       com.sun.javafx.css.StyleMap::getId (5 bytes)
Event: 5.031 Thread 0x000000405de17000 nmethod 2747 0x0000004051f09790 code [0x0000004051f09940, 0x0000004051f09a58]
Event: 5.031 Thread 0x000000405de17000 2783       1       java.util.Collections$SingletonList::size (2 bytes)
Event: 5.032 Thread 0x000000405de17000 nmethod 2783 0x0000004051f09b10 code [0x0000004051f09cc0, 0x0000004051f09dd8]
Event: 5.042 Thread 0x000000405de17000 2794       2       java.lang.invoke.DelegatingMethodHandle::whichKind (40 bytes)
Event: 5.042 Thread 0x000000405de17000 nmethod 2794 0x000000404ae12090 code [0x000000404ae12240, 0x000000404ae123b8]
Event: 5.048 Thread 0x000000405de17000 2797       2       com.sun.javafx.geom.RectBounds::setBounds (22 bytes)
Event: 5.048 Thread 0x000000405de17000 nmethod 2797 0x000000404ae12490 code [0x000000404ae12640, 0x000000404ae127b8]
Event: 5.048 Thread 0x000000405de17000 2796       2       com.sun.marlin.IntArrayCache$Reference::putArray (55 bytes)
Event: 5.048 Thread 0x000000405de17000 nmethod 2796 0x000000404ae12890 code [0x000000404ae12a80, 0x000000404ae12e30]
GC Heap History (10 events):
Event: 1.564 GC heap before
{Heap before GC invocations=2 (full 0):
 garbage-first heap   total 34816K, used 19332K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 12 young (12288K), 1 survivors (1024K)
 Metaspace       used 17761K, capacity 18252K, committed 18432K, reserved 1064960K
  class space    used 2013K, capacity 2210K, committed 2304K, reserved 1048576K
}
Event: 1.574 GC heap after
{Heap after GC invocations=3 (full 0):
 garbage-first heap   total 34816K, used 9367K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 2 young (2048K), 2 survivors (2048K)
 Metaspace       used 17761K, capacity 18252K, committed 18432K, reserved 1064960K
  class space    used 2013K, capacity 2210K, committed 2304K, reserved 1048576K
}
Event: 1.887 GC heap before
{Heap before GC invocations=3 (full 0):
 garbage-first heap   total 34816K, used 13463K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 7 young (7168K), 2 survivors (2048K)
 Metaspace       used 20561K, capacity 21075K, committed 21296K, reserved 1069056K
  class space    used 2446K, capacity 2688K, committed 2688K, reserved 1048576K
}
Event: 1.896 GC heap after
{Heap after GC invocations=4 (full 0):
 garbage-first heap   total 34816K, used 10685K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 2 young (2048K), 2 survivors (2048K)
 Metaspace       used 20561K, capacity 21075K, committed 21296K, reserved 1069056K
  class space    used 2446K, capacity 2688K, committed 2688K, reserved 1048576K
}
Event: 2.013 GC heap before
{Heap before GC invocations=5 (full 0):
 garbage-first heap   total 34816K, used 11709K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 4 young (4096K), 2 survivors (2048K)
 Metaspace       used 21544K, capacity 22172K, committed 22576K, reserved 1069056K
  class space    used 2615K, capacity 2871K, committed 2944K, reserved 1048576K
}
Event: 2.018 GC heap after
{Heap after GC invocations=6 (full 0):
 garbage-first heap   total 41984K, used 11021K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 1 young (1024K), 1 survivors (1024K)
 Metaspace       used 21544K, capacity 22172K, committed 22576K, reserved 1069056K
  class space    used 2615K, capacity 2871K, committed 2944K, reserved 1048576K
}
Event: 3.349 GC heap before
{Heap before GC invocations=7 (full 0):
 garbage-first heap   total 41984K, used 31501K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 12 young (12288K), 1 survivors (1024K)
 Metaspace       used 23765K, capacity 24476K, committed 24832K, reserved 1071104K
  class space    used 2948K, capacity 3281K, committed 3328K, reserved 1048576K
}
Event: 3.372 GC heap after
{Heap after GC invocations=8 (full 0):
 garbage-first heap   total 41984K, used 20966K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 1 young (1024K), 1 survivors (1024K)
 Metaspace       used 23765K, capacity 24476K, committed 24832K, reserved 1071104K
  class space    used 2948K, capacity 3281K, committed 3328K, reserved 1048576K
}
Event: 4.366 GC heap before
{Heap before GC invocations=8 (full 0):
 garbage-first heap   total 41984K, used 29158K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 9 young (9216K), 1 survivors (1024K)
 Metaspace       used 25964K, capacity 26861K, committed 27392K, reserved 1073152K
  class space    used 3312K, capacity 3713K, committed 3840K, reserved 1048576K
}
Event: 4.372 GC heap after
{Heap after GC invocations=9 (full 0):
 garbage-first heap   total 41984K, used 21757K [0x00000000de400000, 0x0000000100000000)
  region size 1024K, 2 young (2048K), 2 survivors (2048K)
 Metaspace       used 25964K, capacity 26861K, committed 27392K, reserved 1073152K
  class space    used 3312K, capacity 3713K, committed 3840K, reserved 1048576K
}
Deoptimization events (10 events):
Event: 4.962 Thread 0x000000405f64e800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000004051ee199c method=com.sun.javafx.css.StyleManager$CacheContainer.getStyleMap(I)Lcom/sun/javafx/css/StyleMap; @ 22 c2
Event: 4.970 Thread 0x000000405f64e800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051ed7144 method=javafx.scene.Node.getScene()Ljavafx/scene/Scene; @ 7 c2
Event: 4.971 Thread 0x000000405f64e800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051ed7144 method=javafx.scene.Node.getScene()Ljavafx/scene/Scene; @ 7 c2
Event: 4.971 Thread 0x000000405f64e800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051ed7144 method=javafx.scene.Node.getScene()Ljavafx/scene/Scene; @ 7 c2
Event: 4.971 Thread 0x000000405f64e800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051ed7144 method=javafx.scene.Node.getScene()Ljavafx/scene/Scene; @ 7 c2
Event: 4.971 Thread 0x000000405f64e800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051ee716c method=javafx.scene.Node.getScene()Ljavafx/scene/Scene; @ 7 c2
Event: 4.982 Thread 0x000000405f64e800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000004051ec8744 method=com.sun.javafx.css.BitSet.addAll(Ljava/util/Collection;)Z @ 1 c2
Event: 5.000 Thread 0x000000405f64e800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000004051e3ec2c method=jdk.internal.org.objectweb.asm.Type.getArgumentsAndReturnSizes(Ljava/lang/String;)I @ 47 c2
Event: 5.000 Thread 0x000000405f64e800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000004051e5d11c method=jdk.internal.org.objectweb.asm.Frame.push(Ljdk/internal/org/objectweb/asm/ClassWriter;Ljava/lang/String;)V @ 18 c2
Event: 5.047 Thread 0x000000405f666800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000004051e4b618 method=java.util.concurrent.ConcurrentHashMap.putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object; @ 242 c2
Classes redefined (0 events):
No events
Internal exceptions (10 events):
Event: 4.752 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e0b41098}: method resolution failed> (0x00000000e0b41098) thrown at [t:/workspace/open/src/hotspot/share/prims/methodHandles.cpp, line 1226]
Event: 4.752 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e0b454c0}: method resolution failed> (0x00000000e0b454c0) thrown at [t:/workspace/open/src/hotspot/share/prims/methodHandles.cpp, line 1226]
Event: 4.939 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e0bc37e0}: java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;I)V> (0x00000000e0bc37e0) thrown at [t:/workspace/open/src/hotspot/share/interpreter/linkResolver.cpp, line 741]
Event: 4.982 Thread 0x000000405f64e800 Implicit null exception at 0x0000004051ec80f1 to 0x0000004051ec872e
Event: 5.000 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e09200b0}: method resolution failed> (0x00000000e09200b0) thrown at [t:/workspace/open/src/hotspot/share/prims/methodHandles.cpp, line 1226]
Event: 5.000 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e09231f8}: java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)J> (0x00000000e09231f8) thrown at [t:/workspace/open/src/hotspot/share/inter
Event: 5.002 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e0936300}: method resolution failed> (0x00000000e0936300) thrown at [t:/workspace/open/src/hotspot/share/prims/methodHandles.cpp, line 1226]
Event: 5.002 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e093c1b0}: java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;J)Ljava/lang/Object;> (0x00000000e093c1b0) thrown at [t:/workspace/open/src/hotspot/share/interpret
Event: 5.002 Thread 0x000000405f64e800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e093f8a0}: method resolution failed> (0x00000000e093f8a0) thrown at [t:/workspace/open/src/hotspot/share/prims/methodHandles.cpp, line 1226]
Event: 5.033 Thread 0x000000405f666800 Exception <a 'java/lang/NoSuchMethodError'{0x00000000e0c72628}: java.lang.invoke.DirectMethodHandle$Holder.invokeStaticInit(Ljava/lang/Object;I)Ljava/lang/Object;> (0x00000000e0c72628) thrown at [t:/workspace/open/src/hotspot/share/interpreter/linkResolve
Events (10 events):
Event: 5.034 loading class java/lang/FdLibm done
Event: 5.036 loading class com/sun/scenario/effect/FilterContext
Event: 5.036 loading class com/sun/scenario/effect/FilterContext done
Event: 5.036 loading class com/sun/scenario/effect/impl/Renderer
Event: 5.036 loading class com/sun/scenario/effect/impl/Renderer done
Event: 5.036 loading class com/sun/scenario/effect/FilterContext
Event: 5.036 loading class com/sun/scenario/effect/FilterContext done
Event: 5.047 Thread 0x000000405f666800 Uncommon trap: trap_request=0xffffffde fr.pc=0x0000004051e4b618 relative=0x00000000000011d8
Event: 5.047 Thread 0x000000405f666800 DEOPT PACKING pc=0x0000004051e4b618 sp=0x00000040616fcb80
Event: 5.047 Thread 0x000000405f666800 DEOPT UNPACKING pc=0x000000404a358a2f sp=0x00000040616fcb00 mode 2
Dynamic libraries:
0x00007ff78d530000 - 0x00007ff78d56e000 	C:\jdk10\bin\java.exe
0x00007ffffb920000 - 0x00007ffffbacd000 	C:\windows\SYSTEM32\ntdll.dll
0x00007ffffb030000 - 0x00007ffffb16e000 	C:\windows\system32\KERNEL32.DLL
0x00007ffff8e90000 - 0x00007ffff8fa5000 	C:\windows\system32\KERNELBASE.dll
0x00007ffffb7c0000 - 0x00007ffffb86a000 	C:\windows\system32\ADVAPI32.dll
0x00007ffffb640000 - 0x00007ffffb7b7000 	C:\windows\system32\USER32.dll
0x00007fffefdb0000 - 0x00007ffff002b000 	C:\windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.18006_none_623f33d3ecbe86e8\COMCTL32.dll
0x00007ffff29c0000 - 0x00007ffff29ca000 	C:\windows\SYSTEM32\VERSION.dll
0x00007ffffb870000 - 0x00007ffffb91a000 	C:\windows\system32\msvcrt.dll
0x00007ffffab20000 - 0x00007ffffab79000 	C:\windows\SYSTEM32\sechost.dll
0x00007ffffa980000 - 0x00007ffffaac0000 	C:\windows\system32\RPCRT4.dll
0x00007ffffaee0000 - 0x00007ffffb02b000 	C:\windows\system32\GDI32.dll
0x00007ffff8b20000 - 0x00007ffff8b4e000 	C:\windows\system32\SspiCli.dll
0x00007ffffa790000 - 0x00007ffffa7c6000 	C:\windows\system32\IMM32.DLL
0x00007ffff90e0000 - 0x00007ffff9231000 	C:\windows\system32\MSCTF.dll
0x00007fffee3a0000 - 0x00007fffee48f000 	C:\jdk10\bin\msvcr120.dll
0x00007fffe3ab0000 - 0x00007fffe3b56000 	C:\jdk10\bin\msvcp120.dll
0x0000000077590000 - 0x0000000077fff000 	C:\jdk10\bin\server\jvm.dll
0x00007ffff0b60000 - 0x00007ffff0b69000 	C:\windows\SYSTEM32\WSOCK32.dll
0x00007ffff1d30000 - 0x00007ffff1d52000 	C:\windows\SYSTEM32\WINMM.dll
0x00007ffffa770000 - 0x00007ffffa777000 	C:\windows\system32\PSAPI.DLL
0x00007ffffab80000 - 0x00007ffffabda000 	C:\windows\system32\WS2_32.dll
0x00007ffff1d00000 - 0x00007ffff1d2a000 	C:\windows\SYSTEM32\WINMMBASE.dll
0x00007ffffa780000 - 0x00007ffffa789000 	C:\windows\system32\NSI.dll
0x00007ffff8c00000 - 0x00007ffff8c4f000 	C:\windows\SYSTEM32\cfgmgr32.dll
0x00007ffff78f0000 - 0x00007ffff7918000 	C:\windows\SYSTEM32\DEVOBJ.dll
0x00007fffeebc0000 - 0x00007fffeebcf000 	C:\jdk10\bin\verify.dll
0x00007fffe3920000 - 0x00007fffe3aa9000 	C:\windows\SYSTEM32\DBGHELP.DLL
0x00007fffee370000 - 0x00007fffee397000 	C:\jdk10\bin\java.dll
0x00007fffeeba0000 - 0x00007fffeebb6000 	C:\jdk10\bin\zip.dll
0x00007fffee360000 - 0x00007fffee36a000 	C:\jdk10\bin\jimage.dll
0x00007ffff9240000 - 0x00007ffffa76c000 	C:\windows\system32\SHELL32.dll
0x00007ffffabe0000 - 0x00007ffffadf2000 	C:\windows\SYSTEM32\combase.dll
0x00007ffffaac0000 - 0x00007ffffab14000 	C:\windows\system32\SHLWAPI.dll
0x00007ffff55d0000 - 0x00007ffff5682000 	C:\windows\SYSTEM32\SHCORE.dll
0x00007ffff8a50000 - 0x00007ffff8a65000 	C:\windows\SYSTEM32\profapi.dll
0x00007fffea0f0000 - 0x00007fffea10a000 	C:\jdk10\bin\net.dll
0x00007ffff4820000 - 0x00007ffff48e7000 	C:\windows\SYSTEM32\WINHTTP.dll
0x00007ffff8320000 - 0x00007ffff8379000 	C:\windows\system32\mswsock.dll
0x00007fffea0d0000 - 0x00007fffea0e1000 	C:\jdk10\bin\nio.dll
0x00007ffff83f0000 - 0x00007ffff8410000 	C:\windows\SYSTEM32\CRYPTSP.dll
0x00007ffff7d80000 - 0x00007ffff7db6000 	C:\windows\system32\rsaenh.dll
0x00007ffff8530000 - 0x00007ffff8556000 	C:\windows\SYSTEM32\bcrypt.dll
0x00007ffff8380000 - 0x00007ffff83a1000 	C:\windows\SYSTEM32\USERENV.dll
0x00007ffff8850000 - 0x00007ffff88b3000 	C:\windows\system32\bcryptprimitives.dll
0x00007ffff88c0000 - 0x00007ffff88cb000 	C:\windows\SYSTEM32\CRYPTBASE.dll
0x00007ffff6630000 - 0x00007ffff665a000 	C:\windows\SYSTEM32\IPHLPAPI.DLL
0x00007ffff6680000 - 0x00007ffff668a000 	C:\windows\SYSTEM32\WINNSI.DLL
0x00007ffff6110000 - 0x00007ffff6126000 	C:\windows\SYSTEM32\dhcpcsvc6.DLL
0x00007ffff5c10000 - 0x00007ffff5c2a000 	C:\windows\SYSTEM32\dhcpcsvc.DLL
0x00007ffff2d40000 - 0x00007ffff2d43000 	C:\jdk10\bin\api-ms-win-core-console-l1-1-0.dll
0x00007ffff2d30000 - 0x00007ffff2d33000 	C:\jdk10\bin\api-ms-win-core-datetime-l1-1-0.dll
0x00007ffff2d20000 - 0x00007ffff2d23000 	C:\jdk10\bin\api-ms-win-core-debug-l1-1-0.dll
0x00007ffff28e0000 - 0x00007ffff28e3000 	C:\jdk10\bin\api-ms-win-core-errorhandling-l1-1-0.dll
0x00007ffff1930000 - 0x00007ffff1934000 	C:\jdk10\bin\api-ms-win-core-file-l1-1-0.dll
0x00007ffff1920000 - 0x00007ffff1923000 	C:\jdk10\bin\api-ms-win-core-file-l1-2-0.dll
0x00007ffff1910000 - 0x00007ffff1913000 	C:\jdk10\bin\api-ms-win-core-file-l2-1-0.dll
0x00007ffff1900000 - 0x00007ffff1903000 	C:\jdk10\bin\api-ms-win-core-handle-l1-1-0.dll
0x00007ffff18f0000 - 0x00007ffff18f3000 	C:\jdk10\bin\api-ms-win-core-heap-l1-1-0.dll
0x00007ffff18e0000 - 0x00007ffff18e3000 	C:\jdk10\bin\api-ms-win-core-interlocked-l1-1-0.dll
0x00007ffff18d0000 - 0x00007ffff18d3000 	C:\jdk10\bin\api-ms-win-core-libraryloader-l1-1-0.dll
0x00007ffff18c0000 - 0x00007ffff18c3000 	C:\jdk10\bin\api-ms-win-core-localization-l1-2-0.dll
0x00007ffff18b0000 - 0x00007ffff18b3000 	C:\jdk10\bin\api-ms-win-core-memory-l1-1-0.dll
0x00007ffff18a0000 - 0x00007ffff18a3000 	C:\jdk10\bin\api-ms-win-core-namedpipe-l1-1-0.dll
0x00007ffff1890000 - 0x00007ffff1893000 	C:\jdk10\bin\api-ms-win-core-processenvironment-l1-1-0.dll
0x00007ffff1880000 - 0x00007ffff1883000 	C:\jdk10\bin\api-ms-win-core-processthreads-l1-1-0.dll
0x00007ffff1870000 - 0x00007ffff1873000 	C:\jdk10\bin\api-ms-win-core-processthreads-l1-1-1.dll
0x00007ffff1860000 - 0x00007ffff1863000 	C:\jdk10\bin\api-ms-win-core-profile-l1-1-0.dll
0x00007ffff1850000 - 0x00007ffff1853000 	C:\jdk10\bin\api-ms-win-core-rtlsupport-l1-1-0.dll
0x00007ffff1840000 - 0x00007ffff1843000 	C:\jdk10\bin\api-ms-win-core-string-l1-1-0.dll
0x00007ffff1830000 - 0x00007ffff1833000 	C:\jdk10\bin\api-ms-win-core-synch-l1-1-0.dll
0x00007ffff1820000 - 0x00007ffff1823000 	C:\jdk10\bin\api-ms-win-core-synch-l1-2-0.dll
0x00007ffff1810000 - 0x00007ffff1813000 	C:\jdk10\bin\api-ms-win-core-sysinfo-l1-1-0.dll
0x00007ffff1800000 - 0x00007ffff1803000 	C:\jdk10\bin\api-ms-win-core-timezone-l1-1-0.dll
0x00007ffff17f0000 - 0x00007ffff17f3000 	C:\jdk10\bin\api-ms-win-core-util-l1-1-0.dll
0x00007ffff17e0000 - 0x00007ffff17e3000 	C:\jdk10\bin\api-ms-win-crt-conio-l1-1-0.dll
0x00007ffff17d0000 - 0x00007ffff17d4000 	C:\jdk10\bin\api-ms-win-crt-convert-l1-1-0.dll
0x00007ffff17c0000 - 0x00007ffff17c3000 	C:\jdk10\bin\api-ms-win-crt-environment-l1-1-0.dll
0x00007ffff17b0000 - 0x00007ffff17b3000 	C:\jdk10\bin\api-ms-win-crt-filesystem-l1-1-0.dll
0x00007ffff17a0000 - 0x00007ffff17a3000 	C:\jdk10\bin\api-ms-win-crt-heap-l1-1-0.dll
0x00007ffff1790000 - 0x00007ffff1793000 	C:\jdk10\bin\api-ms-win-crt-locale-l1-1-0.dll
0x00007ffff1780000 - 0x00007ffff1785000 	C:\jdk10\bin\api-ms-win-crt-math-l1-1-0.dll
0x00007ffff1770000 - 0x00007ffff1775000 	C:\jdk10\bin\api-ms-win-crt-multibyte-l1-1-0.dll
0x00007ffff1120000 - 0x00007ffff1130000 	C:\jdk10\bin\api-ms-win-crt-private-l1-1-0.dll
0x00007ffff1110000 - 0x00007ffff1113000 	C:\jdk10\bin\api-ms-win-crt-process-l1-1-0.dll
0x00007ffff1100000 - 0x00007ffff1104000 	C:\jdk10\bin\api-ms-win-crt-runtime-l1-1-0.dll
0x00007ffff0bb0000 - 0x00007ffff0bb4000 	C:\jdk10\bin\api-ms-win-crt-stdio-l1-1-0.dll
0x00007ffff0ba0000 - 0x00007ffff0ba4000 	C:\jdk10\bin\api-ms-win-crt-string-l1-1-0.dll
0x00007ffff0b90000 - 0x00007ffff0b93000 	C:\jdk10\bin\api-ms-win-crt-time-l1-1-0.dll
0x00007ffff0b80000 - 0x00007ffff0b83000 	C:\jdk10\bin\api-ms-win-crt-utility-l1-1-0.dll
0x00007fffe2cd0000 - 0x00007fffe2dc6000 	C:\jdk10\bin\ucrtbase.dll
0x00007fffe2cb0000 - 0x00007fffe2cc6000 	C:\jdk10\bin\vcruntime140.dll
0x00007fffe2aa0000 - 0x00007fffe2b3c000 	C:\jdk10\bin\msvcp140.dll
0x00007fffe2a40000 - 0x00007fffe2a91000 	C:\jdk10\bin\concrt140.dll
0x00007fffe2c90000 - 0x00007fffe2cac000 	C:\jdk10\bin\prism_sw.dll
0x00007fffe2c70000 - 0x00007fffe2c84000 	C:\jdk10\bin\javafx_font.dll
0x00007ffffb370000 - 0x00007ffffb504000 	C:\windows\system32\ole32.dll
0x00007fffe26d0000 - 0x00007fffe286b000 	C:\jdk10\bin\awt.dll
0x00007ffffae00000 - 0x00007ffffaec6000 	C:\windows\system32\OLEAUT32.dll
0x00007ffff5c80000 - 0x00007ffff6101000 	C:\windows\SYSTEM32\d2d1.dll
0x00007ffff75c0000 - 0x00007ffff764e000 	C:\windows\system32\apphelp.dll
0x00007fffe29d0000 - 0x00007fffe2a35000 	C:\jdk10\bin\fontmanager.dll
0x00007ffff7750000 - 0x00007ffff7879000 	C:\windows\system32\uxtheme.dll
0x00007fffee660000 - 0x00007fffee84a000 	C:\windows\SYSTEM32\dwrite.dll
0x00007ffff1b70000 - 0x00007ffff1b87000 	C:\jdk10\bin\decora_sse.dll
0x00007ffff7710000 - 0x00007ffff771b000 	C:\windows\SYSTEM32\kernel.appcore.dll
0x00007ffffb580000 - 0x00007ffffb636000 	C:\windows\SYSTEM32\clbcatq.dll
dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\jdk10\bin;C:\windows\SYSTEM32;C:\windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.18006_none_623f33d3ecbe86e8;C:\jdk10\bin\server
VM Arguments:
jvm_args: -Dorg.gradle.native=false -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -ea -Djava.awt.headless=true -Dtestfx.robot=glass -Dtestfx.headless=true -Dprism.order=sw -Dprism.text=t2k 
java_command: worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1'
java_class_path (initial): C:\\Users\\appveyor\\.gradle\\caches\\4.6\\workerMain\\gradle-worker.jar;C:\\projects\\testfx\\subprojects\\testfx-core\\build\\classes\\java\\test;C:\\projects\\testfx\\subprojects\\testfx-core\\build\\resources\\test;C:\\projects\\testfx\\subprojects\\testfx-core\\build\\classes\\java\\main;C:\\projects\\testfx\\subprojects\\testfx-core\\build\\resources\\main;C:\\projects\\testfx\\subprojects\\testfx-junit\\build\\libs\\testfx-junit-4.0.13-alpha.jar;C:\\projects\\testfx\\subprojects\\testfx-core\\build\\libs\\testfx-core-4.0.13-alpha.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\junit\\junit\\4.12\\2973d150c0dc1fefe998f834810d68f278ea58ec\\junit-4.12.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\org.hamcrest\\hamcrest-core\\1.3\\42a25dc3219429f0e5d060061f71acb49bf010a0\\hamcrest-core-1.3.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\org.assertj\\assertj-core\\3.9.1\\c5ce126b15f28d56cd8f960c1a6a058b9c9aea87\\assertj-core-3.9.1.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\org.mockito\\mockito-core\\2.18.0\\d3e839acfc4b862bbcfe9165c316f1567db24cb6\\mockito-core-2.18.0.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\org.testfx\\openjfx-monocle\\jdk-9+181\\c412deb11898e532c46e4d6c2808e4227f120445\\openjfx-monocle-jdk-9+181.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\net.bytebuddy\\byte-buddy\\1.8.3\\c7625191ad0f190bd719f0aef54ece5fdf0e4a77\\byte-buddy-1.8.3.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\net.bytebuddy\\byte-buddy-agent\\1.8.3\\897127e8724cbf38f72b4c85fe8e39e7ae00d688\\byte-buddy-agent-1.8.3.jar;C:\\Users\\appveyor\\.gradle\\caches\\modules-2\\files-2.1\\org.objenesis\\objenesis\\2.6\\639033469776fd37c08358c6b92a4761feb2af4b\\objenesis-2.6.jar
Launcher Type: SUN_STANDARD
Logging:
Log output configuration:
#0: stdout all=warning uptime,level,tags
#1: stderr all=off uptime,level,tags
Environment Variables:
JAVA_HOME=C:\jdk10
_JAVA_OPTIONS=-Djava.awt.headless=true -Dtestfx.robot=glass -Dtestfx.headless=true -Dprism.order=sw -Dprism.text=t2k
CLASSPATH=C:\projects\testfx\\gradle\wrapper\gradle-wrapper.jar
PATH=C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft\Web Platform Installer\;C:\Tools\GitVersion;C:\Tools\PsTools;C:\Program Files\Git LFS;C:\Program Files (x86)\Subversion\bin;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Tools\WebDriver;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin;C:\Ruby193\bin;C:\Tools\NUnit\bin;C:\Tools\xUnit;C:\Tools\MSpec;C:\Tools\Coverity\bin;C:\Program Files (x86)\CMake\bin;C:\go\bin;C:\Program Files\Java\jdk1.8.0\bin;C:\Python27;C:\Program Files\nodejs;C:\Program Files (x86)\iojs;C:\Program Files\iojs;C:\Users\appveyor\AppData\Roaming\npm;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Tools\NuGet;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files\Microsoft DNX\Dnvm;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Apache\Maven\bin;C:\Python27\Scripts;C:\Tools\NUnit3;C:\Program Files\Mercurial\;C:\Program Files\LLVM\bin;C:\Program Files\dotnet\;C:\Tools\curl\bin;C:\Program Files\Amazon\AWSCLI\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x
USERNAME=appveyor
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 63 Stepping 2, GenuineIntel
---------------  S Y S T E M  ---------------
OS: Windows Server 2012 R2 , 64 bit Build 9600 (6.3.9600.17415)
CPU:total 2 (initial active 2) (2 cores per cpu, 1 threads per core) family 6 model 63 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, tsc, bmi1, bmi2, fma
Memory: 4k page, physical 2204696k(540100k free), swap 2700512k(618992k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (10+46) for windows-amd64 JRE (10+46), built on Mar  8 2018 02:11:18 by "mach5one" with MS VC++ 12.0 (VS2013)
END.

Changesets imported from mercurial has an invalid email field(devnull@localhost)

Changesets imported from mercurial to git has an invalid email field, PSB,

commit e8daa3be8be382c709918152fb15ff93d87e8bff
Author: kcr <devnull@localhost>
Date:   Tue Mar 20 13:01:33 2018 -0700

    8198654: Switch FX's default GTK version to 3
    Reviewed-by: prr

It would be better to remove the invalid email address(devnull@localhost) for futures merges.

Relative sizes don't work if a relative -fx-font-size is used on the same node

This is a clone of https://bugs.openjdk.java.net/browse/JDK-8204568 running the following application

package bla;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class RelativeFontIssues extends Application {

	public static void main(String[] args) {
		launch(args);
	}

    @Override
    public void start(Stage primaryStage) throws Exception {
        System.err.println("Default Font: " + Font.getDefault().getSize());
        System.err.println("    0.2857142857142857em == " + 0.2857142857142857 * Font.getDefault().getSize());
        System.err.println("    0.3333333333333333em == " + 0.3333333333333333 * Font.getDefault().getSize());
        
        BorderPane pane = new BorderPane();
        pane.setStyle("-fx-font-size: 14");
        
        Label b = new Label("Default");
        b.setStyle("-fx-padding: 0.2857142857142857em; -fx-background-color: red; -fx-background-radius: 0.2857142857142857em");
        Label b2 = new Label("Relative size");
        b2.setStyle("-fx-padding: 0.3333333333333333em; -fx-font-size: 0.8571428571428571em; -fx-background-color: red; -fx-background-radius: 0.3333333333333333em;");
        pane.setCenter(new HBox(b,b2));
        
        Button flip = new Button("Flip size");
        flip.setOnAction( e -> pane.setStyle("-fx-font-size: 28"));
        
        Button print = new Button("Print info");
        print.setOnAction( e -> {
            System.err.println("============");
            System.err.println("Default:");
            System.err.println("    Padding: " + b.getPadding()); // expected 4 & 8
            System.err.println("    Corner: " + b.getBackground().getFills().get(0).getRadii()); // expected 4 & 8
            System.err.println("	Font: " + b.getFont());
            System.err.println("Rel:");
            System.err.println("    Padding: " + b2.getPadding()); // expected 4 & 8
            System.err.println("    Corner: " + b2.getBackground().getFills().get(0).getRadii()); // expected 4 & 8
            System.err.println("	Font: " + b2.getFont());
        });
        pane.setBottom(new HBox(flip, print));
        
        Scene s = new Scene(pane, 500, 500);
        primaryStage.setScene(s);
        primaryStage.show();
    }

}

Now execute the following steps:

  • Click "Print info"
  • Click "Flip size"
  • Click "Print info"
Default Font: 13.0
    0.2857142857142857em == 3.714285714285714
    0.3333333333333333em == 4.333333333333333
============
Default:
    Padding: Insets [top=4.0, right=4.0, bottom=4.0, left=4.0]
    Corner: CornerRadii [uniform radius = 4.0]
	Font: Font[name=System Regular, family=System, style=Regular, size=14.0]
Rel:
    Padding: Insets [top=4.3, right=4.3, bottom=4.3, left=4.3]
    Corner: CornerRadii [uniform radius = 4.3]
	Font: Font[name=System Regular, family=System, style=Regular, size=12.0]
============
Default:
    Padding: Insets [top=8.0, right=8.0, bottom=8.0, left=8.0]
    Corner: CornerRadii [uniform radius = 8.0]
	Font: Font[name=System Regular, family=System, style=Regular, size=28.0]
Rel:
    Padding: Insets [top=4.3, right=4.3, bottom=4.3, left=4.3]
    Corner: CornerRadii [uniform radius = 4.3]
	Font: Font[name=System Regular, family=System, style=Regular, size=24.0]

JavaDocs hosting

Starting with Java 11, JavaFX would be distributed separately. We have to come up with the way to host latest JavaDocs for production releases as well as snapshots

Appveyor build failure

https://ci.appveyor.com/project/javafxports-github-bot/openjdk-jfx/build/master%20100

* What went wrong:
Execution failed for task ':graphics:compileDecoraNativeShadersWin'.
> java.util.concurrent.ExecutionException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe''
* Try:
Run with --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':graphics:compileDecoraNativeShadersWin'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:59)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:314)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:204)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:134)
    at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)
    at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
    at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
    at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
    at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
    at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:280)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:253)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:33)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:246)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:182)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:31)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: org.gradle.internal.UncheckedException: java.util.concurrent.ExecutionException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe''
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:63)
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:40)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:76)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:784)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:751)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    ... 100 more
Caused by: java.util.concurrent.ExecutionException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe''
    at java_util_concurrent_Future$get.call(Unknown Source)
    at NativeCompileTask$_compile_closure6.doCall(NativeCompileTask.groovy:161)
    at jdk.internal.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at NativeCompileTask.compile(NativeCompileTask.groovy:161)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    ... 112 more
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe''
    at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:222)
    at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:202)
    at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:342)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)
    at org.gradle.internal.operations.BuildOperationIdentifierPreservingRunnable.run(BuildOperationIdentifierPreservingRunnable.java:35)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe'
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
    at net.rubygrapefruit.platform.internal.WindowsProcessLauncher.start(WindowsProcessLauncher.java:22)
    at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
    at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:68)
    ... 4 more
Caused by: java.io.IOException: Cannot run program "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827/bin/HostX64/x64/cl.exe" (in directory "C:\projects\openjdk-jfx\modules\javafx.graphics"): CreateProcess error=2, The system cannot find the file specified
    at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
    ... 7 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    ... 8 more

Add gradle wrapper files

The build (currently) has a strict check on Gradle 4.3 as supported version. It's recommended to use the Gradle wrapper to ensure a project is built with the correct Gradle version for it.

Consider adding gradle wrapper files.

Openjfx10 chart unrefresh in subscene

I write a JavaFX Demo to add a bar chart in Subscene and change the bar chart series value in KeyFrame in Timeline.

In JDK8, the bar chart graphic refresh correct,But in JDK 10,the bar chart graphic do not refresh.

I tried Platform.requestNextPulse,but it donot useful.

import javafx.animation.Animation;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Rectangle2D;
import javafx.scene.*;
import javafx.scene.chart.BarChart;
import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.scene.paint.Color;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.util.Duration;


public class HMIBrowserDemoTest extends Application {

private Scene backScene=new Scene(new Group());

SubScene subScene =null;

private Group picGroup=null;


public HMIBrowserDemoTest(){
    super();
}

private void initUI(Stage primaryStage) {

    Rectangle2D screenBounds=Screen.getPrimary().getBounds();
    primaryStage.setWidth(screenBounds.getWidth());
    primaryStage.setHeight(screenBounds.getHeight());
    primaryStage.centerOnScreen();

    primaryStage.setTitle("hmi.browser.title");

    primaryStage.setScene(backScene);

    Group rootGroup=(Group) backScene.getRoot();

    Group aa=new Group();
    aa.getChildren().add(createContent1());
    subScene =new SubScene(aa,800,700);
    subScene.setFill(Color.BEIGE);
    subScene.setManaged(false);

    rootGroup.getChildren().add(subScene);
}

@Override
public void start(Stage primaryStage) throws Exception {
    initUI(primaryStage);
    primaryStage.show();

    init1();
}

public static void main(String[] args) {
    System.out.println(System.getProperty("java.library.path"));
    launch(args);
}



private void init1(){
    Timeline tl = new Timeline();
    tl.getKeyFrames().add(
            new KeyFrame(Duration.millis(150),
                    new EventHandler<ActionEvent>() {
                        @Override
                        public void handle(ActionEvent actionEvent) {
                            XYChart.Series series= (XYChart.Series) chart.getData().get(0);
                            int value= (int) (Math.random() * 5000);
                            XYChart.Data<String, Number> data= (XYChart.Data<String, Number>) series.getData().get(0);
                            System.out.println(value+"-----------");
                            data.setYValue(value);
                            subScene.toFront();
                        }
                    }
            ));
    tl.setCycleCount(Animation.INDEFINITE);
    tl.setAutoReverse(true);
    tl.play();
}

private BarChart chart;
private CategoryAxis xAxis;
private NumberAxis yAxis;
public Parent createContent1() {
    String[] years = {"2007", "2008", "2009"};
    xAxis = new CategoryAxis();
    xAxis.setCategories(FXCollections.<String>observableArrayList(years));
    yAxis = new NumberAxis("Units Sold", 0.0d, 3000.0d, 1000.0d);
    ObservableList<BarChart.Series> barChartData = FXCollections.observableArrayList(
            new BarChart.Series("Apples", FXCollections.observableArrayList(
                    new BarChart.Data(years[0], 567d),
                    new BarChart.Data(years[1], 1292d),
                    new BarChart.Data(years[2], 1292d)
            )),
            new BarChart.Series("Lemons", FXCollections.observableArrayList(
                    new BarChart.Data(years[0], 956),
                    new BarChart.Data(years[1], 1665),
                    new BarChart.Data(years[2], 2559)
            )),
            new BarChart.Series("Oranges", FXCollections.observableArrayList(
                    new BarChart.Data(years[0], 1154),
                    new BarChart.Data(years[1], 1927),
                    new BarChart.Data(years[2], 2774)
            ))
    );
    chart = new BarChart(xAxis, yAxis, barChartData, 25.0d);
    chart.setLayoutX(0);
    chart.setLayoutY(0);
    chart.setPrefSize(300,300);
    return chart;
}
}

Use OpenJDK 10 for CI builds

The CI builds currently use Oracle JDK 10 as the boot JDK for CI builds of FX. Now that we have switch to an unbundled JavaFX as the primary mode of building and distributing JavaFX bundles, the CI builds should switch to using OpenJDK 10 to match this. This will be a better test environment, as well as being needed eventually to produce actual build artifacts from CI builds.

Bundle native parts in Jars

The first preview of a standalone JFX can be downloaded here: http://jdk.java.net/openjfx/
The release has a structure like this:
jfx-structure
While this is useable for me as a developer it will be really hard for clients that do not use a native application bundle. Other libraries (like JNA) bundle the native libs (so, dll, ...) directly in the jar. By doing so JavaFX could be build as a jar with (os-specific) native parts. Once this is done you only need to add the FX-jar to your application and it could even be provided by jcenter and maven.
Based on Java modules it might make sense to not distribute one big Jar but one jar for each module.

Code quality and code style for contribution

Hi all,

I think it would make sense to discuss about the general code style. Here I would love to talk about thinks like:

  • Usage of final
  • Null checks
  • Interface VS abstract class
    • imports
  • ...

The last days I tried to add some review comments about that topics to open PRs. I think we should discuss in general what we want / what is needed from our point if view and define some rules.
What do you think?

Styling controls

With java 9 there is the only way to apply custom style sheet to an existing Styleable. For example, to style a MenuItem in a ContextMenu we must write something like

ContextMenu ctxMenu = new ContextMenu(item1, item2); ctxMenu.setOnShowing( e -> { ctxMenu.getScene().getStylesheets() .add(DesignerLookup.class.getResource("resources/styles/mystyles.css").toExternalForm()); });

It could be nice to have a method addUserAgentStyleSheet() for instance in the Application class.

May be I'm wrong. We do not need user agent stylesheet. We need something like Stylesheets.getInstance().add(String url);

AppVeyor CI: updating cache fails

Appveyor CI has a (minor?) build problem:

Updating build cache...
Cache 'C:\Users\appveyor.gradle\caches' - Updated
Cache 'C:\Users\appveyor.gradle\wrapper' - Calculating dependencies checksum...Error calculating dependencies CRC for C:\Users\appveyor.gradle\wrapper: Error calculating CRC32 for C:\projects\openjdk-jfx.gradle-wrapper\gradle-wrapper.properties: The system cannot find the path specified
Cache 'C:\jdk10' - Up to date
Cache 'C:\ProgramData\chocolatey\bin' - Up to date
Cache 'C:\ProgramData\chocolatey\lib' - Up to date
Cache entry not found: C:\ProgramData\chocolatey\cache
Cache entry not found: C:\MSSymbols
$dbgDir = ".\javafx-debug-symbols"
$dbgArchive = "javafx-debug-symbols.zip"

One more thing: systemTests are not run !
It is deliberately or not ?

JavaFX and MathML.

The purpose of this issue is to repair MathML display in WebView.

When I discovered that JavaFX could manage MathML, I also discovered that it was buggy. Becauseof MathML is rendered with WebKit, I compared with other WebKit based web browsers. I also noticed that since 2016 that those web browser make good progress with MaltML display. First I thought that the differences were due to outdated WebKit version used by JavaFX but last releases, with an uptodate WebKit version, show that the problem is the same.

I contacted F. Wang from Igalia who worked to port or improve MathML support in FireFox and later in WebKit. He confirms that it was a bug in JavaFX not in WebKit witch displays MathML correctly.

As he suggested me, I wrote to the JavaFX mailing list and had a short discussion about this issue on OpenJDK.Java.net :

http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-December/021112.html
https://bugs.openjdk.java.net/browse/JDK-8147476

So, as suggested by mainteners, I'm trying to find by myself what's wrong with MathML in javaFX HTMLEditor.

  • As far as I could read in javaFX java code,
    • I understand that HTMLEditor and WebView only manage and display a cached page.
    • I know that JavaFX use WebKit to display a webpage.
  • So I don't understand why,
    • when I tested webkit with Safari on OSX and IOS last versions, in an Apple Store and with my Ipod (with an oudated IOS 9), the display is pretty good :
      ipod_ios9_screencapture
    • And with JavaFX HTMLEditor the display is pretty bad (https://github.com/scientificware/javafxmathml) :
      screen_javafx_mathml

I tested all applications with Mozilla MathML Torture Test
(https://developer.mozilla.org/fr/docs/Mozilla/MathML_Project/MathML_Torture_Test)

Could someone help me ?

  • To find in which code level is the problem.
  • I don't think the problem is in the JavaFX java code, I read it several times.
  • I tried to find what wrong in the native code but, I don't know where to start !
  • So where I should start to work ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.