Nano Hash - криптовалюты, майнинг, программирование

Приложение Java аварийно завершает работу при запуске полноэкранного приложения

У меня есть небольшое приложение Java, которое запускает небольшой сервер Jetty. Обычно это прекрасно работает.

К сожалению, когда я запускаю совершенно не связанную, не-Java полноэкранную игру (я пробовал с World of Warcraft и SW: TOR), приложение сразу же вылетает. Он не оставляет файл журнала hs_err, чтобы объяснить мне, почему. Он просто умирает с диалоговым окном Windows «Это приложение перестало работать». Сама игра продолжает работать нормально. Он вылетает во всех играх, которые я пробовал, но не в полноэкранных видеоплеерах. Он падает как при запуске из Eclipse, так и из командной строки. Мне не удалось воспроизвести это с другим Java-приложением, от простого до очень большого. Когда я запускаю WoW в полноэкранном (оконом) режиме, приложение продолжает работать нормально, поэтому, похоже, это вызвано наличием полноэкранного приложения, которое берет на себя управление всем рабочим столом.

Похоже, что JVM почему-то вылетает, когда моя видеокарта начинает что-то делать.

Кто-нибудь знает, почему происходит этот сбой, или как я могу понять, почему это происходит? Я не уверен, как запуск совершенно не связанного приложения (возможно, видеодрайвера?) помешает моей JVM.


  • Трассировки стека? И соответствующий код? 19.11.2012
  • Трассировки стека нет, приложение просто вылетает. В том то и проблема - мне не с чего начать искать. 19.11.2012
  • Сбои без трассировки стека? Это действительно кажется очень странным... 19.11.2012
  • Пожалуйста, разверните полноэкранную игру. Какую форму принимает игра? НАПРИМЕР. Это апплет, приложение, веб-приложение на основе HTML, дирижабль...? Код имеет цифровую подпись? Если да, предлагается ли пользователю принять код с цифровой подписью? Кроме того, чтобы быстрее получить помощь, опубликуйте SSCCE. 19.11.2012
  • Похоже, что проблема с видеокартой на этой машине, вызванная полноэкранным режимом Java, хотя я нахожу ваше описание немного противоречивым и запутанным. Означает ли сбой в любой игре, которую я пробовал, «все игры на основе Java при переводе в полноэкранный режим»? 19.11.2012
  • Обновленный вопрос для ясности, спасибо за комментарии до сих пор :) 19.11.2012
  • файл hs_err может содержать дополнительную информацию (например, сбой JVM в собственном коде), но без этого я предлагаю запустить вашу JVM из отладчика или какой-либо IDE. Возможно, это напечатало бы больше информации о крушении. Я подозреваю ошибку JVM, ошибку видеодрайвера или ошибку Windows. Вы пробовали другую ОС или другой ПК с Windows? 21.11.2012
  • извините, вы упомянули eclipse, но есть ли что-нибудь в консоли ошибок? 21.11.2012
  • Нет, ничего. Я вижу, что статус в Eclipse переходит от запущенного к остановленному, но ничего (кроме регистрации приложения, которое уже было там) не появляется ни в консоли, ни в журнале ошибок Eclipse. Есть ли какой-нибудь параметр Eclipse или JVM, который я могу включить для дополнительной отладки? 22.11.2012
  • Интересно, это как-то связано с изменением разрешения экрана, которое часто происходит при переводе игры в полноэкранный режим? 22.11.2012
  • Может быть, но WoW работает в том же разрешении, что и мой рабочий стол. SW:TOR работает в другом. 22.11.2012
  • Удалось ли вам воспроизвести это на других конфигурациях машины (другая ОС или другая видеокарта)? Есть ли в вашем приложении интерфейс? Вылетает ваше приложение или сервер Jetty? Пробовали ли вы комментировать большие фрагменты вашего приложения (или начинать с «Hello World» и постепенно добавлять фрагменты вашего приложения), чтобы посмотреть, поможет ли это сузить причину? Чем больше вещей вы попробовали (и рассказали нам), тем больше вероятность того, что вы получите ответ, который ищете (будь то от нас или от вашего собственного открытия)... 22.11.2012
  • Windows eventvwr ничего не говорит? Какая версия винды у вас стоит? Вы пытались изменить порты привязки причала (некоторые анти-хакерские программы агрессивны. Когда вы меняете разрешение на рабочем столе, ваше приложение вылетает? (Пожалуйста, также добавьте модель графического процессора и версию драйвера) 22.11.2012
  • Попробуйте запустить eclipse с параметрами -debug -consolelog. Здесь отображается что-нибудь полезное? Вы пытались запустить программу из окна DOS, чтобы увидеть, печатается ли что-нибудь в stdout или stderr? 27.11.2012
  • Я столкнулся с этим в своей программе (github.com/tarehart/alter), и это сводит меня с ума. . Он вылетает, когда бета-версия Battlefield 4 переходит в полноэкранный режим (что скорее противоречит цели). Я также не получаю hs_err, только процесс завершен с кодом выхода -1073740771. 09.10.2013

Ответы:


1

Вы можете попробовать контролировать его с помощью визуального vm. Также попробуйте написать дамп кучи при сбое виртуальной машины и потом проанализировать его. Может быть, тогда вы получите представление о том, что происходит.

Может ли Sun JDK генерировать файлы дампа ядра/кучи, когда Сбой JVM?

Пробовали любую более новую версию Java?

26.11.2012

2

Ваша игра Warcraft и игра SW:TOR запущены одновременно? Ты имеешь в виду, что запускаешь свою сборку игры под java и при этом запускаешь другую игру Warcraft и SW:TOR? Какую операционную систему и какую версию JVM вы используете? Возможно, две разные программы имеют разные приоритеты для графических ресурсов. Неясно, для какой платформы создается игра Warcraft и SW: TOR. Может быть приоритет операционной системы по умолчанию планирования потоков отстает от использования графических ресурсов. Похоже, что JV M выдает системное исключение из-за того, что не находит ресурс и завершает работу. Возможно, вам следует проверить доступность ресурсов и, если они доступны, продолжить работу.

28.11.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..