Java-апплет белый экран - PullRequest
1 голос
/ 12 марта 2009

Я пытаюсь разобраться в проблеме с нашей программой на основе Java-апплета. Это довольно регулярно захватывает с неотзывчивым графическим интерфейсом (или белый экран). Это, конечно, происходит только при развертывании на сайте клиента :-(. На них установлена ​​версия Sun JVM серии 1.5 (точный выпуск не уверен).

У нас есть теория, что это связано с тем, что апплету не хватает места в куче - это звучит правдоподобно? Еще одна вещь, которую я настроил на своем компьютере, это отключение прямого рисования, но это было главным образом для того, чтобы избежать странных артефактов в других приложениях.

Они видят проблему на Citrix и на обычных ПК, но, очевидно, существует ограничение на то, что могут делать пользователи на Citrix.

Есть предложения?

Ответы [ 4 ]

2 голосов
/ 12 марта 2009

Недостаточно места в куче должно вызвать выброс OutOfMemoryError. Этот случай звучит как типичный тупик. Чтобы найти, где это, вы хотите получить дамп стека всех потоков. IIRC <вы можете сделать это через консоль, или из IIRC 1.6 JDK включает в себя <code>jps и jstack.

1 голос
/ 12 марта 2009

Прежде всего убедитесь, что заказчик использует последнюю версию JVM, которую он использует, и заставьте его включить консоль Java в своем браузере (это требует вашего исследования).

Затем, когда это произойдет снова, скажите им, чтобы они посмотрели в окно консоли и вырезали и вставляли содержимое письма вам.

0 голосов
/ 28 ноября 2009

Просто чтобы добавить к этому ответу (для создания базы знаний, как я сейчас нахожусь в этом).

Есть (по крайней мере) 2 разных белых экрана, связанных с апплетами.

  1. Deadlock (как упомянуто Томом) - область не будет обновляться при перетаскивании окна перед ним, поэтому вы получите странный эффект оставленных хвостов.

  2. Сбой виртуальной машины - область становится белой, Java VM закрывается (поиск hs_err_pid * .log, местоположение зависит от браузера)

0 голосов
/ 12 марта 2009

Чтобы решить проблему, сначала вы должны быть в состоянии воспроизвести проблему. Вам потребуется идентичная система для устранения этой проблемы, внося одно изменение за раз, сохраняя все остальное равным, чтобы определить причину (ы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...