Kernel panic in Linux VMs (CentOS 7) in Parallels 17.1

Discussion in 'Linux Virtual Machine' started by MarkLe, Oct 19, 2021.

  1. MarkLe

    MarkLe Junior Member

    Messages:
    10
    I upgraded to Parallels 17 when it came out and it was running find on my laptop. Recently I upgraded to the latest version (17.1, build 51516). Now all my Linux VMs that run on CentOS 7 immediately crash on boot with a "Kernel Panic - not syncing: fatal exception" error message (right after the kernel version selection screen):

    [​IMG]
    I tried another Macbook with a clean install of Parallels 17.1, but that gave the same result.
    Parallels support thought that the VMs were corrupted and advised me to reinstall them. That would have taken me a lot of time, since they are all configured for various development purposes.
    Instead, I downgraded to Parallels 16 and everything seems to be working again :) Looks like there's some kind of incompatibility with CentOS 7 and Parallels 17.1. And yes: I should upgrade those CentOS 7 VMs to a newer version some day....
    A colleague of mine is also running Parallels 17 with similar VMs and doesn't have any issues. I advised him to not upgrade to 17.1.
     
  2. serv

    serv Forum Maven

    Messages:
    817
    Is this CentOS 7.9? You'll have to disable virGL by adding line "video.virgl=0" (without quotes) to VM Configuration > Hardware > Boot Order > Advanced > Boot Flags.
    This is due to an older kernel which will crash unconditionally if virGL is enabled:
    Code:
    static inline int ida_alloc(struct ida *ida, gfp_t gfp)
    {
           return ida_alloc_range(ida, 0, ~0, gfp);
    }
    
    Code:
    static inline int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int _max, gfp_t gfp)
    {
           unsigned int end = max(_max, _max + 1);
           return ida_simple_get(ida, min, end, gfp);
    }
    
    Code:
    int ida_simple_get(struct ida *ida, unsigned int start, unsigned int end,
                       gfp_t gfp_mask)
    {
    ...
            BUG_ON((int)start < 0);
            BUG_ON((int)end < 0);
    
     
    (GalaxyMaster) likes this.
  3. MarkLe

    MarkLe Junior Member

    Messages:
    10
    That seems to work. Upgraded to Parallels 17.1 again, added the boot flag and the VM started without issues.
    Thanks!
     

Share This Page