1 2 Previous Next 16 Replies Latest reply: Jul 2, 2007 6:42 PM by shivalwolf RSS

    Segfault at insmod vmmon

    EqUaTe Novice

      Hi folks.

      I recently moved a machine to amd64, and find that I am unable to get the vmmon module to load.

      I'm building a new kernel in hopes of correcting this, but I'd appreciate if anyone else has come across it.

       

      I'm using debian amd64, with kernel 2.6.21.1

       

      The module appears to build correctly, after applying the any-any patch.

       

      Thanks

        • 1. Re: Segfault at insmod vmmon
          EqUaTe Novice

          An update to this:

           

          The vmware version is 1.03, any-any is 110.

           

          This is from /var/log/messages when vmware-config.pl tries to insert the module:

           

          May 22 13:11:45 horizon kernel: insmod\[29154]: segfault at 0000000000000000 rip 00002b38a75de27b rsp 00007fff0375f308 error 4

          May 22 13:11:45 horizon kernel: insmod\[29160]: segfault at 0000000000000000 rip 00002b9346f8527b rsp 00007fff63db8958 error 4

           

           

           

          If anyone has any ideas, I would greatly appreciate them

          • 2. Re: Segfault at insmod vmmon
            nick.couchman Champion

            Idea #1: Try a kernel that's officially supported by VMware Server

            • 3. Re: Segfault at insmod vmmon
              EqUaTe Novice

              Is there a list of those anywhere?

               

              I know that debian is an unsupported distribution (which is a bit disappointing really.. :P)

              • 4. Re: Segfault at insmod vmmon
                RDPetruska Guru User Moderators vExpert

                >Is there a list of those anywhere?

                Chapter 1 of the Admin/user manual - Host Requirements - Supported Host OS's.

                • 5. Re: Segfault at insmod vmmon
                  nick.couchman Champion

                  I know that debian is an unsupported distribution (which is a bit disappointing really.. :P)

                   

                  It's probably not so much Debian itself as it is the version of the kernel that you're running.  2.6.21 is a fairly new kernel.  I know 2.6.22 is close to release, but .21 is still recent, and it's possible there are still a few bugs to be worked out in the VMware modules when compiling against that kernel.

                   

                  Did you build your own kernel or install the standard one included with Debian?

                  • 6. Re: Segfault at insmod vmmon
                    EqUaTe Novice

                    I know that vmware works on debian, and I know people have had it working on the amd64 branch.

                    The supported host-os list isn't overly helpful.. The supported kernel list would be far more so..

                    • 7. Re: Segfault at insmod vmmon
                      EqUaTe Novice

                      I've tried both now. Also tried 2.6.18-4 now as well, which is what is presently used in etch (I typically run sid).

                      2.6.21 and 2.6.20 are in sid at present.

                      I previously had it working with 2.6.21.1, self-compiled, in 32bit.

                       

                      Here is the full log from vmware-config.pl once it starts building vmmon. As you can see, this is from my attempt using 2.6.18.

                       

                      Extracting the sources of the vmmon module.

                       

                      Building the vmmon module.

                       

                      Building for VMware Server 1.0.0.

                      Using 2.6.x kernel build system.

                      make: Entering directory `/tmp/vmware-config0/vmmon-only'

                      make -C /usr/src/linux-headers-2.6.18-4-amd64/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules

                      make[1]: Entering directory `/usr/src/linux-headers-2.6.18-4-amd64'

                        CC   /tmp/vmware-config0/vmmon-only/linux/driver.o

                        CC   /tmp/vmware-config0/vmmon-only/linux/hostif.o

                        CC   /tmp/vmware-config0/vmmon-only/common/cpuid.o

                        CC   /tmp/vmware-config0/vmmon-only/common/hash.o

                        CC   /tmp/vmware-config0/vmmon-only/common/memtrack.o

                        CC   /tmp/vmware-config0/vmmon-only/common/phystrack.o

                        CC   /tmp/vmware-config0/vmmon-only/common/task.o

                      cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++

                      cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC but not for C++

                      cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++

                      /tmp/vmware-config0/vmmon-only/common/task_compat.h: In function ‘void Task_Switch_V45(VMDriver*, Vcpuid)’:

                      /tmp/vmware-config0/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function

                      /tmp/vmware-config0/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function

                      /tmp/vmware-config0/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::rsp’ may be used uninitialized in this function

                      /tmp/vmware-config0/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::rip’ may be used uninitialized in this function

                        CC   /tmp/vmware-config0/vmmon-only/common/vmx86.o

                        CC   /tmp/vmware-config0/vmmon-only/vmcore/compat.o

                        CC   /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o

                        LD   /tmp/vmware-config0/vmmon-only/vmmon.o

                        Building modules, stage 2.

                        MODPOST

                        CC      /tmp/vmware-config0/vmmon-only/vmmon.mod.o

                        LD   /tmp/vmware-config0/vmmon-only/vmmon.ko

                      make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-4-amd64'

                      cp -f vmmon.ko ./../vmmon.o

                      make: Leaving directory `/tmp/vmware-config0/vmmon-only'

                      sh: line 1:  3390 Segmentation fault      'insmod' -p '/tmp/vmware-config0/vmmon.o' >/dev/null 2>&1

                      Unable to make a vmmon module that can be loaded in the running kernel:

                      There is probably a slight difference in the kernel configuration between the

                      set of C header files you specified and your running kernel.  You may want to

                      rebuild a kernel based on that directory, or specify another directory.

                       

                      For more information on how to troubleshoot module-related problems, please

                      visit our Web site at "http://www.vmware.com/download/modules/modules.html" and

                      "http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".

                       

                      Execution aborted.

                      • 8. Re: Segfault at insmod vmmon
                        EqUaTe Novice

                        Ok, I've just made some headway - it's not vmware that's at fault at all.. It's insmod !

                         

                        I was able to manually modprobe the kernel module, but insmod segfaults even when run as just 'insmod' ... Most odd!

                        • 9. Re: Segfault at insmod vmmon
                          EqUaTe Novice

                          Ok, downgrading module-init-tools (and thus insmod) has sorted it.

                          Looks like an upstream bug in insmod.

                           

                          For other peoples reference - if you're seeing segfaults when calling insmod on debian - downgrade from 3.3pre-11-1 to 3.3-pre4-2

                           

                           

                          Thanks for your help folks.

                          • 10. Re: Segfault at insmod vmmon
                            p2k Novice
                            • 11. Re: Segfault at insmod vmmon
                              Enthusiast

                              since insmod will behave if you call it with a full path, here's a diff to get vmware-config.pl to use a full path.

                               

                               

                              sub check_answer_binpath {

                                my $answer = shift;

                              my $source = shift;

                              >-  my $fullpath;

                              >+  my $fullpath = internal_which($answer);

                              >-  if (not (internal_which($answer) eq '')) {

                              >-    return $answer;

                              >+  if ($fullpath ne '') {

                              >+    return $fullpath;

                                }

                               

                              • 12. Re: Segfault at insmod vmmon
                                marinka Novice

                                you saved my day with this patch. thank you.

                                • 13. Re: Segfault at insmod vmmon
                                  AThilA Lurker

                                  Thx man i really happy with solution.

                                  • 14. Re: Segfault at insmod vmmon
                                    ikm1980 Lurker

                                    Thank you, kbyrd, it's all works!

                                    1 2 Previous Next