VirtualBox

Changeset 56970 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jul 17, 2015 2:23:43 PM (9 years ago)
Author:
vboxsync
Message:

crserverlib: Use AssertLogRelRCReturn instead of AssertRCReturn when loading state so we can pinpoint errors more easily.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r56922 r56970  
    18981898    /* Load windows */
    18991899    int32_t rc = crServerLsrDataGetU32(pReader, &uiNumElems);
    1900     AssertRCReturn(rc, rc);
     1900    AssertLogRelRCReturn(rc, rc);
    19011901    for (ui=0; ui<uiNumElems; ++ui)
    19021902    {
     
    19071907
    19081908        rc = crServerLsrDataGetMem(pReader, &key, sizeof(key));
    1909         AssertRCReturn(rc, rc);
     1909        AssertLogRelRCReturn(rc, rc);
    19101910        rc = crServerLsrDataGetMem(pReader, &createInfo, sizeof(createInfo));
    1911         AssertRCReturn(rc, rc);
     1911        AssertLogRelRCReturn(rc, rc);
    19121912
    19131913        CRASSERT(!pReader->cbData);
     
    19161916        {
    19171917            rc = SSMR3GetStrZEx(pReader->pSSM, psz, 200, NULL);
    1918             AssertRCReturn(rc, rc);
     1918            AssertLogRelRCReturn(rc, rc);
    19191919            createInfo.pszDpyName = psz;
    19201920        }
     
    19261926    /* Load cr_server.muralTable */
    19271927    rc = SSMR3GetU32(pReader->pSSM, &uiNumElems);
    1928     AssertRCReturn(rc, rc);
     1928    AssertLogRelRCReturn(rc, rc);
    19291929    for (ui=0; ui<uiNumElems; ++ui)
    19301930    {
     
    19331933
    19341934        rc = crServerLsrDataGetMem(pReader, &key, sizeof(key));
    1935         AssertRCReturn(rc, rc);
     1935        AssertLogRelRCReturn(rc, rc);
    19361936        rc = crServerLsrDataGetMem(pReader, &muralInfo, RT_OFFSETOF(CRMuralInfo, CreateInfo));
    1937         AssertRCReturn(rc, rc);
     1937        AssertLogRelRCReturn(rc, rc);
    19381938
    19391939        if (version <= SHCROGL_SSM_VERSION_BEFORE_FRONT_DRAW_TRACKING)
     
    19561956                 * the mural memory is zero-initialized initially, so we can be sure the padding is zeroed */
    19571957                rc = crServerLsrDataGetMem(pReader, &LaBuf, sizeof (LaBuf));
    1958                 AssertRCReturn(rc, rc);
     1958                AssertLogRelRCReturn(rc, rc);
    19591959                if (LaBuf.apv[0] != NULL && LaBuf.apv[0] != ((void*)1))
    19601960                    break;
     
    20232023
    20242024            rc = crServerLsrDataPutMem(pReader, &LaBuf, sizeof (LaBuf));
    2025             AssertRCReturn(rc, rc);
     2025            AssertLogRelRCReturn(rc, rc);
    20262026        }
    20272027
     
    20302030            CR_SERVER_BUGGY_MURAL_DATA Tmp;
    20312031            rc = crServerLsrDataGetMem(pReader, &Tmp, sizeof (Tmp));
    2032             AssertRCReturn(rc, rc);
     2032            AssertLogRelRCReturn(rc, rc);
    20332033        }
    20342034
     
    20422042
    20432043            rc = crServerLsrDataGetMem(pReader, muralInfo.pVisibleRects, 4*sizeof(GLint)*muralInfo.cVisibleRects);
    2044             AssertRCReturn(rc, rc);
     2044            AssertLogRelRCReturn(rc, rc);
    20452045        }
    20462046
     
    21352135        CRFBDataElement * pEl = &Data.data.aElements[i];
    21362136        rc = SSMR3GetMem(pSSM, pEl->pvData, pEl->cbData);
    2137         AssertRCReturn(rc, rc);
     2137        AssertLogRelRCReturn(rc, rc);
    21382138    }
    21392139
     
    22052205        /* Read number of clients */
    22062206        rc = SSMR3GetU32(pSSM, &g_hackVBoxServerSaveLoadCallsLeft);
    2207         AssertRCReturn(rc, rc);
     2207        AssertLogRelRCReturn(rc, rc);
    22082208
    22092209        Assert(g_hackVBoxServerSaveLoadCallsLeft);
     
    22382238    /* Load and recreate rendering contexts */
    22392239    rc = SSMR3GetU32(pSSM, &uiNumElems);
    2240     AssertRCReturn(rc, rc);
    2241     for (ui=0; ui<uiNumElems; ++ui)
     2240    AssertLogRelRCReturn(rc, rc);
     2241    for (ui = 0; ui < uiNumElems; ++ui)
    22422242    {
    22432243        CRCreateInfo_t createInfo;
     
    22482248
    22492249        rc = SSMR3GetMem(pSSM, &key, sizeof(key));
    2250         AssertRCReturn(rc, rc);
     2250        AssertLogRelRCReturn(rc, rc);
    22512251        rc = SSMR3GetMem(pSSM, &createInfo, sizeof(createInfo));
    2252         AssertRCReturn(rc, rc);
     2252        AssertLogRelRCReturn(rc, rc);
    22532253
    22542254        if (createInfo.pszDpyName)
    22552255        {
    22562256            rc = SSMR3GetStrZEx(pSSM, psz, 200, NULL);
    2257             AssertRCReturn(rc, rc);
     2257            AssertLogRelRCReturn(rc, rc);
    22582258            createInfo.pszDpyName = psz;
    22592259        }
     
    22742274        /* we have a mural data here */
    22752275        rc = crVBoxServerLoadMurals(&Reader, version);
    2276         AssertRCReturn(rc, rc);
     2276        AssertLogRelRCReturn(rc, rc);
    22772277        CRASSERT(!Reader.pu8Buffer);
    22782278    }
     
    22862286
    22872287    rc = crStateLoadGlobals(pSSM, version);
    2288     AssertRCReturn(rc, rc);
     2288    AssertLogRelRCReturn(rc, rc);
    22892289
    22902290    if (uiNumElems)
     
    23092309
    23102310        rc = SSMR3GetMem(pSSM, &key, sizeof(key));
    2311         AssertRCReturn(rc, rc);
     2311        AssertLogRelRCReturn(rc, rc);
    23122312
    23132313        pContextInfo = (CRContextInfo*) crHashtableSearch(cr_server.contextTable, key);
     
    23192319        {
    23202320            rc = SSMR3GetMem(pSSM, &winId, sizeof(winId));
    2321             AssertRCReturn(rc, rc);
     2321            AssertLogRelRCReturn(rc, rc);
    23222322
    23232323            if (winId)
     
    23352335
    23362336        rc = crStateLoadContext(pContext, cr_server.contextTable, crVBoxServerGetContextCB, pSSM, version);
    2337         AssertRCReturn(rc, rc);
     2337        AssertLogRelRCReturn(rc, rc);
    23382338
    23392339        /*Restore front/back buffer images*/
    23402340        rc = crVBoxServerLoadFBImage(pSSM, version, pContextInfo, pMural);
    2341         AssertRCReturn(rc, rc);
     2341        AssertLogRelRCReturn(rc, rc);
    23422342    }
    23432343
     
    23492349
    23502350        rc = SSMR3GetU32(pSSM, &uiNumElems);
    2351         AssertRCReturn(rc, rc);
     2351        AssertLogRelRCReturn(rc, rc);
    23522352        for (ui=0; ui<uiNumElems; ++ui)
    23532353        {
     
    23562356
    23572357            rc = SSMR3GetMem(pSSM, &key, sizeof(key));
    2358             AssertRCReturn(rc, rc);
     2358            AssertLogRelRCReturn(rc, rc);
    23592359
    23602360            rc = SSMR3GetMem(pSSM, &ctxId, sizeof(ctxId));
    2361             AssertRCReturn(rc, rc);
     2361            AssertLogRelRCReturn(rc, rc);
    23622362
    23632363            pMural = (CRMuralInfo*)crHashtableSearch(cr_server.muralTable, key);
     
    23752375
    23762376            rc = crVBoxServerLoadFBImage(pSSM, version, pContextInfo, pMural);
    2377             AssertRCReturn(rc, rc);
     2377            AssertLogRelRCReturn(rc, rc);
    23782378
    23792379            /* restore the reference data, we synchronize it with the HW state in a later crServerPerformMakeCurrent call */
     
    23952395        /* we have a mural data here */
    23962396        rc = crVBoxServerLoadMurals(&Reader, version);
    2397         AssertRCReturn(rc, rc);
     2397        AssertLogRelRCReturn(rc, rc);
    23982398
    23992399        /* not used any more, just read it out and ignore */
     
    24122412
    24132413            rc = crServerLsrDataGetU32(&Reader, &ui);
    2414             AssertRCReturn(rc, rc);
     2414            AssertLogRelRCReturn(rc, rc);
    24152415            /* If this assert fires, then we should search correct client in the list first*/
    24162416            CRASSERT(ui == pClient->conn->u32ClientID);
     
    24192419            {
    24202420                rc = crServerLsrDataGetU32(&Reader, &pClient->conn->vMajor);
    2421                 AssertRCReturn(rc, rc);
     2421                AssertLogRelRCReturn(rc, rc);
    24222422
    24232423                rc = crServerLsrDataGetU32(&Reader, &pClient->conn->vMinor);
    2424                 AssertRCReturn(rc, rc);
     2424                AssertLogRelRCReturn(rc, rc);
    24252425            }
    24262426
     
    24452445            {
    24462446                rc = crServerLsrDataGetMem(&Reader, &ctxID, sizeof(ctxID));
    2447                 AssertRCReturn(rc, rc);
     2447                AssertLogRelRCReturn(rc, rc);
    24482448                client.currentCtxInfo = (CRContextInfo*) crHashtableSearch(cr_server.contextTable, ctxID);
    24492449                CRASSERT(client.currentCtxInfo);
     
    24562456            {
    24572457                rc = crServerLsrDataGetMem(&Reader, &winID, sizeof(winID));
    2458                 AssertRCReturn(rc, rc);
     2458                AssertLogRelRCReturn(rc, rc);
    24592459                client.currentMural = (CRMuralInfo*) crHashtableSearch(cr_server.muralTable, winID);
    24602460                CRASSERT(client.currentMural);
     
    24732473
    24742474    rc = crServerPendLoadState(pSSM, version);
    2475     AssertRCReturn(rc, rc);
     2475    AssertLogRelRCReturn(rc, rc);
    24762476
    24772477    if (version >= SHCROGL_SSM_VERSION_WITH_SCREEN_INFO)
    24782478    {
    24792479        rc = CrPMgrLoadState(pSSM, version);
    2480         AssertRCReturn(rc, rc);
     2480        AssertLogRelRCReturn(rc, rc);
    24812481    }
    24822482
     
    24872487        {
    24882488            rc = cr_server.head_spu->dispatch_table.spu_load_state((void *)pSSM);
    2489             AssertRCReturn(rc, rc);
     2489            AssertLogRelRCReturn(rc, rc);
    24902490        }
    24912491        else
     
    33743374    VBOXCMDVBVA_3DCTL_CONNECT Connect;
    33753375    int rc = SSMR3GetU32(pSSM, &u32);
    3376     AssertRCReturn(rc, rc);
     3376    AssertLogRelRCReturn(rc, rc);
    33773377
    33783378    for (i = 0; i < u32; i++)
     
    33833383
    33843384        rc = SSMR3GetU32(pSSM, &u32ClientID);
    3385         AssertRCReturn(rc, rc);
     3385        AssertLogRelRCReturn(rc, rc);
    33863386        rc = SSMR3GetU32(pSSM, &Connect.u32MajorVersion);
    3387         AssertRCReturn(rc, rc);
     3387        AssertLogRelRCReturn(rc, rc);
    33883388        rc = SSMR3GetU32(pSSM, &Connect.u32MinorVersion);
    3389         AssertRCReturn(rc, rc);
     3389        AssertLogRelRCReturn(rc, rc);
    33903390        rc = SSMR3GetU64(pSSM, &Connect.u64Pid);
    3391         AssertRCReturn(rc, rc);
     3391        AssertLogRelRCReturn(rc, rc);
    33923392
    33933393        rc = crVBoxCrConnectEx(&Connect, u32ClientID);
    3394         AssertRCReturn(rc, rc);
     3394        AssertLogRelRCReturn(rc, rc);
    33953395    }
    33963396
     
    34533453    int rc = VINF_SUCCESS;
    34543454
    3455     char psz[2000];
     3455    char szBuf[2000];
    34563456    uint32_t ui32;
    34573457
     
    34593459
    34603460    /* Start of data */
    3461     rc = SSMR3GetStrZEx(pSSM, psz, 2000, NULL);
    3462     AssertRCReturn(rc, rc);
    3463     if (strcmp(gszVBoxOGLSSMMagic, psz))
    3464     {
    3465         WARN(("unexpected data"));
    3466         return VERR_SSM_UNEXPECTED_DATA;
    3467     }
     3461    rc = SSMR3GetStrZEx(pSSM, szBuf, sizeof(szBuf), NULL);
     3462    AssertLogRelRCReturn(rc, rc);
     3463    AssertLogRelMsgReturn(!strcmp(gszVBoxOGLSSMMagic, szBuf), ("Unexpected data1: '%s'\n", szBuf), VERR_SSM_UNEXPECTED_DATA);
    34683464
    34693465    /* num clients */
    34703466    rc = SSMR3GetU32(pSSM, &ui32);
    3471     AssertRCReturn(rc, rc);
     3467    AssertLogRelRCReturn(rc, rc);
    34723468
    34733469    if (!ui32)
    34743470    {
    34753471        /* no clients, dummy stub */
    3476         rc = SSMR3GetStrZEx(pSSM, psz, 2000, NULL);
    3477         AssertRCReturn(rc, rc);
    3478         if (strcmp(gszVBoxOGLSSMMagic, psz))
    3479         {
    3480             WARN(("unexpected data"));
    3481             return VERR_SSM_UNEXPECTED_DATA;
    3482         }
     3472        rc = SSMR3GetStrZEx(pSSM, szBuf, sizeof(szBuf), NULL);
     3473        AssertLogRelRCReturn(rc, rc);
     3474        AssertLogRelMsgReturn(!strcmp(gszVBoxOGLSSMMagic, szBuf), ("Unexpected data2: '%s'\n", szBuf), VERR_SSM_UNEXPECTED_DATA);
    34833475
    34843476        return VINF_SUCCESS;
    34853477    }
    3486     if (ui32 != 1)
    3487     {
    3488         WARN(("invalid id"));
    3489         return VERR_SSM_UNEXPECTED_DATA;
    3490     }
     3478    AssertLogRelMsgReturn(ui32 == 1, ("Invalid client count: %#x\n", ui32), VERR_SSM_UNEXPECTED_DATA);
    34913479
    34923480    /* Version */
    34933481    rc = SSMR3GetU32(pSSM, &ui32);
    3494     AssertRCReturn(rc, rc);
    3495 
    3496     if (ui32 < SHCROGL_SSM_VERSION_CRCMD)
    3497     {
    3498         WARN(("unexpected version"));
    3499         return VERR_SSM_UNEXPECTED_DATA;
    3500     }
     3482    AssertLogRelRCReturn(rc, rc);
     3483    AssertLogRelMsgReturn(ui32 >= SHCROGL_SSM_VERSION_CRCMD, ("Unexpected version: %#x\n", ui32), VERR_SSM_UNEXPECTED_DATA);
    35013484
    35023485    rc = crVBoxCrCmdLoadClients(pSSM, u32Version);
    3503     AssertRCReturn(rc, rc);
     3486    AssertLogRelRCReturn(rc, rc);
    35043487
    35053488    /* The state itself */
    35063489    rc = crVBoxServerLoadStatePerform(pSSM, ui32);
    3507     AssertRCReturn(rc, rc);
     3490    AssertLogRelRCReturn(rc, rc);
    35083491
    35093492    /* Save svc buffers info */
    35103493    {
    35113494        rc = SSMR3GetU32(pSSM, &ui32);
    3512         AssertRCReturn(rc, rc);
    3513 
    3514         if (ui32)
    3515         {
    3516             WARN(("unexpected data1"));
    3517             return VERR_SSM_UNEXPECTED_DATA;
    3518         }
     3495        AssertLogRelRCReturn(rc, rc);
     3496        AssertLogRelMsgReturn(ui32 == 0, ("Unexpected data3: %#x\n", ui32), VERR_SSM_UNEXPECTED_DATA);
    35193497
    35203498        rc = SSMR3GetU32(pSSM, &ui32);
    3521         AssertRCReturn(rc, rc);
    3522 
    3523         if (ui32)
    3524         {
    3525             WARN(("unexpected data1"));
    3526             return VERR_SSM_UNEXPECTED_DATA;
    3527         }
     3499        AssertLogRelRCReturn(rc, rc);
     3500        AssertLogRelMsgReturn(ui32 == 0, ("Unexpected data4: %#x\n", ui32), VERR_SSM_UNEXPECTED_DATA);
    35283501    }
    35293502
    35303503    /* End */
    3531     rc = SSMR3GetStrZEx(pSSM, psz, 2000, NULL);
    3532     AssertRCReturn(rc, rc);
    3533     if (strcmp(gszVBoxOGLSSMMagic, psz))
    3534     {
    3535         WARN(("unexpected data"));
    3536         return VERR_SSM_UNEXPECTED_DATA;
    3537     }
     3504    rc = SSMR3GetStrZEx(pSSM, szBuf, sizeof(szBuf), NULL);
     3505    AssertLogRelRCReturn(rc, rc);
     3506    AssertLogRelMsgReturn(!strcmp(gszVBoxOGLSSMMagic, szBuf), ("Unexpected data5: '%s'\n", szBuf), VERR_SSM_UNEXPECTED_DATA);
    35383507
    35393508    return VINF_SUCCESS;
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