VMware Communities
managedvm
Contributor
Contributor

x86/Split Lock Detection: #AC (Alignment Check)

Lots and lots of log-spamming. Is there a way to block these log messages? W11 works fine but log messages are a pain.

Host:

Dist: Slackware-15
Kernel: 5.16.10
vmmon and vmnet: mkubecek github
VMWare Player:  16.2.1

Guest OS:

Windows 11 Pro x64

Log Messages:

Early printk:

[    0.000000] Linux version 5.16.10 (root@tommyv) (gcc (GCC) 11.2.0, GNU ld version 2.37-slack15) #12 SMP PREEMPT Wed Feb 16 16:39:37 CST 2022 
[    0.000000] Command line: BOOT_IMAGE=dev000:EFI\Slackware\vmlinuz root=/dev/NVLVM/root  logo.nologo quiet ro
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000] x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks

Later:

[59102.255292] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d
[59103.256407] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d
[59104.257545] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d
[59105.258636] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d
[59106.259742] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d
[59159.314386] x86/split lock detection: #AC: main-mks/30630 took a split_lock trap at address: 0x55987d0a30a7
[59159.314401] x86/split lock detection: #AC: main-svga/30631 took a split_lock trap at address: 0x55987d0a2e3d

and so on.....

  

If I disable userspace warnings, does this matter? Is there a reason this is occurring?

Thank you

Ref: kernel_parameters.txt

        split_lock_detect= 
                       [X86] Enable split lock detection or bus lock detection

                       When enabled (and if hardware support is present), atomic
                       instructions that access data across cache line
                       boundaries will result in an alignment check exception
                       for split lock detection or a debug exception for
                       bus lock detection.

                       off     - not enabled

                       warn    - the kernel will emit rate-limited warnings
                                 about applications triggering the #AC
                                 exception or the #DB exception. This mode is
                                 the default on CPUs that support split lock
                                 detection or bus lock detection. Default
                                 behavior is by #AC if both features are
                                 enabled in hardware.

                       fatal   - the kernel will send SIGBUS to applications
                                 that trigger the #AC exception or the #DB
                                 exception. Default behavior is by #AC if
                                 both features are enabled in hardware.

                       ratelimit:N -
                                 Set system wide rate limit to N bus locks
                                 per second for bus lock detection.
                                 0 < N <= 1000.

                                 N/A for split lock detection.

0 Kudos
3 Replies
managedvm
Contributor
Contributor

I added the boot time kernel command line option 

split_lock_detect=off

 

and that has suppressed detection and all messages

[    0.000000] Linux version 5.16.10 (root@tommyv) (gcc (GCC) 11.2.0, GNU ld version 2.37-slack15) #12 SMP PREEMPT Wed Feb 16 16:39:37 CST 2022
[    0.000000] Command line: BOOT_IMAGE=dev000:EFI\Slackware\vmlinuz root=/dev/NVLVM/root  logo.nologo quiet ro split_lock_detect=off
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000] x86/split lock detection: disabled

 

The important question to be answered is: does this matter? Have any negative impacts? We shall see.

0 Kudos
mfgeorge
Contributor
Contributor

HOST OS: Ubuntu 21.10 

Kernel: 5.13.0-52-generic

VMWare: Workstation Pro 16.2.3

Hello, 

I was having this problem as well, and it corresponded with when I opened a 3D accelerated application. It was very severe. Namely the vmx-svga module was causing this in VMWare 16.2.3, which would cause a fatal Virtual Machine Kernel Panic, causing the virtual machine to completely crash. I searched around on the forums, and while this forum post didn't mention "split lock", it recommended downgrading to 16.1. 

I downgraded, and the same 3D accelerated application that triggered the problem originally everytime has not triggered the issue so far.

 

Here is my dmesg log: 

[60392.347550] split_lock_warn: 15 callbacks suppressed
[60392.347552] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60392.706970] x86/split lock detection: #AC: vmx-svga/539292 took a split_lock trap at address: 0x558591cfebb7
[60392.725529] x86/split lock detection: #AC: vmx-svga/539292 took a split_lock trap at address: 0x558591cfebb7
[60542.767975] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60547.772586] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60561.787282] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60588.812873] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60589.814073] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60652.875259] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60654.876705] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60655.876818] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60657.878961] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60673.894625] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60720.941230] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60721.941778] x86/split lock detection: #AC: main-svga/539295 took a split_lock trap at address: 0x557ff56a2e3d
[60722.941962] x86/split lock detection: #AC: main-mks/539294 took a split_lock trap at address: 0x557ff56a30a7

 

My suspicion is that all of these split locks then cause the following mks panic: 

2022-06-28T01:29:29.219Z In(05) mks  SOCKET 2 (5) recv detected client closed connection
2022-06-28T01:29:29.219Z In(05) mks  MKSControlMgr: MKSControl Remote Disconnect: socket closed.
2022-06-28T01:29:29.219Z Wa(03) mks  MKSResponse: Error: (1084)
2022-06-28T01:29:29.219Z In(05) mks  MKSControlMgr: MKSResponse error
2022-06-28T01:29:29.219Z In(05) mks  MKSControlMgr: Dropping MKSControl error due to prior unresolved error.
2022-06-28T01:29:29.219Z In(05) mks  SOCKET 1 (3) recv error 104: Connection reset by peer
2022-06-28T01:29:29.219Z Wa(03) mks  The mksSandbox lost its connection to the main mks.
2022-06-28T01:29:29.219Z Wa(03) mks  The main mks process may have crashed or hung.
2022-06-28T01:29:29.219Z Wa(03) mks  Check the mksSandbox.log and vmware.log for more details.
2022-06-28T01:29:29.219Z Cr(01) mks  PANIC: MKSSandboxComm: Lost connection to isbRenderer (1206)

 

0 Kudos
UlrichMeier
Contributor
Contributor

same issue with Ubuntu 22.04

0 Kudos