2

我在带有 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);
4

1 回答 1

1

如果可能,我建议更新 Eclipse 和 Java。另一种可能性是降级 Eclipse。第三种可能性是更新整个系统以希望更新可能有错误/错误的库文件。我的第四个猜测是插件可能会导致问题。我最后的猜测是更新/降级 GTK。

于 2012-10-14T02:43:55.180 回答