java - Java 8 gradle 脚本导致内核恐慌
问题描述
我有一个问题,Java 8 和 Gradle 导致 Linux VM 崩溃。这是有趣的部分:Java 7 不会导致这种行为。我们也尝试过启用堆栈跟踪和调试,但机器会在任何调试/堆栈输出之前出现恐慌。
内核恐慌 - 不同步:中断中的致命异常。
Gradle:4.3.1 Java:8u101 操作系统:CentOS 6.9 / 2.6 内核
我已经在多台机器上对此进行了测试,但似乎无法确定。
这使我假设更改与 Java 8 有关?然而,gradle 脚本是如此简单。它读取一个清单文件,然后下载依赖项以完成我们的构建。
解决方案
看来VMware实际上是问题的根本原因。我们的 Gradle 脚本碰巧触发了这种行为,因为当我们从 Maven 拉取依赖项时,会发生大量的网络 I/O;从而导致以下行为:
VMware 知识库文章引用:
出现此问题的原因是 vmxnet3 vNIC 后端中的错误,该后端是 vmkernel 的一部分。如果满足以下所有条件,则会出现此问题:
Linux VM is running kernel >= 4.8 HW version of VM is >=13 ESXi version is 6.5
来源 - 知识库文章
最后,通过将以下内容应用于我们的 .vmx 文件,我解决了这个问题。显然需要重新启动机器才能使此更改通过。
vmxnet3.rev.30 = "FALSE"
我很想知道这个问题是否在不同的应用程序工作负载下表现出来。
推荐阅读
- spring-integration - 拆分后如何使对服务激活器的调用具有事务性
- docker - 如何从 Kubernetes/OpenShift 的 Pod 中排除代理环境变量?
- python - Django websocket 可以在本地工作,但不能在 Amazon EC2 服务器上工作,Websocket 握手期间出错
- python - 如何在保持其功能的同时阻止输入 Entry?
- c# - 如何从资源中导入字符串数组?
- react-native - 反应原生:ScrollView / FlatList / SectionList 需要双击?
- r - 根据变量的第 n 次出现创建一个列表。谢谢
- typescript - 将变量设置为 iframe 内的活动元素
- python - Python - 计算 IP 范围内 IP 的最佳方法
- php - 检查具体情况