Sun ホットスポット Java 6 を搭載した Ubuntu 12.04 で Eclipse Indigo (3.7.x) を使用しています。
Eclipse は頻繁にフリーズします (特定のパターンはなく、ランダムです)。
Ubuntu システム プロファイラは、プロセス ステータスを 100% cpu (1 つのコアが完全に占有されている - 場合によっては 96 または 104% と表示される) として表示し、futex_wait_queue_me を待機チャネルとしてスリープ状態にします。このことから、1 つのコアをビジー状態に保ちながら何もしないある種のループであると推測できます。
Eclipse がフリーズするたびに、Visualvm を使用してスレッド ダンプを取得しました。毎回、実行可能な状態のスレッドは、スタックの一番上にある以下のクラス/メソッドを示します
"main" prio=10 tid=0x00007f490c008000 nid=0xe4b runnable [0x00007f4913aea000]
java.lang.Thread.State: RUNNABLE at
org.eclipse.swt.internal.gtk.OS._gtk_tree_store_set(Native Method) at
org.eclipse.swt.internal.gtk.OS.gtk_tree_store_set(OS.java:11841) at
org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1613)
OS.java:11841 の行は次のとおりです (grepcode.com から閲覧)
_gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy);