From 58b48aefe2fa81ba7909abc9dfc4083bf7e3717f Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 12:08:46 +0200 Subject: [PATCH 01/13] changed the file max to test for 9m and trying to fix packetloss print --- slsReceiverSoftware/include/sls_receiver_defs.h | 2 +- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/slsReceiverSoftware/include/sls_receiver_defs.h b/slsReceiverSoftware/include/sls_receiver_defs.h index e37639b07..1d93459df 100755 --- a/slsReceiverSoftware/include/sls_receiver_defs.h +++ b/slsReceiverSoftware/include/sls_receiver_defs.h @@ -23,7 +23,7 @@ typedef int int32_t; #define MAX_FRAMES_PER_FILE 20000 #define SHORT_MAX_FRAMES_PER_FILE 100000 #define MOENCH_MAX_FRAMES_PER_FILE 1000 -#define EIGER_MAX_FRAMES_PER_FILE 2000 +#define EIGER_MAX_FRAMES_PER_FILE 5 #define JFRAU_MAX_FRAMES_PER_FILE 2000 #define JFCTB_MAX_FRAMES_PER_FILE 100000 diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 5823220be..082e1dcd1 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1572,13 +1572,16 @@ int UDPStandardImplementation::createNewFile(int ithread){ frameNumberInPreviousFile[ithread] = -1; cout << "Thread " << ithread << " File:" << completeFileName[ithread] << endl; }else{ + if(frameNumberInPreviousFile[ithread] == -1) + frameNumberInPreviousFile[ithread] = startFrameIndex - 1; + cout //<< "Packet Loss:" << //setw(4)< Date: Tue, 25 Oct 2016 12:16:38 +0200 Subject: [PATCH 02/13] trying to fix packetloss print --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 082e1dcd1..4b24fe79e 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1573,7 +1573,7 @@ int UDPStandardImplementation::createNewFile(int ithread){ cout << "Thread " << ithread << " File:" << completeFileName[ithread] << endl; }else{ if(frameNumberInPreviousFile[ithread] == -1) - frameNumberInPreviousFile[ithread] = startFrameIndex - 1; + frameNumberInPreviousFile[ithread] = startFrameIndex; cout //<< "Packet Loss:" << @@ -2632,7 +2632,7 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ if(totalWritingPacketCount[ithread]){ if(frameNumberInPreviousFile[ithread]==-1) - frameNumberInPreviousFile[ithread] = startFrameIndex - 1; + frameNumberInPreviousFile[ithread] = startFrameIndex; cout << "\nThread " << ithread << "\tFile:" << completeFileName[ithread] < Date: Tue, 25 Oct 2016 12:26:53 +0200 Subject: [PATCH 03/13] trying to fix packetloss print --- .../src/UDPStandardImplementation.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 4b24fe79e..714a1928f 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1575,18 +1575,25 @@ int UDPStandardImplementation::createNewFile(int ithread){ if(frameNumberInPreviousFile[ithread] == -1) frameNumberInPreviousFile[ithread] = startFrameIndex; - cout + printf("\nThread %d\tFile:%s\n" + "\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + ithread,completeFileName[ithread], + ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), + currentFrameNumber[ithread],frameNumberInPreviousFile[ithread]); + /* + cout << "\nThread " << ithread << "\tFile:" << completeFileName[ithread] < Date: Tue, 25 Oct 2016 12:29:56 +0200 Subject: [PATCH 04/13] trying to fix packetloss print --- .../src/UDPStandardImplementation.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 714a1928f..e69cee168 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1575,9 +1575,10 @@ int UDPStandardImplementation::createNewFile(int ithread){ if(frameNumberInPreviousFile[ithread] == -1) frameNumberInPreviousFile[ithread] = startFrameIndex; - printf("\nThread %d\tFile:%s\n" - "\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + printf("\nThread:%d File:%s\n" + "\totalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", ithread,completeFileName[ithread], + totalPacketsInFile[ithread], ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), currentFrameNumber[ithread],frameNumberInPreviousFile[ithread]); /* @@ -1587,10 +1588,6 @@ int UDPStandardImplementation::createNewFile(int ithread){ //dec << (int)((( (currentFrameNumber-1-previousFrameNumber) - ((packetsInFile-numTotMissingPacketsInFile)/packetsPerFrame))/ // (double)(currentFrameNumber-1-previousFrameNumber))*100.000) //<< "%\t" - cout<< "\tPackets Lost:" << dec << ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - - totalPacketsInFile[ithread]) - << "\tCurrentFrameNumber:" << currentFrameNumber[ithread] - << "\tPreviousFrameNumber:" << frameNumberInPreviousFile[ithread] //<< "\tIndex:" << dec << index << endl; */ @@ -2640,9 +2637,11 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ if(totalWritingPacketCount[ithread]){ if(frameNumberInPreviousFile[ithread]==-1) frameNumberInPreviousFile[ithread] = startFrameIndex; - printf("\nThread %d\tFile:%s\n" - "\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + + printf("\nThread:%d File:%s\n" + "\totalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", ithread,completeFileName[ithread], + totalPacketsInFile[ithread], ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), currentFrameNumber[ithread],frameNumberInPreviousFile[ithread]); /* @@ -2652,10 +2651,6 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ //dec << (int)((( (currentFrameNumber-1-previousFrameNumber) - ((packetsInFile-numTotMissingPacketsInFile)/packetsPerFrame))/ // (double)(currentFrameNumber-1-previousFrameNumber))*100.000) //<< "%\t" - cout << "\tPackets Lost:" << dec << ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - - totalPacketsInFile[ithread]) - << "\tCurrentFrameNumber:" << currentFrameNumber[ithread] - << "\tPreviousFrameNumber:" << frameNumberInPreviousFile[ithread] //<< "\tIndex:" << dec << index << endl; */ From 38b2a272ee865861f20466f4208e0588e72eed50 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 13:14:25 +0200 Subject: [PATCH 05/13] trying to fix packetloss print --- .../src/UDPStandardImplementation.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index e69cee168..ee1baf1b5 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -2733,20 +2733,10 @@ void UDPStandardImplementation::handleWithoutDataCompression(int ithread, char* return; } - //update current frame number - currentFrameNumber[ithread] = tempframenumber; - - //set indices - pthread_mutex_lock(&progressMutex); - if((currentFrameNumber[ithread] - startAcquisitionIndex) > acquisitionIndex) - acquisitionIndex = currentFrameNumber[ithread] - startAcquisitionIndex; - if((currentFrameNumber[ithread] - startFrameIndex) > frameIndex[ithread]) - frameIndex[ithread] = currentFrameNumber[ithread] - startFrameIndex; - pthread_mutex_unlock(&progressMutex); //callback to write data if (cbAction < DO_EVERYTHING) - rawDataReadyCallBack((int)currentFrameNumber[ithread], wbuffer + HEADER_SIZE_NUM_TOT_PACKETS, npackets * onePacketSize, + rawDataReadyCallBack((int)tempframenumber, wbuffer + HEADER_SIZE_NUM_TOT_PACKETS, npackets * onePacketSize, sfilefd[ithread], latestData[ithread],pRawDataReady);//know which thread from sfilefd @@ -2852,6 +2842,8 @@ void UDPStandardImplementation::writeFileWithoutCompression(int ithread, char* w totalPacketsCaught += packetsWritten; pthread_mutex_unlock(&writeMutex); currentFrameNumber[ithread] += lastFrameNumberInFile[ithread]; + + } } } From 173c5b961127ac40d968707e88058d9c5be9ac19 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 13:23:49 +0200 Subject: [PATCH 06/13] trying to fix packetloss print --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index ee1baf1b5..55165c502 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1570,13 +1570,12 @@ int UDPStandardImplementation::createNewFile(int ithread){ //Print packet loss and filenames if(!totalWritingPacketCount[ithread]){ frameNumberInPreviousFile[ithread] = -1; - cout << "Thread " << ithread << " File:" << completeFileName[ithread] << endl; }else{ if(frameNumberInPreviousFile[ithread] == -1) frameNumberInPreviousFile[ithread] = startFrameIndex; printf("\nThread:%d File:%s\n" - "\totalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + "\ttotalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", ithread,completeFileName[ithread], totalPacketsInFile[ithread], ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), @@ -2639,7 +2638,7 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ frameNumberInPreviousFile[ithread] = startFrameIndex; printf("\nThread:%d File:%s\n" - "\totalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + "\ttotalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", ithread,completeFileName[ithread], totalPacketsInFile[ithread], ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), From 0fddcd162d1dc7c6bc60847f92a08a0c3ada9180 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 13:26:35 +0200 Subject: [PATCH 07/13] trying to fix packetloss print --- .../src/UDPStandardImplementation.cpp | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 55165c502..e67d4246d 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1528,12 +1528,6 @@ int UDPStandardImplementation::setupWriter(){ int UDPStandardImplementation::createNewFile(int ithread){ FILE_LOG(logDEBUG) << __AT__ << " called"; - int index = 0; - if(totalWritingPacketCount[ithread]){ - index = frameIndex[ithread]; - cout << "\nThread " << ithread << "\tFile:" << completeFileName[ithread] < Date: Tue, 25 Oct 2016 13:29:17 +0200 Subject: [PATCH 08/13] trying to fix packetloss print --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index e67d4246d..d25ee21f2 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1564,7 +1564,7 @@ int UDPStandardImplementation::createNewFile(int ithread){ //Print packet loss and filenames if(!totalWritingPacketCount[ithread]){ frameNumberInPreviousFile[ithread] = -1; - printf("\nThread:%d File:%s\n",ithread,completeFileName[ithread]); + printf("Thread:%d File:%s\n",ithread,completeFileName[ithread]); }else{ if(frameNumberInPreviousFile[ithread] == -1) frameNumberInPreviousFile[ithread] = startFrameIndex; @@ -2816,6 +2816,7 @@ void UDPStandardImplementation::writeFileWithoutCompression(int ithread, char* w totalPacketsCaught += packetsWritten; pthread_mutex_unlock(&writeMutex); currentFrameNumber[ithread] += lastFrameNumberInFile[ithread]; + if(!ithread)cprintf(BLUE,"currentFrameNumber[ithread]:%d\n",currentFrameNumber[ithread]); } From 636d5840aa783a1721791905d2f0691ada19e68d Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 13:31:11 +0200 Subject: [PATCH 09/13] trying to fix packetloss print --- slsReceiverSoftware/src/UDPStandardImplementation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index d25ee21f2..e5cce450f 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1567,7 +1567,7 @@ int UDPStandardImplementation::createNewFile(int ithread){ printf("Thread:%d File:%s\n",ithread,completeFileName[ithread]); }else{ if(frameNumberInPreviousFile[ithread] == -1) - frameNumberInPreviousFile[ithread] = startFrameIndex; + frameNumberInPreviousFile[ithread] = startFrameIndex -1; printf("\nThread:%d File:%s\n" "\ttotalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", @@ -2620,7 +2620,7 @@ void UDPStandardImplementation::stopWriting(int ithread, char* wbuffer){ if(totalWritingPacketCount[ithread]){ if(frameNumberInPreviousFile[ithread]==-1) - frameNumberInPreviousFile[ithread] = startFrameIndex; + frameNumberInPreviousFile[ithread] = startFrameIndex-1; printf("\nThread:%d File:%s\n" "\ttotalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", From 7b36c63d8f6a5f4824d9f73cd9d177761ed17499 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 25 Oct 2016 14:08:31 +0200 Subject: [PATCH 10/13] fixed packetloss print --- .../include/sls_receiver_defs.h | 2 +- .../src/UDPStandardImplementation.cpp | 31 +++++++++++-------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/slsReceiverSoftware/include/sls_receiver_defs.h b/slsReceiverSoftware/include/sls_receiver_defs.h index 1d93459df..e37639b07 100755 --- a/slsReceiverSoftware/include/sls_receiver_defs.h +++ b/slsReceiverSoftware/include/sls_receiver_defs.h @@ -23,7 +23,7 @@ typedef int int32_t; #define MAX_FRAMES_PER_FILE 20000 #define SHORT_MAX_FRAMES_PER_FILE 100000 #define MOENCH_MAX_FRAMES_PER_FILE 1000 -#define EIGER_MAX_FRAMES_PER_FILE 5 +#define EIGER_MAX_FRAMES_PER_FILE 2000 #define JFRAU_MAX_FRAMES_PER_FILE 2000 #define JFCTB_MAX_FRAMES_PER_FILE 100000 diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index e5cce450f..433e777ef 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1570,11 +1570,15 @@ int UDPStandardImplementation::createNewFile(int ithread){ frameNumberInPreviousFile[ithread] = startFrameIndex -1; printf("\nThread:%d File:%s\n" - "\ttotalpacketsinfile:%d\tPackets Lost:%d\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld\n", + //"\ttotalpacketsinfile:%d\t" + "Packets Lost:%d" + //"\tCurrentFrameNumber:%lld\tPreviousFrameNumber:%lld" + "\n", ithread,completeFileName[ithread], - totalPacketsInFile[ithread], - ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]), - currentFrameNumber[ithread],frameNumberInPreviousFile[ithread]); + //totalPacketsInFile[ithread], + ( ((int)(currentFrameNumber[ithread]-frameNumberInPreviousFile[ithread])*packetsPerFrame) - totalPacketsInFile[ithread]) + //,currentFrameNumber[ithread],frameNumberInPreviousFile[ithread] + ); } //write file header @@ -2251,7 +2255,7 @@ void UDPStandardImplementation::stopListening(int ithread, int numbytes){ listeningThreadsMask^=(1< Date: Thu, 27 Oct 2016 08:50:44 +0200 Subject: [PATCH 11/13] root receiver crashing bug resolved --- .../src/UDPStandardImplementation.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/slsReceiverSoftware/src/UDPStandardImplementation.cpp b/slsReceiverSoftware/src/UDPStandardImplementation.cpp index 433e777ef..03754d0f8 100644 --- a/slsReceiverSoftware/src/UDPStandardImplementation.cpp +++ b/slsReceiverSoftware/src/UDPStandardImplementation.cpp @@ -1402,12 +1402,14 @@ void UDPStandardImplementation::setThreadPriorities(){ break; } } - for(int i = 0; i < numberofDataCallbackThreads; ++i){ - if(rights) - if (pthread_setschedparam(dataCallbackThreads[i], SCHED_RR, &datacallback_param) == EPERM){ - rights = false; - break; - } + if(dataStreamEnable){ + for(int i = 0; i < numberofDataCallbackThreads; ++i){ + if(rights) + if (pthread_setschedparam(dataCallbackThreads[i], SCHED_RR, &datacallback_param) == EPERM){ + rights = false; + break; + } + } } if (pthread_setschedparam(pthread_self(),5 , &tcp_param) == EPERM) rights = false; From e908beb38a151f9d177de7d844fd918ab17a0825 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 27 Oct 2016 09:17:44 +0200 Subject: [PATCH 12/13] 9m try shutdown of client socket before close --- slsReceiverSoftware/include/genericSocket.h | 1 + 1 file changed, 1 insertion(+) diff --git a/slsReceiverSoftware/include/genericSocket.h b/slsReceiverSoftware/include/genericSocket.h index 91debdec1..07f1e30e2 100644 --- a/slsReceiverSoftware/include/genericSocket.h +++ b/slsReceiverSoftware/include/genericSocket.h @@ -446,6 +446,7 @@ enum communicationProtocol{ close(file_des); } else { + ShutDownSocket(); close(socketDescriptor); socketDescriptor=-1; } From 434fa863d0ab39803610279d76f0984c160726c3 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 27 Oct 2016 09:48:04 +0200 Subject: [PATCH 13/13] shutdown bug --- slsReceiverSoftware/include/genericSocket.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slsReceiverSoftware/include/genericSocket.h b/slsReceiverSoftware/include/genericSocket.h index 07f1e30e2..0fad365fe 100644 --- a/slsReceiverSoftware/include/genericSocket.h +++ b/slsReceiverSoftware/include/genericSocket.h @@ -446,7 +446,7 @@ enum communicationProtocol{ close(file_des); } else { - ShutDownSocket(); + while(!shutdown(socketDescriptor, SHUT_RDWR)); close(socketDescriptor); socketDescriptor=-1; }