Bugzilla – Bug 551294
RN: vmware-config fails in 2.6.31 kernel
Last modified: 2010-02-16 20:37:51 UTC
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729) On a system upgraded from SuSE 11.1 to SuSEE 11.2 recompiling the drivers for an installed version of vmware Server 2.0.1 runing vmware-config.pl fails and you are unable to start the vmware server. This is a known problem discussed on the vmware forums on kernels > 2.5.30. None of their suggested fixes worked for me. Although this is not a SuSE issue, since it could have serious impact on shops using SuSE as a virtualization base, you might mention it in the release notes. I was able to get the vmware server to run by down-grading the kernel to 2.6.29 on the upgraded system. Reproducible: Always Steps to Reproduce: 1.upgrade 2.vmware will not start unless you re-run vmware-config.pl 3.vmware-config.pl fails during recompile of drivers
Same problems here after update 11.1 to 11.2 RC2 x64. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmmon-only' make -C /lib/modules/2.6.31.5-0.1-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-2.6.31.5-0.1-obj/x86_64/default' make -C ../../../linux-2.6.31.5-0.1 O=/usr/src/linux-2.6.31.5-0.1-obj/x86_64/default/. modules CC [M] /tmp/vmware-config1/vmmon-only/linux/driver.o In file included from /tmp/vmware-config1/vmmon-only/linux/driver.c:31: /tmp/vmware-config1/vmmon-only/./include/compat_wait.h:78: error: conflicting types for ‘poll_initwait’ /usr/src/linux-2.6.31.5-0.1/include/linux/poll.h:70: note: previous declaration of ‘poll_initwait’ was here In file included from /tmp/vmware-config1/vmmon-only/./include/vmware.h:38, from /tmp/vmware-config1/vmmon-only/linux/driver.c:99: /tmp/vmware-config1/vmmon-only/./include/vm_basic_types.h:108:7: warning: "__FreeBSD__" is not defined In file included from /tmp/vmware-config1/vmmon-only/./include/vcpuset.h:103, from /tmp/vmware-config1/vmmon-only/./include/modulecall.h:37, from /tmp/vmware-config1/vmmon-only/./common/vmx86.h:33, from /tmp/vmware-config1/vmmon-only/linux/driver.h:29, from /tmp/vmware-config1/vmmon-only/linux/driver.c:101: /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:329:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:333:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:401:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:407:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:460:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:506:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:551:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:595:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:640:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:684:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:729:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:773:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:775:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:816:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:860:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:862:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:903:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:945:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:947:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:986:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1028:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1030:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1069:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1223:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1227:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1313:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1536:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1663:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_atomic.h:1796:7: warning: "_MSC_VER" is not defined In file included from /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86_64.h:39, from /tmp/vmware-config1/vmmon-only/./include/vm_asm.h:41, from /tmp/vmware-config1/vmmon-only/linux/driver.c:103: /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86.h:486:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86.h:779:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86.h:820:7: warning: "_MSC_VER" is not defined /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86.h:922:7: warning: "_MSC_VER" is not defined In file included from /tmp/vmware-config1/vmmon-only/./include/vm_asm.h:41, from /tmp/vmware-config1/vmmon-only/linux/driver.c:103: /tmp/vmware-config1/vmmon-only/./include/vm_asm_x86_64.h:56:7: warning: "_MSC_VER" is not defined In file included from /tmp/vmware-config1/vmmon-only/linux/driver.c:119: /tmp/vmware-config1/vmmon-only/./common/hostif.h:53:7: warning: "WINNT_DDK" is not defined /tmp/vmware-config1/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’: /tmp/vmware-config1/vmmon-only/linux/driver.c:1423: error: too many arguments to function ‘smp_call_function’ /tmp/vmware-config1/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’: /tmp/vmware-config1/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘euid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘uid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘fsuid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘uid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘egid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘gid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘fsgid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘gid’ /tmp/vmware-config1/vmmon-only/linux/driver.c:2007: error: too many arguments to function ‘smp_call_function’ make[4]: *** [/tmp/vmware-config1/vmmon-only/linux/driver.o] Error 1 make[3]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2 make[2]: *** [sub-make] Error 2 make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.31.5-0.1-obj/x86_64/default' make: *** [vmmon.ko] Error 2 make: Leaving directory `/tmp/vmware-config1/vmmon-only' Unable to build the vmmon module.
Created attachment 325098 [details] Source patch on vmware workstation Certainly not compiz issue. At best I can imagine this to be a documentation issue. For reference: I've been running vmware (6.5.x) on openSUSE Factory with this patch. Together with the followin shell script, the building of the modules is rather simple (copy patch and shell script to /usr/lib/vmware/modules/source ) #!/bin/sh /etc/init.d/vmware stop # clean up all the existing build dirs... find -maxdepth 1 -type d -name "??*" -exec rm -rf {} \; #unpack the tarballs for a in *.tar; do tar xf $a; done patch -p1 < CP.patch for a in $(find -maxdepth 1 -type d -name "vm*") ; do pushd $a make popd done pushd vsock-only cp ../vmci-only/Module.symvers . make popd test -d /lib/modules/$(uname -r)/misc || install -d /lib/modules/$(uname -r)/misc find -name "*.ko" -exec install -t /lib/modules/$(uname -r)/misc {} \; depmod -aq /etc/init.d/vmware start
Dominique, I tried to apply the patch that you provided to my system, and it failed to apply. I am running VMware Server 2.0.1 build-156745
I need more info, please. How do we want to address this issue? coolo, will you please assign the bug to the right person?
(In reply to comment #4) > I need more info, please. How do we want to address this issue? coolo, will > you please assign the bug to the right person? I will try to help you with more info. Just tell me what you need.... Gerrit Jan
it's dominique's package afaik
only open-vm-tools is 'my' package. vmware-config.pl is part of the binary distribution of the vmware products only. We (openSUSE) ship 'only' open-vm-tools and the corresponding KMP (vmware-guest-kmp-*). The main issue is that vmware server / workstation / player come with a script to build kernel modules, but they are outdated source codes. Unfortunately they are still not part of the kernel (long story). Basically there is nothing we can change: vmware ships code that does not work on latest kernels (there are normally patches to be found in the VMWare forum for this issue.) so basically there is not much we can do, except maybe a wiki page and possibly an addition to the release notes, pointing to said wiki page. @coolo: a such I don't think I'm the right assignee for this ticket (It's not related / created issue by any openSUSE package).
Thanks for the reply. I think i will contact vmware about this.... GJ
There is a lot about this on; http://communities.vmware.com/thread/239129?tstart=0 So it is a vmware problem....
Although I would appreciate any assistance in getting this resolved, As I indicated in the original posting, I realize that this is a VMware issue, it is just that I think that there should be some indication in the release notes so that other VMware users don't have a bad upgrade experience and waste a lot of time.
Thanks for the discussion. If an entry in the release notes is wanted and necessary, please provide a draft version.
How about: VMware Server v2 up through at least 2.0.2 build 203138 released 10/27/2009 only supports linux kernels up to 2.6.27 and vmware-config.pl fails on kernel 2.6.31 used by openSuSE 11.2. For additional information see: http://www.vmware.com/support/pubs/server_pubs.html and http://communities.vmware.com/message/1327112#1327112
Newer kernels using a struct to access the user subroutines. That's not a SuSE-problem. The simple solution to change the file source/vmnet-only/netif.c funktion VNetNetIfSetup static struct net_device_ops ndo_dev; ether_setup(dev); // turns on IFF_BROADCAST, IFF_MULTICAST ndo_dev.ndo_init = VNetNetifProbe; ndo_dev.ndo_open = VNetNetifOpen; ndo_dev.ndo_start_xmit = VNetNetifStartXmit; ndo_dev.ndo_stop = VNetNetifClose; ndo_dev.ndo_get_stats = VNetNetifGetStats; ndo_dev.ndo_set_mac_address = VNetNetifSetMAC; ndo_dev.ndo_set_multicast_list = VNetNetifSetMulticast; dev->netdev_ops=&ndo_dev; #ifdef KERNEL_2_3_43 . . Dont forget to repack this changed file into vmnet.tar. You get a lot of warnings while compile, but it works for all my VM's.
There is nothing I can do. Karl is the best if we can manage to get anything in the release notes (a proposition is in comment #12)
Thanks, fine.
This is my proposal with XML markup: <!-- bnc#551294 --> <sect3 id="vmwareserver"> <title>VMware Server v2</title> <para>VMware Server v2 up through at least 2.0.2 build 203138 released 2009-10-27 only supports Linux kernels up to 2.6.27 and <command>vmware-config.pl</command> fails on kernel 2.6.31 used by openSuSE 11.2. For additional information, see <ulink url="http://www.vmware.com/support/pubs/server_pubs.html"/> and <ulink url="http://communities.vmware.com/message/1327112#1327112"/>. </para> </sect3>
I am closing this since it was reported mainly for informational purposes.
Update released for: desktop-translations, release-notes-openSUSE, translation-update, translation-update-cs, translation-update-da, translation-update-de, translation-update-es, translation-update-fi, translation-update-fr, translation-update-gl, translation-update-hr, translation-update-hu, translation-update-it, translation-update-ja, translation-update-ka, translation-update-km, translation-update-ko, translation-update-lt, translation-update-nb, translation-update-nl, translation-update-pa, translation-update-pl, translation-update-pt, translation-update-pt_BR, translation-update-ro, translation-update-ru, translation-update-sk, translation-update-uk, translation-update-wa, yast2-trans, yast2-trans-af, yast2-trans-am, yast2-trans-ar, yast2-trans-be, yast2-trans-bg, yast2-trans-bn, yast2-trans-bs, yast2-trans-ca, yast2-trans-cs, yast2-trans-cy, yast2-trans-da, yast2-trans-de, yast2-trans-el, yast2-trans-en_GB, yast2-trans-en_US, yast2-trans-es, yast2-trans-et, yast2-trans-fa, yast2-trans-fi, yast2-trans-fr, yast2-trans-gl, yast2-trans-gu, yast2-trans-he, yast2-trans-hi, yast2-trans-hr, yast2-trans-hu, yast2-trans-id, yast2-trans-it, yast2-trans-ja, yast2-trans-jv, yast2-trans-ka, yast2-trans-km, yast2-trans-ko, yast2-trans-ku, yast2-trans-lo, yast2-trans-lt, yast2-trans-mk, yast2-trans-mr, yast2-trans-ms, yast2-trans-my, yast2-trans-nb, yast2-trans-nl, yast2-trans-pa, yast2-trans-pl, yast2-trans-pt, yast2-trans-pt_BR, yast2-trans-ro, yast2-trans-ru, yast2-trans-si, yast2-trans-sk, yast2-trans-sl, yast2-trans-sr, yast2-trans-sv, yast2-trans-sw, yast2-trans-ta, yast2-trans-tg, yast2-trans-th, yast2-trans-tk, yast2-trans-tr, yast2-trans-uk, yast2-trans-vi, yast2-trans-wa, yast2-trans-xh, yast2-trans-zh_CN, yast2-trans-zh_TW, yast2-trans-zu Products: openSUSE 11.2 (i586)
FYI: If you have 64 bit openSUSE, there's a patch here http://opensuse.swerdna.org/susevmwareserver.html