import javafx.application.Application;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.concurrent.Worker.State;
import javafx.stage.Stage;
import netscape.javascript.JSObject;

public class DocCrash extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        WebView webview = new WebView();
        WebEngine webEngine = webview.getEngine();
        final JSObject doc = (JSObject) webEngine.executeScript("document");
        System.err.println(doc.toString());
        webEngine.loadContent("hello");
        webEngine.getLoadWorker().stateProperty()
                .addListener((ov, oldState, newState) -> {
                    if (newState == State.SUCCEEDED) {
                        System.err.println(doc.toString());
                    }
                });
    }
}
