I have an issue where Java 8 and Gradle are causing Linux VMs to crash. Here’s the interesting part: Java 7 does not result in this behavior. We’ve also tried enabling stacktrace and debugging, but the machine panics before any debugging/stack output.
Kernel Panic – not syncing: Fatal exception in interrupt.
Gradle: 4.3.1 Java: 8u101 OS: CentOS 6.9 / 2.6 kernel
I’ve tested this on multiple machines, but can’t seem to nail it down.
This leads me to assume that the change is related to Java 8? Yet, the gradle script is so simple. It reads a manifest file, then downloads dependencies to complete our build.
Advertisement
Answer
It appears that VMware is actually the root cause of the issue. Our Gradle script happened to trigger this behavior due to the fact that when we pull dependencies down from Maven, heavy network I/O occurs; thus resulting in the following behavior:
VMware KB Article Quote:
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.5Source – KB Article
Finally by applying the following to our .vmx file, I resolved the issue. Rebooting the machine is obviously necessary to make this change go through.
vmxnet3.rev.30 = "FALSE"
I am curious to know if this issue manifests under different application workloads.