diff --git a/ci-scripts/buildOnVM.sh b/ci-scripts/buildOnVM.sh index f9fb3b776f2ed3cba130c1a27203c9d68888bd17..ad77d39eb785d39462d3b34a822843babdbe5b97 100755 --- a/ci-scripts/buildOnVM.sh +++ b/ci-scripts/buildOnVM.sh @@ -94,14 +94,21 @@ function build_on_vm { echo "############################################################" echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base" echo "############################################################" + acquire_vm_create_lock uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml - fi + echo "Waiting for VM to be started" + uvt-kvm wait $VM_NAME --insecure - echo "Waiting for VM to be started" - uvt-kvm wait $VM_NAME --insecure + VM_IP_ADDR=`uvt-kvm ip $VM_NAME` + echo "$VM_NAME has for IP addr = $VM_IP_ADDR" + release_vm_create_lock + else + echo "Waiting for VM to be started" + uvt-kvm wait $VM_NAME --insecure - VM_IP_ADDR=`uvt-kvm ip $VM_NAME` - echo "$VM_NAME has for IP addr = $VM_IP_ADDR" + VM_IP_ADDR=`uvt-kvm ip $VM_NAME` + echo "$VM_NAME has for IP addr = $VM_IP_ADDR" + fi echo "############################################################" echo "Copying GIT repo into VM ($VM_NAME)" diff --git a/ci-scripts/cppcheck_suppressions.list b/ci-scripts/cppcheck_suppressions.list index d5aea7ae9d76b0230c9a8252d0653ee0e25876ae..007d8555e2a1f427d3e59b39948768bc2f0a9643 100644 --- a/ci-scripts/cppcheck_suppressions.list +++ b/ci-scripts/cppcheck_suppressions.list @@ -67,6 +67,15 @@ syntaxError:openair1/SIMULATION/LTE_PHY/dlsim_tm4.c // omg, otg commented out in cmakelist to be cleaned up definitely? arrayIndexOutOfBounds:openair2/UTIL/OMG/omg.c uninitvar:openair2/UTIL/OTG/otg_rx_socket.c +//----------------------------------------------------------------------------- +// cppcheck is not able to understand that buf is initialized at the first +// iteration of the loop. +nullPointer:common/utils/T/local_tracer.c:243 +//----------------------------------------------------------------------------- +// once again cppcheck is not to understand that fds is initialized in the +// first iteration of the loop +nullPointer:common/utils/T/tracer/multi.c:264 +nullPointer:common/utils/T/tracer/multi.c:265 // //***************************************************************************** // diff --git a/ci-scripts/createVM.sh b/ci-scripts/createVM.sh index 192008d86723d357f7a6dcb1d75674f3cf657377..e693b07b913eadbf5b17cca0754545c025b89e9d 100755 --- a/ci-scripts/createVM.sh +++ b/ci-scripts/createVM.sh @@ -49,6 +49,35 @@ function create_usage { echo "" } +function acquire_vm_create_lock { + local FlockFile="/tmp/vmclone.lck" + local unlocked="0" + touch ${FlockFile} 2>/dev/null + if [[ $? -ne 0 ]] + then + echo "Cannot access lock file ${FlockFile}" + exit 2 + fi + while [ $unlocked -eq 0 ] + do + exec 5>${FlockFile} + flock -nx 5 + if [[ $? -ne 0 ]] + then + echo "Another instance of VM creation is running" + sleep 10 + else + unlocked="1" + fi + done + chmod 666 ${FlockFile} 2>/dev/null +} + +function release_vm_create_lock { + local FlockFile="/tmp/vmclone.lck" + rm -Rf ${FlockFile} +} + function create_vm { echo "############################################################" echo "OAI CI VM script" @@ -60,10 +89,12 @@ function create_vm { echo "############################################################" echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base" echo "############################################################" + acquire_vm_create_lock uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml echo "Waiting for VM to be started" uvt-kvm wait $VM_NAME --insecure VM_IP_ADDR=`uvt-kvm ip $VM_NAME` echo "$VM_NAME has for IP addr = $VM_IP_ADDR" + release_vm_create_lock } diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh index 9aa6606eea8a7cf7c059942218d9fae727256380..b3eac341a9185e4ab0683aac12da219b3edcc547 100755 --- a/ci-scripts/runTestOnVM.sh +++ b/ci-scripts/runTestOnVM.sh @@ -317,11 +317,18 @@ function install_epc_on_vm { echo "############################################################" echo "Creating test EPC VM ($LOC_EPC_VM_NAME) on Ubuntu Cloud Image base" echo "############################################################" + acquire_vm_create_lock uvt-kvm create $LOC_EPC_VM_NAME release=xenial --unsafe-caching + echo "Waiting for VM to be started" + uvt-kvm wait $LOC_EPC_VM_NAME --insecure + release_vm_create_lock + else + echo "Waiting for VM to be started" + uvt-kvm wait $LOC_EPC_VM_NAME --insecure fi - uvt-kvm wait $LOC_EPC_VM_NAME --insecure local LOC_EPC_VM_IP_ADDR=`uvt-kvm ip $LOC_EPC_VM_NAME` + echo "$LOC_EPC_VM_NAME has for IP addr = $LOC_EPC_VM_IP_ADDR" scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$LOC_EPC_VM_IP_ADDR:/home/ubuntu diff --git a/common/utils/T/tracer/gui/notify.c b/common/utils/T/tracer/gui/notify.c index 84fb161b6ee09421e20cb5231517fe9580dcc3d0..5798a0121985aa0535413bf1244e122bd1a08f90 100644 --- a/common/utils/T/tracer/gui/notify.c +++ b/common/utils/T/tracer/gui/notify.c @@ -46,7 +46,7 @@ void unregister_notifier(gui *_g, unsigned long notifier_id) { if (g->notifiers[i].id == notifier_id) break; if (i == g->notifiers_count) - ERR("%s:%d: notifier_id %ld not found\n", __FILE__,__LINE__,notifier_id); + ERR("%s:%d: notifier_id %lu not found\n", __FILE__,__LINE__,notifier_id); free(g->notifiers[i].notification); memmove(g->notifiers + i, g->notifiers + i + 1, diff --git a/common/utils/T/tracer/textlog.c b/common/utils/T/tracer/textlog.c index a123bf9bf518b9104d224c5a3d849c5cc690e7af..f83cc7efd3c98a421641ec49cf50200eac1cd0b6 100644 --- a/common/utils/T/tracer/textlog.c +++ b/common/utils/T/tracer/textlog.c @@ -195,5 +195,8 @@ int main(int n, char **v) handle_event(h, e); } + free(on_off_name); + free(on_off_action); + return 0; } diff --git a/common/utils/T/tracer/utils.c b/common/utils/T/tracer/utils.c index 2452254cf9167a4fbf6a4586e4370b58cdc5cae9..39e04fb9734cdd1ff8b3b7c5357a89489503fedd 100644 --- a/common/utils/T/tracer/utils.c +++ b/common/utils/T/tracer/utils.c @@ -273,6 +273,6 @@ void PUTX2(OBUF *o, int i) { void PUTUL(OBUF *o, unsigned long l) { char s[128]; - sprintf(s, "%ld", l); + sprintf(s, "%lu", l); PUTS(o, s); } diff --git a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c index 8dd41548ab3b62f915b1873acdfe84227fa425fe..5c7322e2e93963ef6a5413bbd0fcc31146892a26 100644 --- a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c +++ b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c @@ -812,9 +812,6 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form, free(bit1); free(bit_pdcch); free(llr_pdcch); - for (arx=0;arx<nb_antennas_rx;arx++) { - free(chest_t_abs[arx]); - } //This is done to avoid plotting old data when TB0 is disabled, and TB1 is mapped onto CW0 /*if (phy_vars_ue->transmission_mode[eNB_id]==3 && phy_vars_ue->transmission_mode[eNB_id]==4){ diff --git a/openair3/S1AP/s1ap_eNB_trace.c b/openair3/S1AP/s1ap_eNB_trace.c index 03c0ea4fb2c077d2b5d06110eff9e6d917c06377..543ea9c511884d4dc952a39f6232a7941441e30f 100644 --- a/openair3/S1AP/s1ap_eNB_trace.c +++ b/openair3/S1AP/s1ap_eNB_trace.c @@ -107,7 +107,7 @@ int s1ap_eNB_handle_trace_start(uint32_t assoc_id, { S1AP_TraceStart_t *container; S1AP_TraceStartIEs_t *ie; - struct s1ap_eNB_ue_context_s *ue_desc_p; + struct s1ap_eNB_ue_context_s *ue_desc_p = NULL; struct s1ap_eNB_mme_data_s *mme_ref_p; DevAssert(pdu != NULL); diff --git a/openair3/TEST/EPC_TEST/generate_scenario.c b/openair3/TEST/EPC_TEST/generate_scenario.c index b8d9d9c5885d2a0c19eea56c0d1413db046e778e..b1a3297866078ea11efe7243d485c32cb102ef67 100644 --- a/openair3/TEST/EPC_TEST/generate_scenario.c +++ b/openair3/TEST/EPC_TEST/generate_scenario.c @@ -270,7 +270,7 @@ static void enb_config_display(void) printf( " ENB CONFIG FILE CONTENT LOADED:\n"); printf( "----------------------------------------------------------------------\n"); for (i = 0; i < g_enb_properties.number; i++) { - printf( "ENB CONFIG for instance %u:\n\n", i); + printf( "ENB CONFIG for instance %d:\n\n", i); printf( "\teNB name: \t%s\n",g_enb_properties.properties[i]->eNB_name); printf( "\teNB ID: \t%"PRIu32"\n",g_enb_properties.properties[i]->eNB_id); printf( "\tCell type: \t%s\n",g_enb_properties.properties[i]->cell_type == CELL_MACRO_ENB ? "CELL_MACRO_ENB":"CELL_HOME_ENB"); diff --git a/openair3/TEST/EPC_TEST/play_scenario.c b/openair3/TEST/EPC_TEST/play_scenario.c index 5928ab017f5f2370cd671fd9347c40a580a596e2..a50eac95cffc8048994d3e19ff510269eea4b466 100644 --- a/openair3/TEST/EPC_TEST/play_scenario.c +++ b/openair3/TEST/EPC_TEST/play_scenario.c @@ -1103,7 +1103,7 @@ et_config_parse_opt_line ( fprintf(stderr, "Please provide a valid -D/--delay-on-exit argument, %s is not a valid value\n", delay_on_exit); exit(1); } - printf("Delay on exit is %u\n", delay_on_exit); + printf("Delay on exit is %d\n", (int) delay_on_exit); } break;