StackOverflowError с помощью Nashorn для анализа файла PAC proxy

из-за стандартной ошибки обнаружения Прокси Java я использую
nashorn, чтобы получить прокси для определенного url с
полномочие.файл pac (который работает в IE и Firefox).

Я получаю StackoverflowError в этом коде:

while (retrycounter < 50) {
      try {
           engine.eval(myscript);
           break;
          } catch (StackOverflowError e) {
             retrycounter ++;
          }
}

Странная вещь, когда я запускаю этот код в режиме отладки, он работает, когда я
сделайте точку останова на двигателе.eval (myscript); и перейдите в отладчик.

Файл pac достаточно большой-900 строк.
У меня много shExpMatch(…..) строки в файле.

Когда я удаляю строку 400-600, мой сценарий также работает в режиме без отладки.
Когда я удаляю линию 400-500, она не работает.
При удалении строки 500-600 она не работает.

Так есть проблемы с Nashorn Engine с размером моего файла?

Я не публикую больше кода, потому что он работает в режиме отладки и при сжатии файла.

Проблема существует, используя Java 1.8.0_73.
С 1.8.0_77 и 1.8.0_91 он работает.

Есть ли возможность запустить скрипт в более старых версиях?
Может через настройки к движку?

с уважением

1 ответ

  1. Тот же код работает с более новыми версиями java.
    1.8.0_91 (я думаю 1.8.0_7xx тоже работал, но не уверен).