2016-07-13 6 views
1

Eclipseでブレークポイントデバッグを実行すると、ミントシナモンデスクトップが再現性のある問題を抱えています。私はそれがロックされていると言う、私はマウスのクリックが完全に動作しない(ミントパネルでも)が、マウスカーソルがまだ動くことを意味します。 Alt-TabのようないくつかのOSレベルのショートカットを除いて、キーボードは反応しません。 Alt-Tab と同じように見えますが、別のウィンドウを選択しても、実際にはそのウィンドウをフォーカスしたりアクティブにしたりすることはありません(Alt-Tabセレクタポップアップのみが機能します)。私はCtrl + Alt + ESCを使用してシナモンを再起動するだけで回復できます。その後はすべてがうまくいく。EclipseでのLinuxミントシナモンロックアップデバッグ

デバッグとブレークポイントは、ブレークポイントがanonの内部クラスまたはラムダの内側にある場合を除いて、他のどこでもうまく動作します。

これを引き起こして非常に単純な例プロジェクトと公共のgitレポ: https://bitbucket.org/jfxexamples/eclipseminttest

Linuxのミント17.3と全く新しい別のPC上でミント18のインストール - 両方同じ Eclipseのネオン4.6.0 のJavaを振る舞います8(1.8.0_92) - (JavaFXの使用)OracleのJDK

コード以下の(あなたががそれを実行するために、プロジェクトファイルをつかむ必要があります):

package application; 

import javafx.application.Application; 
import javafx.fxml.FXMLLoader; 
import javafx.scene.Scene; 
import javafx.scene.layout.BorderPane; 
import javafx.stage.Stage; 

public class Main extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     try { 
     BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("Sample.fxml")); 
     Scene scene = new Scene(root,400,400); 
     scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
     } catch(Exception e) { 
     e.printStackTrace(); 
     } 
    } 

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

package application; 

import javafx.event.Event; 
import javafx.event.EventHandler; 
import javafx.fxml.FXML; 
import javafx.scene.control.Tab; 
import javafx.scene.control.TabPane; 

public class SampleController { 

    @FXML 
    private TabPane tabPane; 

    public void createTab() { 

     Tab tab = new Tab("New tab");//Breakpoint here does NOT freeze desktop 

//  tab.setOnCloseRequest(e -> { 
//   System.out.println("bleh");//Breakpoint here, freezes desktop 
//  }); 
     tab.setOnCloseRequest(new EventHandler<Event>(){ 
      @Override public void handle(Event e){ 
      System.out.println("bleh");//Breakpoint here, also freezes desktop 
      } 
     }); 

     tabPane.getTabs().add(tab);//Breakpoint here does NOT freeze desktop 
     int index = tabPane.getTabs().size() - 1; 
     tabPane.getSelectionModel().select(index); 
    } 
} 
+0

を:)?バグをシナモンに報告しましたか? –

+0

私は今まで運がなかった彼らのフォーラムで試しました。私が推測する良い点はありますが、問題を解決したり追跡したりするのに役立つものがあれば助かりました。私はバグを報告する場所が分からないかもしれません。多分、ミントだと思うかもしれません。おそらくEclipse、多分Java/JavaFXの側面でさえ... – User

+0

誰もこれを見たことがないか、それ以上のトラブルシューティングのためのアイディアを推測しています。私は2つの別々のマシンでそれを再現しているので、私の1台のPCだけではありません。トラブルシューティングや追加情報を収集する作業をしたいと思っていますが、現時点ではかなりアイデアが足りなくなっています。私が見なければならないログがありますか? – User

答えて

1

会社Win10/IntellijCE/JDK1.8.0_92では問題ありません。 MintでIntellijCEを使用してみてください。それがうまくいくならば、シナモンで問題が起こりそうです。

シナモンはGithubにありますので、そのIssue Trackerを使用してバグを報告してください。 問題をブラウズすると、問題に関連するものもあります。https://github.com/linuxmint/Cinnamon/issues/1084をご覧ください。

+0

良いアイデア!ミントのIntelliJCEで再現。だからEclipseはフックから外れています!それでも、これはJDK8またはJavaFX関連の問題ですか?その問題はかなり古いので、私はこれが新しいシナモンの問題である必要があるかもしれないと思っています。 – User

+1

私はそれがシナモン関連の問題ではないと思います。私はLinux Mint 17.3 Mate、JDK 1.8.0_101、Eclipse Neon、JavaFXアプリケーションで全く同じ問題を抱えています。 –

0

Linux Mint 17.3 Mate、JDK 1.8.0_101、Eclipse Neon、およびJavaFXアプリケーションで全く同じ問題が発生しました。 アプリケーションをデバッグすると、システムが完全にフリーズし、プロセスを手動で終了する必要があります。

problem related with the X displayと思われます。あなたが設定されている場合には、VM引数アプリケーションので、フラグを動作するはずです:

-Dsun.awt.disablegrab=true 

少なくとも私のために働いている...質問です

+0

すごい、私はそれを試してみる必要があります。 – User

+0

FYI、これはハングを回避するだけでなく、JavaFXアプリケーションのドラッグアンドドロップも中断します。 – user2163960

関連する問題