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"
我很想知道这个问题是否会在不同的应用程序工作负载下出现。
我遇到了 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"
我很想知道这个问题是否会在不同的应用程序工作负载下出现。