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

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 3.6.3, 3.7.1
    • Testing Infrastructure
    • None
    • Fully Compatible
    • ALL
    • v3.6
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: