1 Reply Latest reply on Jan 25, 2017 7:56 PM by karamatsu

    Workstation 12.5.2 Fails to Start on Fedora 25 (Kernel 4.9.5)

    karamatsu Lurker

      Using a clean install/update of Fedora 25 (kernel 4.9.5) as the host, and a clean install of Workstation 12.5.2, I had no problem modifying the vmmon and vmnet modules to correct the calls to get_user_pages(). The 'vmware-modconfig --console --install-all' works fine (both modules compile without error) until the very end, when I get:

       

      Starting vmware (via systemctl):  Job for vmware.service failed because the control process exited with error code.

      See "systemctl status vmware.service" and "journalctl -xe" for details.

                                                                 [FAILED]

      Unable to start services

       

      Looking at 'systemctl status vmware.service' all I see is

       

      ● vmware.service - SYSV: This service starts and stops VMware services

         Loaded: loaded (/etc/rc.d/init.d/vmware; generated; vendor preset: disabled)

         Active: failed (Result: exit-code) since Wed 2017-01-25 11:48:20 JST; 6min ago

           Docs: man:systemd-sysv-generator(8)

        Process: 10973 ExecStart=/etc/rc.d/init.d/vmware start (code=exited, status=1/FAILURE)

          Tasks: 4 (limit: 4915)

         CGroup: /system.slice/vmware.service

                 ├─1565 /usr/lib/vmware/bin/vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_ot

                 └─1586 /usr/sbin/vmware-authdlauncher

       

      Jan 25 11:48:20 mini vmware[10973]:    Virtual machine monitor[  OK  ]

      Jan 25 11:48:20 mini vmware[10973]:    Virtual machine communication interface[  OK  ]

      Jan 25 11:48:20 mini vmware[10973]:    VM communication interface socket family[  OK  ]

      Jan 25 11:48:20 mini vmware[10973]:    Blocking file system[  OK  ]

      Jan 25 11:48:20 mini vmware[10973]:    Virtual ethernet[FAILED]

      Jan 25 11:48:20 mini vmware[10973]:    VMware Authentication Daemon[  OK  ]

      Jan 25 11:48:20 mini systemd[1]: vmware.service: Control process exited, code=exited status=1

      Jan 25 11:48:20 mini systemd[1]: Failed to start SYSV: This service starts and stops VMware services.

      Jan 25 11:48:20 mini systemd[1]: vmware.service: Unit entered failed state.

      Jan 25 11:48:20 mini systemd[1]: vmware.service: Failed with result 'exit-code'.

       

      and as you'd expect, no vmware network devices created.

       

      Has anyone else seen this? Any ideas about what might be going wrong or how to fix it? Or failing that, is there a way to get more detailed diagnostics from vmnet in order to get an idea of what might be going wrong?

        • 1. Re: Workstation 12.5.2 Fails to Start on Fedora 25 (Kernel 4.9.5)
          karamatsu Lurker

          Problem Solved:

           

          The vmware logs were fairly useless so I looked around trying to get more information on the cause of the problem. This led to looking at /etc/rc.d/init.d/vmware. In order for that script to start vmnet it uses /usr/bin/vmware-networks --start and logs to the cleverly named /var/log/vnetlib. Looking at that log file, it's apparent that at least one problem is that the file /etc/vmware/networking is missing. There's no indication of why the installer failed to create it, or what it's even supposed to contain. However the following solved the problem:

           

          # touch /etc/vmware/placeholder

          # vmware-networks --migrate-network-settings /etc/vmware/placeholder

          # vmware-networks --start

           

          You can then just delete /etc/vmware/placeholder.

           

          I suggest that VMware developers review and improve (a) diagnostic messages (the installer should have complained if it was unable to create or find a file that is absolutely necessary for a component like vmnet to run), (b) offer more detailed debugging (vmware-networks already has a --verbose option but it doesn't produce any information of value), and (c) unify logging so that it's all in one place instead of scattered around in various files like the poorly-named /var/log/vnetlib.