-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
Fully Compatible
-
ALL
-
v3.6
-
TIG 2018-1-1, TIG 2017-12-18
-
None
-
None
-
None
-
None
-
None
-
None
-
None
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