VirtualBox

Changeset 43052 in vbox for trunk/src/VBox/Main/src-client


Ignore:
Timestamp:
Aug 28, 2012 3:59:13 PM (12 years ago)
Author:
vboxsync
Message:

Main/GuestSessionImplTasks: Set a higher timeout for Windows Guest Additions setup, error handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/GuestSessionImplTasks.cpp

    r43034 r43052  
    150150    {
    151151        HRESULT hr2 = mProgress->notifyComplete(hr,
    152                                                COM_IIDOF(IGuestSession),
    153                                                GuestSession::getStaticComponentName(),
    154                                                strMsg.c_str());
     152                                                COM_IIDOF(IGuestSession),
     153                                                GuestSession::getStaticComponentName(),
     154                                                strMsg.c_str());
    155155        if (FAILED(hr2))
    156156            return hr2;
     
    841841        rc = pProcess->waitFor(ProcessWaitForFlag_Terminate,
    842842                               10 * 60 * 1000 /* 10 mins Timeout */, waitRes);
     843        LogFlowThisFunc(("waitFor rc=%Rrc, waitRes=%ld\n", rc, waitRes));
    843844        if (waitRes.mResult == ProcessWaitResult_Terminate)
    844845        {
     
    863864        else
    864865        {
     866            /** @todo Unify error handling. */
    865867            if (RT_FAILURE(rc))
     868            {
    866869                setProgressErrorMsg(VBOX_E_IPRT_ERROR,
    867870                                    Utf8StrFmt(GuestSession::tr("Error while waiting running %s: %Rrc"),
    868871                                               procInfo.mName.c_str(), rc));
     872            }
    869873            else
    870874            {
    871                 setProgressErrorMsg(VBOX_E_IPRT_ERROR, pProcess->errorMsg());
     875                if (pProcess->errorMsg().isEmpty())
     876                {
     877                    setProgressErrorMsg(VBOX_E_IPRT_ERROR,
     878                                        Utf8StrFmt(GuestSession::tr("Running %s returned unexpectedly with status %ld"),
     879                                                   procInfo.mName.c_str(), waitRes.mResult));
     880                }
     881                else
     882                    setProgressErrorMsg(VBOX_E_IPRT_ERROR, pProcess->errorMsg());
    872883                rc = VERR_GENERAL_FAILURE; /* Fudge. */
    873884            }
     
    11401151                        GuestProcessStartupInfo siInstaller;
    11411152                        siInstaller.mName = "VirtualBox Windows Guest Additions Installer";
     1153                        /* Set a running timeout of 5 minutes -- the Windows Guest Additions
     1154                         * setup can take quite a while, so be on the safe side. */
     1155                        siInstaller.mTimeoutMS = 5 * 60 * 1000;
    11421156                        siInstaller.mArguments.push_back(Utf8Str("/S")); /* We want to install in silent mode. */
    11431157                        siInstaller.mArguments.push_back(Utf8Str("/l")); /* ... and logging enabled. */
     
    11921206                        {
    11931207                            hr = setProgressErrorMsg(VBOX_E_IPRT_ERROR,
    1194                                                       Utf8StrFmt(GuestSession::tr("Error while copying file \"%s\" to \"%s\" on the guest: %Rrc"),
    1195                                                                  itFiles->strSource.c_str(), itFiles->strDest.c_str(), rc));
     1208                                                     Utf8StrFmt(GuestSession::tr("Error while copying file \"%s\" to \"%s\" on the guest: %Rrc"),
     1209                                                                itFiles->strSource.c_str(), itFiles->strDest.c_str(), rc));
    11961210                            break;
    11971211                        }
     
    12261240                        rc = runFileOnGuest(pSession, itFiles->mProcInfo);
    12271241                        if (RT_FAILURE(rc))
    1228                         {
    1229                             hr = setProgressErrorMsg(VBOX_E_IPRT_ERROR,
    1230                                                       Utf8StrFmt(GuestSession::tr("Error while running installer file \"%s\" on the guest: %Rrc"),
    1231                                                                  itFiles->strDest.c_str(), rc));
    12321242                            break;
    1233                         }
    12341243                    }
    12351244
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