VirtualBox

Changeset 80125 in vbox for trunk/src/VBox/ValidationKit


Ignore:
Timestamp:
Aug 5, 2019 9:13:13 AM (5 years ago)
Author:
vboxsync
Message:

vsheriff: Better detect VM process SIGSEGVs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py

    r80123 r80125  
    10151015          'Error: failed to start machine. Error message: Not supported. (VERR_NOT_SUPPORTED)' ),
    10161016        ( False, ktReason_Unknown_VM_Crash,                         'txsDoConnectViaTcp: Machine state: Aborted' ),
    1017         ( False, ktReason_Unknown_VM_Crash,                         ') exited normally: -1073741819 (0xc0000005)' ),
    1018         ( False, ktReason_Unknown_VM_Crash,                         ') was signalled: 11 (0xb)' ),
    10191017        ( True,  ktReason_Host_Modprobe_Failed,                     'Kernel driver not installed' ),
    10201018        ( True,  ktReason_OSInstall_Sata_no_BM,                     'PCHS=14128/14134/8224' ),
     
    10981096    ];
    10991097
     1098    ## Things we search a VBoxSVC log for to figure out why something went bust.
     1099    katSimpleSvcLogReasons = [
     1100        # ( Whether to stop on hit, reason tuple, needle text. )
     1101        ( False, ktReason_Unknown_VM_Crash,                         ') exited normally: -1073741819 (0xc0000005)' ),
     1102        ( False, ktReason_Unknown_VM_Crash,                         ') was signalled: 11 (0xb)' ),
     1103    ];
     1104
     1105
    11001106    def investigateVMResult(self, oCaseFile, oFailedResult, sResultLog):
    11011107        """
     
    11071113            Investigates the current set of VM related logs.
    11081114            """
    1109             self.dprint('investigateLogSet: log lengths: result %u, VM %u, kernel %u, vga text %u, info text %u, hard %u'
     1115            self.dprint('investigateLogSet: log lengths: result %u, VM %u, kernel %u, vga text %u, info text %u, hard %u, SVC %u'
    11101116                        % ( len(sResultLog if sResultLog else ''),
    11111117                            len(sVMLog     if sVMLog else ''),
     
    11131119                            len(sVgaText   if sVgaText else ''),
    11141120                            len(sInfoText  if sInfoText else ''),
    1115                             len(sNtHardLog if sNtHardLog else ''), ));
     1121                            len(sNtHardLog if sNtHardLog else ''),
     1122                            len(sSvcLog    if sSvcLog else ''), ));
    11161123
    11171124            #self.dprint(u'main.log<<<\n%s\n<<<\n' % (sResultLog,));
     
    11931200                        fFoundSomething = True;
    11941201
     1202            # Check VBoxSVC.log.
     1203            if sSvcLog is not None:
     1204                for fStopOnHit, tReason, sNeedle in self.katSimpleSvcLogReasons:
     1205                    if sSvcLog.find(sNeedle) > 0:
     1206                        oCaseFile.noteReasonForId(tReason, oFailedResult.idTestResult);
     1207                        if fStopOnHit:
     1208                            return True;
     1209                        fFoundSomething = True;
     1210
    11951211            #
    11961212            # Complicated stuff.
     
    12391255        sVgaText    = None;
    12401256        sInfoText   = None;
     1257        sSvcLog     = None;
    12411258        for oFile in oFailedResult.aoFiles:
    12421259            if oFile.sKind == TestResultFileData.ksKind_LogReleaseVm:
     
    12511268                    sScreenHash = None;
    12521269                    sNtHardLog  = None;
     1270                    sSvcLog     = None;
    12531271                    sVMLog      = oCaseFile.getLogFile(oFile);
    12541272                else:
     
    12601278            elif oFile.sKind == TestResultFileData.ksKind_InfoCollection:
    12611279                sInfoText = oCaseFile.getLogFile(oFile);
     1280            elif oFile.sKind == TestResultFileData.ksKind_LogReleaseSvc:
     1281                sSvcLog   = oCaseFile.getLogFile(oFile);
    12621282            elif oFile.sKind == TestResultFileData.ksKind_ScreenshotFailure:
    12631283                sScreenHash = oCaseFile.getScreenshotSha256(oFile);
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