Kernel panics on heavy shared folder i/o

Discussion in 'Linux Guest OS Discussion' started by OlegV, Nov 27, 2020.

  1. OlegV

    OlegV Bit Poster

    Messages:
    17
    Hi. I'm pulling my hair out for a few days with this now. Basically the issue seems to be that heavy guest vm file i/o (like e.g. an enormously huge git repo init & sync) in the host shared folder is causing strange panics.

    I know it is an overkill but for various project specific reasons this can't be done directly on the Mac host and is the sole reason why I run this Linux guest in the first place. I tried an NFS share instead of Parallels Shared Folder and while it works without issues the network performance makes it pretty much unusable for shuffling around GBs of files. Nor can I use external removable storage for this content and keep switching it between guest & host since I need to access these files form both ends at the same time. At the other hand Parallels Shared Folders file i/o is miles faster and the only problem is the dreaded panics causing certain dev tools to fail because of i/o errors.

    Now I'm not a big specialist in this stuff really but it looks to be somehow related with the symlinks maybe judging by the call stack? Not sure here. Tried a bunch of different distros / kernels but no luck.

    With Ubuntu 20.04 guest I'm having all sorts of access issues to the shared folder. Some dev tools would fail to create folders or files in the shared folders. E.g. even when I try to manually create a folder in the Shared Folder from Nautilus I get No Free Space error (Shared Folder NOT marked as read-only). A non starter.

    With Ubuntu 18.04 (5.4.0) and older access is fine but I'm getting the mentioned above panics. They are not very often and look to be of a random nature yet a total roadblock. Any ideas please?

    [ 1166.088543] ------------[ cut here ]------------
    [ 1166.088545] kernel BUG at /build/linux-hwe-5.4-FXesR4/linux-hwe-5.4-5.4.0/mm/slub.c:3995!
    [ 1166.088552] invalid opcode: 0000 [#1] SMP PTI
    [ 1166.088554] CPU: 1 PID: 6243 Comm: git Tainted: P OE 5.4.0-54-generic #60~18.04.1-Ubuntu
    [ 1166.088555] Hardware name: Parallels Software International Inc. Parallels Virtual Platform/Parallels Virtual Platform, BIOS 16.1.1 (49141) 11/06/2020
    [ 1166.088560] RIP: 0010:kfree+0x1d2/0x240
    [ 1166.088561] Code: 85 c0 75 e3 e9 6b fe ff ff 49 8b 04 24 31 db a9 00 00 01 00 75 4b 49 8b 04 24 a9 00 00 01 00 75 0b 49 8b 44 24 08 a8 01 75 02 <0f> 0b 89 d9 b8 ff ff ff ff be 06 00 00 00 d3 e0 48 63 d0 49 8b 04
    [ 1166.088562] RSP: 0018:ffffaf1c04f8fc00 EFLAGS: 00010246
    [ 1166.088564] RAX: fffffc73c48f7fc8 RBX: 0000000000000000 RCX: 0000000000000000
    [ 1166.088565] RDX: 0000000000000000 RSI: 0cfa993a28caedee RDI: fffffffffffffe00
    [ 1166.088565] RBP: ffffaf1c04f8fc20 R08: 0000000000000010 R09: ffffaf1c04f8fcd0
    [ 1166.088566] R10: ffffaf1c04f8fba8 R11: ffff9a0bcffd2000 R12: fffffc73c48f7fc0
    [ 1166.088567] R13: ffffffff8210b9ae R14: 0000000000000000 R15: ffffaf1c04f8fe30
    [ 1166.088568] FS: 00007f4cf1dee080(0000) GS:ffff9a0bc7440000(0000) knlGS:0000000000000000
    [ 1166.088569] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 1166.088570] CR2: 000055a103597000 CR3: 00000002458d2001 CR4: 00000000003606e0
    [ 1166.088571] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 1166.088572] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 1166.088572] Call Trace:
    [ 1166.088577] kfree_link+0xe/0x10
    [ 1166.088579] terminate_walk+0x3d/0xf0
    [ 1166.088580] path_lookupat+0xa4/0x210
    [ 1166.088583] ? __vunmap+0x1bd/0x210
    [ 1166.088584] filename_lookup+0xb6/0x180
    [ 1166.088586] ? simple_attr_release+0x20/0x20
    [ 1166.088588] ? __check_object_size+0xdb/0x1b0
    [ 1166.088591] ? strncpy_from_user+0x4c/0x180
    [ 1166.088592] user_path_at_empty+0x36/0x40
    [ 1166.088594] ? user_path_at_empty+0x36/0x40
    [ 1166.088596] vfs_statx+0x76/0xe0
    [ 1166.088597] __do_sys_newlstat+0x3d/0x70
    [ 1166.088599] ? vfs_read+0x119/0x130
    [ 1166.088600] ? ksys_read+0xa7/0xe0
    [ 1166.088601] ? ksys_ioctl+0x75/0x80
    [ 1166.088603] __x64_sys_newlstat+0x16/0x20
    [ 1166.088605] do_syscall_64+0x57/0x190
    [ 1166.088607] entry_SYSCALL_64_after_hwframe+0x44/0xa9

    Thanks
     
  2. OlegV

    OlegV Bit Poster

    Messages:
    17
    Forgot to specify versions, sorry.

    Parallels Desktop 16.1.1 (49141)
    MacOS 11.0.1 (20B50)
     
  3. OlegV

    OlegV Bit Poster

    Messages:
    17
    I have just noticed that 16 is advertised to be 75% faster for GIT in Shared Folders. From Release Notes:

    With version 16, you can be more productive when working with Git repositories in Linux Shared Folders with up to 75% faster "git status" execution.

    Meaning what I attempt to do appears to be a rather common scenario for development purposes, nothing really crazy. Anyone else with kernel panics when using GIT in Shared Folders in PD 16?

    There are also Parallels Desktop 16 PRO & Business versions. I'm wondering whether these use different Shared Folders implementation/drivers vs basic Parallels Desktop 16 which is what I have. Any experience with PRO & Shared Folders & heavy file i/o anyone please?

    Thanks
     
  4. OlegV

    OlegV Bit Poster

    Messages:
    17
    Any ideas on how to approach this please? or dead end?

    Have just discovered shared folders are also messed up on MacOS guests too. The symlinks again. The symlinks appear to randomly work then don't a second later and vice versa. Hit and miss. It seems shared folders is generally a no go with PD. Please share how do you survive guys. I'd rather not engage in migrating huge pile of VMs to Fusion unless cornered.
     

Share This Page