JavaFX导致致命的SIGSEGV错误

时间:2017-07-14 18:02:43

标签: java javafx sigsegv

我在OsX 10.12.5上运行java 8.131

使用以下代码

task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(final WorkerStateEvent event) {

        }
    });

似乎会导致此错误:https://pastebin.com/GbByfDeY

我到处寻找,似乎找不到修复方法。常见的答案是硬件问题并等待java更新。我发布的是最后一次恢复。提前谢谢。

1 个答案:

答案 0 :(得分:1)

一种方法是将InvalidationListener添加到TaskstateProperty。在Mac OS X 10.12.5上使用Java 1.8.0_131-b11测试此example,以下侦听器在控制台上打印SUCCEEDED

    task.stateProperty().addListener((Observable o) -> {
        if (task.getState() == Worker.State.SUCCEEDED) {
            System.out.println(task.getState());
        }
    });

在同一台机器上测试相同的example,以下onSucceeded处理程序产生相同的结果。

    task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
        @Override
        public void handle(final WorkerStateEvent event) {
            System.out.println(task.getState());
        }
    });

分段错误的根本原因可能在其他地方。