JVM 8退出代码-559038737(0xDEADBEEF)

时间:2014-04-29 16:38:10

标签: java jvm java-8 jvm-hotspot jvm-crash

我的应用程序在升级到Java 8后已经开始非确定性地失败。它不会抛出异常或打印错误消息。失败的唯一标志是退出代码-559038737。有没有人遇到过这个?

1 个答案:

答案 0 :(得分:3)

退出代码可能来自Apache Commons Exec

public interface Executor {

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

Java 8中有一些changes可能引入了一个错误。

但是如果不知道你的类路径和代码,这只是一个有根据的猜测。

也许您正在使用异步方式来使用Commons Exec:

DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();

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

int exitValue = resultHandler.waitFor();

return exitValue;

所以异常只在resultHandler中捕获,而不是自动在stderr上打印?