ports/55928: vmware2 broken on -STABLE, presumably by PAE import

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Sun Aug 24 17:40:03 UTC 2003


>Number:         55928
>Category:       ports
>Synopsis:       vmware2 broken on -STABLE, presumably by PAE import
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 24 10:40:00 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Brandon S. Allbery KF8NH
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
Carnegie Mellon University
		Dept. of Electrical & Computer Engineering
		Computing Facilities
>Environment:
System: FreeBSD pyanfar.ece.cmu.edu 4.8-STABLE FreeBSD 4.8-STABLE #4: Sun Aug 17 17:28:05 EDT 2003 allbery at pyanfar.ece.cmu.edu:/usr/src/sys/compile/TIRUN i386


>Description:
	The emulators/vmware2 port does not work on recent -STABLE, failing
	with "VMware Workstation PANIC: BUG F(571):1607 bugNr=2302".  The
	usual fix for this is to rebuild the kernel modules, but (a) they
	do not build without patching and (b) the new kernel modules fail with
	the same error.

	No kernel messages were logged.

	Update:  retrying it with syslogd recording debug messages, the vmware
	bugcheck no longer occurs, but vmware reports an inability to reserve
	memory and the following is syslogged:

	Aug 24 07:10:10 pyanfar /kernel: /dev/vmmon: HostIF_LockPage vpn=0x0287bc mpn=000000 already tracked
	Aug 24 07:10:22 pyanfar last message repeated 11 times
	Aug 24 07:10:30 pyanfar /kernel: /dev/vmmon: Vmx86_DestroyVM: unlocked pages: 0, unlocked dirty pages: 0
	Aug 24 07:10:30 pyanfar /kernel: /dev/vmmon: PhysTrack_Cleanup: pfns still locked

>How-To-Repeat:
	Attempt to boot a VMware virtual machine.

>Fix:

	I used the following patch to get the modules to build; not being a
	kernel hacker, I don't know if it's correct (and would guess it's not,
	but have no idea what the correct fix is).

--- vmmon-only/freebsd/hostif.c~	Fri Aug 22 02:14:28 2003
+++ vmmon-only/freebsd/hostif.c	Fri Aug 22 02:13:19 2003
@@ -181,11 +181,11 @@
 {
 #define DEB(x) 
    caddr_t addr = (caddr_t)VPN_2_VA(ppn);
-   pt_entry_t pteptr = (pt_entry_t)vtopte(addr);
+   pt_entry_t pteptr = (pt_entry_t)vtopte((unsigned long) addr);
    PTE pte;
 
    DEB(printf("FindMPN: for page %d address %p(phys %p) pteptr %p", ppn, addr, (caddr_t)vtophys(addr), pteptr));
-   pte=*pteptr;
+   pte=*((caddr_t)pteptr);
    DEB(printf("(0x%08x)\n", pte));
    if (pte & PTE_P) { 
       return PTE_2_PFN(pte);


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list