Java 8 gradle 导致内核崩溃的脚本

Java 8 gradle script causing kernel panic

我遇到了 Java 8 和 Gradle 导致 Linux 虚拟机崩溃的问题。这是有趣的部分:Java 7 不会导致此行为。我们也试过启用堆栈跟踪和调试,但机器在任何 debugging/stack 输出之前出现恐慌。

内核崩溃 - 不同步:中断中发生致命异常。

Gradle:4.3.1 Java: 8u101 OS: 分OS 6.9 / 2.6 内核

我已经在多台机器上对此进行了测试,但似乎无法确定。

这让我假设更改与 Java 8 有关?然而,gradle 脚本是如此简单。它读取清单文件,然后下载依赖项以完成我们的构建。

看来 VMware 实际上是问题的根本原因。我们的 Gradle 脚本碰巧触发了这个行为,因为当我们从 Maven 中拉下依赖项时,会发生重网络 I/O;从而导致以下行为:

VMware 知识库文章引用:

This issue occurs due to a bug in vmxnet3 vNIC backend which is part of the vmkernel. This issue occurs if all the below are true:

Linux VM is running kernel >= 4.8
HW version of VM is >=13
ESXi version is 6.5

Source - KB Article

最后,通过将以下内容应用于我们的 .vmx 文件,我解决了这个问题。显然需要重新启动机器才能使此更改生效。

vmxnet3.rev.30 = "FALSE"

我很想知道这个问题是否会在不同的应用程序工作负载下出现。