import javafx.application.Application; 
import javafx.beans.property.SimpleStringProperty; 
import javafx.beans.property.StringProperty; 
import javafx.stage.Stage; 

public class JDK8164446 extends Application { 

  @Override 
  public void start(Stage primaryStage) { 
    StringProperty stringProperty = new SimpleStringProperty(); 

    new Thread(() -> { 
      while (true) { 
        stringProperty.addListener((observable, oldValue, newValue) -> noop()); 
      } 
    }).start(); 

    while (true) { 
      stringProperty.addListener((observable, oldValue, newValue) -> noop()); 
    } 
  } 

  private static void noop() { 

  } 

  public static void main(String[] args) { 
    launch(args); 
  } 
} 