Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-32197

Remote host is missing the debug symbols for hang_analyzer in evergreen.yml

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.3, 3.7.1
    • Component/s: Testing Infrastructure
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.6
    • Sprint:
      TIG 2018-1-1, TIG 2017-12-18

      Description

      The debug symbol files should be copied over to the remote host during the timeout phase, as that is when they are fetched. This can be corrected as follows in that phase, before invoking the remote hang_analyzer:

                # Copy mongoDB debug symbols to the remote host.
                debug_files=$(ls *.debug *.dSYM *.pdb 2> /dev/null)
                for debug_file in $debug_files
                do
                  file_param="$file_param --file $debug_file"
                done
                if [ ! -z "$file_param" ]; then
                  ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/remote_operations.py \
                    --verbose                                        \
                    --userHost $USER@${ip_address}                   \
                    --operation "copy_to"                            \
                    --sshConnectionOptions "$ssh_connection_options" \
                    --retries ${ssh_retries}                         \
                    $file_param                                      \
                    --remoteDir $remote_dir
                fi
      

      The other part of this fix is to modify this code from "set up EC2 instance" as these debug symbols files are not fetched and therefore never copied:

                # Copy buildscripts, mongoDB executables and debug symbols to the remote host.
                file_param="--file buildscripts"
                mongo_executables="mongo mongod mongos"
                file_extensions=".debug .dSYM .pdb"
                for executable in $mongo_executables
                do
                  file_param="$file_param --file $executable${exe}"
                  for extension in $file_extensions
                  do
                    file=$executable$extension
                    if [[ -f $file || -d $file ]]; then
                      file_param="$file_param --file $file"
                    fi
                  done
                done
      

      to

                # Copy buildscripts and mongoDB executables to the remote host.
                file_param="--file buildscripts"
                mongo_executables="mongo mongod mongos"
                for executable in $mongo_executables
                do
                  file_param="$file_param --file $executable${exe}"
                done
      

        Attachments

          Activity

            People

            Assignee:
            jonathan.abrahams Jonathan Abrahams
            Reporter:
            jonathan.abrahams Jonathan Abrahams
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: