Подтвердить что ты не робот

Код выхода JVM 8 -559038737 (0xDEADBEEF)

Мое приложение начало детерминистически отказываться после обновления до Java 8. Оно не генерирует исключение или не выводит сообщение об ошибке. Единственным признаком его отказа является код выхода -559038737. Кто-нибудь сталкивался с этим?

4b9b3361

Ответ 1

Этот код выхода, вероятно, поступает из Apache Commons Exec:

public interface Executor {

/** Invalid exit code. */
int INVALID_EXITVALUE = 0xdeadbeef;
...

В Java 8 есть несколько изменений, которые могли бы ввести ошибку.

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

Возможно, вы используете асинхронный способ использования Commons Exec:

DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();

Executor executor = new DefaultExecutor();
executor.execute(cmdLine, resultHandler);

int exitValue = resultHandler.waitFor();

return exitValue;

Итак, исключение записывается только в resultHandler, но не печатает на stderr автоматически?