VirtualBox

Changeset 2584 in vbox


Ignore:
Timestamp:
May 10, 2007 4:56:22 PM (18 years ago)
Author:
vboxsync
Message:

Full state dump on that weird black box assertion.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/TM.cpp

    r2581 r2584  
    13581358    const uint64_t u64VirtualNow = TMVirtualGetEx(pVM, false /* don't check timers */);
    13591359    uint64_t u64Now;
     1360uint64_t off = 0, u64Delta = 0, u64Sub = 0; /* debugging - to be removed */
     1361bool fWasInCatchup = false;                 /* debugging - to be removed */
    13601362    if (!pVM->tm.s.fVirtualSyncTicking)
    13611363    {
     
    13671369    {
    13681370        /* Calc 'now'. (update order doesn't really matter here) */
    1369         uint64_t off = pVM->tm.s.offVirtualSync;
     1371        /*uint64_t*/ off = pVM->tm.s.offVirtualSync;
    13701372        if (pVM->tm.s.fVirtualSyncCatchUp)
    13711373        {
    1372             uint64_t u64Delta = u64VirtualNow - pVM->tm.s.u64VirtualSyncCatchUpPrev;
     1374fWasInCatchup = pVM->tm.s.fVirtualSyncCatchUp; /* debugging - to be removed */
     1375            /*uint64_t*/ u64Delta = u64VirtualNow - pVM->tm.s.u64VirtualSyncCatchUpPrev;
    13731376            if (RT_LIKELY(!(u64Delta >> 32)))
    13741377            {
    1375                 uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
     1378                /*uint64_t*/ u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
    13761379                if (off > u64Sub + pVM->tm.s.offVirtualSyncGivenUp)
    13771380                {
     
    14101413
    14111414    /* assert sanity */
     1415#ifdef VBOX_STRICT /* debugging - remove all but the assertions. */
     1416if (RT_UNLIKELY(    !(u64Now <= u64VirtualNow - pVM->tm.s.offVirtualSyncGivenUp)
     1417                ||  !(u64Max <= u64VirtualNow - pVM->tm.s.offVirtualSyncGivenUp)
     1418                ||  !(u64Now <= u64Max)))
     1419{                   
     1420    AssertMsg2("Add the following to defect #1414:\n"
     1421               "                         u64Now=%016RX64\n"
     1422               "                         u64Max=%016RX64\n"
     1423               "               pNext->u64Expire=%016RX64\n"
     1424               "                  u64VirtualNow=%016RX64\n"
     1425               "                            off=%016RX64\n"
     1426               "                       u64Delta=%016RX64\n"
     1427               "                         u64Sub=%016RX64\n"
     1428               "                 offVirtualSync=%016RX64\n"
     1429               "          offVirtualSyncGivenUp=%016RX64\n"
     1430               "      u64VirtualSyncCatchUpPrev=%016RX64\n"
     1431               "u32VirtualSyncCatchUpPercentage=%08RX32\n"
     1432               "            fVirtualSyncTicking=%RTbool\n"
     1433               "            fVirtualSyncCatchUp=%RTbool (prev=%RTbool)\n",
     1434               u64Now,
     1435               u64Max,
     1436               pNext->u64Expire,
     1437               u64VirtualNow,
     1438               off,
     1439               u64Delta,
     1440               u64Sub,
     1441               pVM->tm.s.offVirtualSync,
     1442               pVM->tm.s.offVirtualSyncGivenUp,
     1443               pVM->tm.s.u64VirtualSyncCatchUpPrev,
     1444               pVM->tm.s.u32VirtualSyncCatchUpPercentage,
     1445               pVM->tm.s.fVirtualSyncTicking,
     1446               pVM->tm.s.fVirtualSyncCatchUp, fWasInCatchup);
    14121447    Assert(u64Now <= u64VirtualNow - pVM->tm.s.offVirtualSyncGivenUp);
    14131448    Assert(u64Max <= u64VirtualNow - pVM->tm.s.offVirtualSyncGivenUp);
    14141449    Assert(u64Now <= u64Max);
     1450}
     1451#endif
    14151452
    14161453    /*
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette