Ticket #2473 (closed defect: fixed)
Assertion failed in PGMAllPool.cpp(1517) int pgmPoolMonitorInsert(PGMPOOL*, PGMPOOLPAGE*) rc=-1701
|Reported by:||vondralbra||Owned by:|
A 1.5GB RHEL5 guest crashes on a 4GB Host using Ubuntu Intrepid (Kernel 2.6.27-7) during an Oracle installation in the guest machine.
The location of the crash is in pgmPoolMonitorInsert() and the errorcode is -1701(VERR_MM_HYPER_NO_MEMORY) which means that a call to MMHyperAlloc() was not able to allocate any memory although enough cache and swap is available.
There has been some discussion on the issue in the virtualbox-forum in that link: http://forums.virtualbox.org/viewtopic.php?t=10710
The assertion which failed is located here in line 1517 of PGMAllPool.cpp:
1509 rc = PGMHandlerPhysicalRegisterEx(pVM, PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, 1510 GCPhysPage, GCPhysPage + (PAGE_SIZE - 1), 1511 pPool->pfnAccessHandlerR3, MMHyperCCToR3(pVM, pPage), 1512 pPool->pfnAccessHandlerR0, MMHyperCCToR0(pVM, pPage), 1513 pPool->pfnAccessHandlerGC, MMHyperCCToRC(pVM, pPage), 1514 pPool->pszAccessHandler); 1515 /** @todo we should probably deal with out-of-memory conditions here, but for now increasing 1516 * the heap size should suffice. */ 1517 AssertFatalRC(rc);
which means that "rc" is set by either a call to MMHyperAlloc() or a call to pgmHandlerPhysicalSetRamFlagsAndFlushShadowPTs() in PGMAllHandler.cpp
The error occurs on the guest regardless of the size. I tried 900M, 1024M and 1536M.
Very likely this ticket might be a duplicate entry to http://www.virtualbox.org/ticket/1629 but here is no USB-logic involved at all.