Parallels / vagrant-parallels

Vagrant Parallels Provider
https://parallels.github.io/vagrant-parallels
MIT License
996 stars 87 forks source link

Parallels tools fail to install #337

Closed stephenreay closed 1 year ago

stephenreay commented 5 years ago

It's possible this is a Parallels/Kernel issue (and not specific to Vagrant) but trying to get Parallels staff to confirm these issues directly is like getting a Chicken to sing a lullaby.

I'm seeing an error when trying to install/upgrade parallels drivers:

Mon Mar 25 14:47:39 UTC 2019
Start installation or upgrade of Guest Tools
rmdir: failed to remove '/media/psf': Directory not empty
Remove tools according to /var/lib/parallels-tools/.backup/.tools.list file
rmdir: failed to remove '/etc/prltools': No such file or directory
Removing of X server configuration is skipped.
DKMS modules were removed successfully
Start removal of prl_eth kernel module
Error: could not unload prl_eth kernel module
Start removal of prl_tg kernel module
Error: could not unload prl_tg kernel module
Start removal of prl_fs kernel module
Error: could not unload prl_fs kernel module
Start removal of prl_fs_freeze kernel module
Error: could not unload prl_fs_freeze kernel module
Remove kernel modules according to /var/lib/parallels-tools/.backup/.kmods.list file
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:12:0:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c: In function 'tg_req_map_user_pages':
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:114:9: warning: passing argument 7 of 'get_user_pages' from incompatible pointer type [-Wincompatible-pointer-types]
         uple->p, NULL);
         ^
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:193:55: note: in definition of macro 'prl_get_user_pages'
   get_user_pages(current, current->mm, _1, _2, _3, 0, _4, _5)
                                                       ^
In file included from include/linux/scatterlist.h:7:0,
                 from include/linux/dmapool.h:14,
                 from include/linux/pci.h:1232,
                 from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:7:
include/linux/mm.h:1222:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
In file included from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:12:0:
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_compat.h:193:3: error: too many arguments to function 'get_user_pages'
   get_user_pages(current, current->mm, _1, _2, _3, 0, _4, _5)
   ^
/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:111:8: note: in expansion of macro 'prl_get_user_pages'
  got = prl_get_user_pages(
        ^
In file included from include/linux/scatterlist.h:7:0,
                 from include/linux/dmapool.h:14,
                 from include/linux/pci.h:1232,
                 from /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.c:7:
include/linux/mm.h:1222:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
make[3]: *** [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg_call.o] Error 1
make[2]: *** [_module_/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
make[1]: *** [prl_tg] Error 2
make: *** [compile] Error 2
Error: could not build kernel modules
Error during report about failed installation of parallels tools.
Error: failed to upgrade Parallels Guest Tools!
2019-03-25T14:47:53+0000: execCmd: ./install --install [167]
2019-03-25T14:47:53+0000: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
2019-03-25T14:48:27+0000: Exiting with code 1
romankulikov commented 5 years ago

Yep. It looks like kernel modules from Parallels Tools fail to compile on the most recent kernel update 4.4.0-143 of Ubuntu 16.04. Rolling back to 4.4.0-142 should workaround the problem.

stephenreay commented 5 years ago

This is still an issue, 3 months later. Can you put any internal pressure on this issue @romankulikov ?

romankulikov commented 5 years ago

Release dates are out of my scope unfortunately. But I may try to prepare instructions of how to patch kernel modules source code locally to workaround the problem, if you wish.

stephenreay commented 5 years ago

So far I've just been setting a hold on linux-image-generic and linux-headers-generic to prevent it upgrading those, which works for my scenario (our base box starts from Ubuntu 16 before the conflict) but it may be helpful for others who need to use a more recent Ubuntu release I guess?

legal90 commented 4 years ago

@stephenreay Does the issue still persist on Parallels Desktop 15?

haqthat commented 4 years ago

@stephenreay Does the issue still persist on Parallels Desktop 15?

Yes.

romankulikov commented 3 years ago

I should say that on Ubuntu 16.04 with the recent kernel 4.15.0-123 Parallels Tools 15.1.5 install successfully.

legal90 commented 1 year ago

Hi all, I'm gonna close this issue since there were no updates for 2+ years. Feel free to create a new one if you will face that problem again.