Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
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
|