VMware Communities
jensjensen
Contributor
Contributor

vmmon module wont start on rhel6.1 kernel 2.6.32-122.el6.x86_64

precompiled module for vmmon on rhel6.1 beta kernel 2.6.32-122.el6.x86_64 wouldnt start up

seemed to start up ok on previous kernels from 6.0 (2.6.32-71.18.2.el6.x86_64)

moved the precompiled module folder (/usr/lib/vmware/modules/) out of the way, and attempted to compile modules:

# vmware-modconfig --console --install-all

Stopping VMware services:
   VMware USB Arbitrator                                   [  OK  ]
   VM communication interface socket family                [  OK  ]
   Virtual machine communication interface                 [  OK  ]
   Virtual machine monitor                                 [  OK  ]
   Blocking file system                                    [  OK  ]
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.32-122.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-122.el6.x86_64'
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
cc1: warnings being treated as errors
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c: In function ‘HostIFReadUptimeWork’:
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c:2004: error: ‘newUpBase’ may be used uninitialized in this function
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/hostif.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-122.el6.x86_64'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon

patch to define newUpBase in /usr/lib/vmware/modules/source/vmmon.tar:

--- hostif.c.orig    2011-04-08 18:52:53.042747864 -0500
+++ hostif.c    2011-04-08 18:49:26.000000000 -0500
@@ -2033,6 +2033,7 @@
     */

    diff = uptime - monotime;
+   newUpBase = 0;
    if (UNLIKELY(diff < -UPTIME_FREQ || diff > UPTIME_FREQ)) {
       /* Compute a new uptimeBase to get uptime back on track. */
       newUpBase = monotime - (uptime - upBase);

0 Kudos
2 Replies
jensjensen
Contributor
Contributor

sorry - meant to say moved the precompiled module folder (/usr/lib/vmware/modules/binary) out of the way

also, took the patch to make it work...

attaching helper script that i modified from http://files.archlinux.org.il/vmmon_fix_2.6.36.sh, but for this issue - if that makes it easier for anyone with this problem

0 Kudos
wysguy
Contributor
Contributor

Edit: I sorted it out.  The script doesn't move the modules/binary folder out of the way.   I just skipped the shell script, patched by hand and ran the vmware-modconfig.  Thanks for the patch!!

I have the same issue with the 2.6.32-122 kernel.  Sadly, I cannot get the patch to apply:

Unpacking /usr/lib/vmware/modules/source/vmmon.tar:
Patching /usr/lib/vmware/modules/source/vmmon.tar:
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- hostif.c.orig    2011-04-08 18:52:53.042747864 -0500
|+++ hostif.c    2011-04-08 18:49:26.000000000 -0500
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

Patching FAILED!  Restoring original /usr/lib/vmware/modules/

Thanks for the patch though, at least I think I am on the right path now.

0 Kudos