Зависания eclipse
Вот уже неделю как периодически просто так сам по непонятным причинам eclipse стал зависать в момент открытия файлов. При чем виснет наглухо, но иногда со временем (около 5-10 минут) таки просыпается и ведет себя после этого нормально (до следующего открытия файла). Периодический бэкап содержимого workspace, снос и полная переустановка не помогают.
Сегодня у меня таки получилось с этим разобраться. Сделал я kill -SIGQUIT pidof eclipse и среди куче стек-трейсов увидел это:
"main" prio=10 tid=0x080aac00 nid=0x44a8 runnable [0xbfd9d000..0xbfd9f1d8] java.lang.Thread.State: RUNNABLE at org.eclipse.swt.internal.gtk.OS._gtk_enumerate_printers(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_enumerate_printers(OS.java:6260) at org.eclipse.swt.printing.Printer.getPrinterList(Printer.java:79) at org.eclipse.jface.text.TextViewer.isPrintable(TextViewer.java:4135) at org.eclipse.jface.text.TextViewer.canDoOperation(TextViewer.java:3672) at org.eclipse.jface.text.source.SourceViewer.canDoOperation(SourceViewer.java:667) at org.eclipse.jface.text.source.projection.ProjectionViewer.canDoOperation(ProjectionViewer.java:1531) at org.eclipse.cdt.internal.ui.editor.CSourceViewer.canDoOperation(CSourceViewer.java:354) at org.eclipse.ui.texteditor.TextOperationAction.update(TextOperationAction.java:157) at org.eclipse.ui.texteditor.TextOperationAction.Как оказалось, eclipse при _каждом_ открытии файла пытается получить у системы список принтеров.. А у меня libcups настроен печатать на удаленный CUPS-сервер, тазик с которым включается по необходимости.. Вот оно и висело в ожидании ответа от выключенного принт-сервера.(TextOperationAction.java:103) at org.eclipse.ui.texteditor.AbstractTextEditor.createActions(AbstractTextEditor.java:5411) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createActions(AbstractDecoratedTextEditor.java:1029) ...