Java Случайно Сбой (Возможно Culprite: ntdll.dll?)

У меня есть программа, написанная на Java и настроенная с помощью планировщика задач Windows, которая запускается каждые 5 минут. Он выполняет "C:\Program Files\Java\jre7\bin\javaw.exe" и передает файл jar и все параметры командной строки.

По большей части, это работает отлично, но время от времени я возвращаюсь к своему компьютеру и вижу всплывающее окно, в котором говорится, что "бинарный файл Java(TM) Platform SE перестал работать". Итак, сначала я подумал, что это как-то связано с моим кодом, и добавил множество отладочных операторов, которые были добавлены в текстовый файл. Когда он рухнул, я проверил текстовый файл, и в нем не было ни одного незавершенного прогона. Затем я добавил оператор print в свой основной метод:

public static void main (String[] args) {
    System.out.println ("Main Method Called");
    new Runner (args);
}

Затем я постоянно запускал Java-программу из командной строки, пока она не вылетала, и я заметил кое-что интересное. В случае сбоя на нем никогда не было напечатано "Основной метод вызван". Теперь я нахожу это очень интересным, поскольку это говорит мне о том, что не моя программа на Java потерпела крах, а вместо этого - сама Java.

Затем я перешел и добавил подробные операторы печати в мою командную строку:

java -verbose:class -verbose:gc -verbose:jni -jar ...

Оттуда я продолжал процесс, пока программа снова не потерпела неудачу. В случае неудачи вывод будет намного меньше (346 строк), чем при успешном запуске (667 строк). Все в обоих циклах одинаково вплоть до строки 346, когда выходной сигнал внезапно останавливается. Итак, это заставляет меня думать, что все, что происходит в строках 346 или 347, приводит к сбою. Вот строки 340-346:

[Loaded sun.nio.cs.StandardCharsets from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.util.PreHashedMap from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Aliases from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Classes from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Cache from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.security.action.GetPropertyAction from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.util.Arrays from C:\Program Files\Java\jre7\lib\rt.jar]

При успешном запуске вывод продолжается, вот строки 347-355:

[Dynamic-linking native method java.lang.Object.getClass ... JNI]
[Dynamic-linking native method java.lang.Class.forName0 ... JNI]
[Loaded sun.nio.cs.HistoricallyNamedCharset from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.nio.cs.MS1252 from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.nio.cs.SingleByte from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Class$1 from C:\Program Files\Java\jre7\lib\rt.jar]
[Dynamic-linking native method sun.reflect.Reflection.getClassAccessFlags ... JNI]
[Loaded sun.reflect.ReflectionFactory$1 from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded sun.reflect.NativeConstructorAccessorImpl from C:\Program Files\Java\jre7\lib\rt.jar]

Наконец, когда происходит сбой, Windows выдает всплывающее окно (о котором я упоминал ранее), содержащее следующую информацию:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: java.exe
  Application Version:  7.0.210.11
  Application Timestamp:    515d999b
  Fault Module Name:    ntdll.dll
  Fault Module Version: 6.1.7601.18247
  Fault Module Timestamp:   521eaf24
  Exception Code:   c0000005
  Exception Offset: 00000000000986ea
  OS Version:   6.1.7601.2.1.0.256.48
  Locale ID:    1033
  Additional Information 1: 4c0d
  Additional Information 2: 4c0d4d78887f76d971d5d00f1f20a433
  Additional Information 3: 4c0d
  Additional Information 4: 4c0d4d78887f76d971d5d00f1f20a433

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

Прочитав сигнатуру проблемы и увидев в качестве причины "ntdll.dll", я искал проблемы, связанные с этим, но я не нашел никаких решений.

У вас есть идеи, что я мог бы сделать, чтобы это исправить?

0 ответов

Другие вопросы по тегам