Linux VM fails with the error "kernel BUG at drivers/net/vmxnet3/vmxnet3_drv.c:1413!" (2151480)
Jan 10 12:55:22 localhost kernel: ------------[ cut here ]------------
Jan 10 12:55:22 localhost kernel: kernel BUG at drivers/net/vmxnet3/vmxnet3_drv.c:1429!
Jan 10 12:55:22 localhost kernel: invalid opcode: 0000 [#1] SMP PTI
Jan 10 12:55:22 localhost kernel: Modules linked in: ipt_REJECT nf_reject_ipv4 xt_conntrack ip_set nfnetlink ebtable_nat ebtable_broute bridge stp llc iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw ebtable_filter ebtables ip6_tables iptable_filter vmw_vsock_vmci_transport vsock sunrpc ext4 mbcache jbd2 fscrypto sb_edac coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc vmw_balloon aesni_intel crypto_simd glue_helper cryptd pcspkr sg vmw_vmci i2c_piix4 shpchp binfmt_misc ip_tables xfs libcrc32c sr_mod cdrom ata_generic pata_acpi sd_mod crc32c_intel serio_raw vmwgfx ahci drm_kms_helper libahci syscopyarea vmxnet3 sysfillrect sysimgblt fb_sys_fops ttm drm ata_piix libata vmw_pvscsi dm_mirror dm_region_hash dm_log dm_mod
Jan 10 12:55:22 localhost kernel: CPU: 6 PID: 0 Comm: swapper/6 Not tainted 4.14.35-1844.0.7.el7uek.x86_64 #2
Jan 10 12:55:22 localhost kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 04/05/2016
Jan 10 12:55:22 localhost kernel: task: ffff9371163697c0 task.stack: ffffb2c801944000
Jan 10 12:55:22 localhost kernel: RIP: 0010:vmxnet3_rq_rx_complete+0xca1/0xde0 [vmxnet3]
Jan 10 12:55:22 localhost kernel: RSP: 0018:ffff9373bfd83e18 EFLAGS: 00010297
Jan 10 12:55:22 localhost kernel: RAX: 0000000000000040 RBX: ffff9373a7b3de10 RCX: ffff9373aa19b600
Jan 10 12:55:22 localhost kernel: RDX: 0000000000000017 RSI: 0000000000000001 RDI: 0000000000000040
Jan 10 12:55:22 localhost kernel: RBP: ffff9373bfd83e88 R08: 0000000000000028 R09: 0000000000000000
Jan 10 12:55:22 localhost kernel: R10: ffff9373a7b3c900 R11: 0000000000000000 R12: ffff9373adc815f0
Jan 10 12:55:22 localhost kernel: R13: ffff9373add0c420 R14: ffff9373a7b3dd40 R15: ffff9373add188e8
Jan 10 12:55:22 localhost kernel: FS: 0000000000000000(0000) GS:ffff9373bfd80000(0000) knlGS:0000000000000000
Jan 10 12:55:22 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jan 10 12:55:22 localhost kernel: CR2: 000055920405a000 CR3: 000000004f40a002 CR4: 00000000003606e0
Jan 10 12:55:22 localhost kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Jan 10 12:55:22 localhost kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Jan 10 12:55:22 localhost kernel: Call Trace:
Jan 10 12:55:22 localhost kernel: <irq>
Jan 10 12:55:22 localhost kernel: ? __sched_setscheduler+0x432/0x8d9
Jan 10 12:55:22 localhost kernel: vmxnet3_poll_rx_only+0x36/0xa0 [vmxnet3]
Jan 10 12:55:22 localhost kernel: net_rx_action+0x289/0x3f4
Jan 10 12:55:22 localhost kernel: __do_softirq+0xd9/0x28d
Jan 10 12:55:22 localhost kernel: irq_exit+0xdf/0xe5
Jan 10 12:55:22 localhost kernel: do_IRQ+0x59/0xdb
Jan 10 12:55:22 localhost kernel: common_interrupt+0x1a2/0x362
Jan 10 12:55:22 localhost kernel: </irq>
Jan 10 12:55:22 localhost kernel: RIP: 0010:native_safe_halt+0x6/0x8
Jan 10 12:55:22 localhost kernel: RSP: 0018:ffffb2c801947e80 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffca
Jan 10 12:55:22 localhost kernel: RAX: ffffffffa085a010 RBX: ffff9371163697c0 RCX: 0000000000000000
Jan 10 12:55:22 localhost kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
Jan 10 12:55:22 localhost kernel: RBP: ffffb2c801947e80 R08: ffff9373bfd9cf40 R09: 0000000000000000
Jan 10 12:55:22 localhost kernel: R10: 0000000000000201 R11: 0000000000000281 R12: 0000000000000006
解决方法:
This is a known issue affecting VMware ESXi 6.5.
This issue is resolved in VMware ESXi 6.5 Update 1, available at VMware Downloads.
To work around this issue if you do not want to upgrade, use any one of these options.
Add the vmxnet3.rev.30 = FALSE parameter in the vmx file of virtual machine:
Power off the virtual machine.
Edit the vmx file and add the below parameter:
vmxnet3.rev.30 = FALSE
Power on the virtual machine.
If you do not want to power off the virtual machine, disable the receive data ring for each vmxnet3 vNIC on the VM by running this command:
ethtool -G ethX rx-mini 0
Note: Replace ethX with virtual machine interface name.