windows - SWT Нет больше ручек




handles (6)

Windows XP имеет ограничение на 10000 пользовательских дескрипторов для каждого процесса и общее 32000 для каждого сеанса рабочего стола. Однако, когда я запускаю 4 или 5 SWT-процессов, каждый из которых потребляет не более 2000 пользовательских дескрипторов, исключение SWT No More обрабатывает всегда.

Кто-нибудь знает, почему?


В моей системе Windows7 x64 я могу воспроизвести ее при запуске TeamViewer 8 (www.teamviewer.com). Когда я останавливаю TeamViewer, ошибка исчезает.

вы можете посмотреть: https://bugs.eclipse.org/bugs/show_bug.cgi?id=402983

Надеюсь, это поможет.


Для записи, если бы это был мой вопрос, я бы принял ответ @ Paul. Тем не менее, есть одна непроницаемая проблема, которую я хотел бы добавить здесь, чтобы потенциально помочь кому-то другому, если они сталкиваются с этой проблемой ...

Проверьте использование шрифтов.

В моем случае мои дескрипторы были не такими высокими, но вместо этого я был новым экземпляром шрифтов и передавал их стилю StyledText. Мне пришлось вместо этого объявлять шрифты, которые я хотел использовать один раз, уровень класса. Это исправило это для меня.


Попробуйте выполнить следующие шаги:

  • перейдите в домашний каталог eclipse (где вы установили eclipse), затем перейдите в папку плагинов
  • удалить все недавно установленные плагины, начиная с com.google. *
  • повторите попытку повторного запуска своего затмения, он может снова начать работать (работал для меня.)
  • попробуйте установить старые плагины из Google или только один раз, что вам нужно. (Я собираюсь попробовать это.)

Предел не 10000 ручек. Приложения могут использовать гораздо больше, чем 10000 ручек (если позволяет RAM). Предел находится в GDI и пользовательских ресурсах (графические элементы).

Какими ресурсами пользуются приложения SWT (вы можете увидеть это с помощью taskmgr)? Это поможет понять, что протекает.


Я также встретил эту проблему, но теперь я ее решил.

В моем случае я запускаю Win7 с SP1 и Spring Tool Suite 3.7.2 (Eclipse Mars 4.5.1) через Citrix XenApp. Эта ошибка возникает, когда я переключаюсь между обозревателем пакетов и редактором Java .

Мое решение:
запустите services.msc в Win7, найдите «Служба ввода Tablet PC», остановите его.

Надеюсь, это поможет другим.


Я тоже видел эту ошибку в eclipse 3.6 SR1, и оказалось, что сотни вкладок редактора остаются открытыми. Закрытие вкладок фиксировало ошибку.





handles