Page 1 of 2

Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Fri Jun 01, 2012 7:37 am
by ltan1
Hi,

I was trying to run ADL3.1 to process RDR granule d20120120_t2046148_e2047402 into SDR and encountered following error:
--------------------------------------------------------------------------------------------------------------------------------------------
2012/05/31 23:39:20.686.634 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::swapAggZoneOrCalDataZoneBlock(VIIRS-SCIENCE-RDR) [0x12658c90] ROOT PRO_FAIL did not find synch word 0xff000063; found 0xdeaddead instead.
from file ProCmnViirsRDRItem.cpp, line 1413
2012/05/31 23:39:20.686.656 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapMiddleOrLastSciencePkt(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL swapAggZoneOrCalDataZoneBlock() call from file ProCmnViirsRDRItem.cpp, line 1062
2012/05/31 23:39:20.686.676 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapScienceAP(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapMiddleOrLastSciencePkt() call from file ProCmnViirsRDRItem.cpp, line 787
2012/05/31 23:39:20.686.698 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::byteswapAPs(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapScienceAPs() call from file ProCmnViirsRDRItem.cpp, line 221
2012/05/31 23:39:20.686.741 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnRDRItem[18ProCmnViirsRDRItem]::convertEndianness(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL byteswapAPs() failed from file ProCmnRDRItem.cpp, line 804
2012/05/31 23:39:20.686.762 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnInputItem[18ProCmnViirsRDRItem]::getData(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL ProCmnInputItem::convertEndianness() failed from file ProCmnInputItem.cpp, line 197
2012/05/31 23:39:20.686.783 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnRDRItem[18ProCmnViirsRDRItem]::getData(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL superclass getData() call from file ProCmnRDRItem.cpp, line 229
2012/05/31 23:39:20.686.804 (19785.47633663677744): DBG_HIGH ProCmnMethodAudit.cpp|206|ProCmnDataItem[18ProCmnViirsRDRItem]::get(VIIRS-SCIENCE-RDR) [0x12658c90] PRO_FAIL getData() call from file ProCmnDataItem.cpp, line 552
...
---------------------------------------------------------------------------------------------------------------------------------------------

I am not sure what might be the cause. Any suggestion?

Thanks,
Liqin

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Fri Jun 01, 2012 10:56 am
by kbisanz
This sounds like a possible error in the byte swapping code. It's possible the byte count is getting off. I will download the RDR data from class and see if I can reproduce it. The swapAggZoneOrCalDataZoneBlock() method is in $ADL_HOMECMN/ProcessingIO/src/ProCmnViirsRDRItem.cpp, but the error could be just about anywhere before that. The byteswapping code is pretty long and sensitive to errors.

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Fri Jun 01, 2012 1:45 pm
by ltan1
Thanks, Kiven. Can you reproduce this error? The same kind of byte alignment errors also appeared in my RDR to SDR processing for granules d20120127_t2154 and d20120127_t2155 using the actual daily VIIRS-SDR-F-LUTs generated by Aerospace. The RDRs I used are from GRAVITE.

Liqin

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Fri Jun 01, 2012 3:21 pm
by kbisanz
I have not had a chance to try yet. I submitted my request for the data to CLASS and am waiting for it to be fulfilled. I don't have a GRAVITE account. Hopefully when I return on Monday it'll be fulfilled.

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Mon Jun 04, 2012 10:51 am
by gfireman
Hi, Liqin -
ProCmnMethodAudit.cpp|206|ProCmnViirsRDRItem[18ProCmnViirsRDRItem]::swapAggZoneOrCalDataZoneBlock(VIIRS-SCIENCE-RDR) [0x12658c90] ROOT PRO_FAIL did not find synch word 0xff000063; found 0xdeaddead instead.
from file ProCmnViirsRDRItem.cpp, line 1413
We've had the same error; it can occur when VIIRS-SCIENCE-RDR packets are missing from the leading, center or trailing granule.

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Wed Jun 06, 2012 3:59 pm
by kbisanz
We've looked at the issue and agree it's a problem in the byte swapping code. I was going to try to reproduce it, but then talked with another person and looked at the code and the problem seemed pretty obvious so I didn't go any farther. I've written a PCR for the issue. It's PCR030878. I'm not sure if you can see that through Common CM or not.

Like gfireman stated, this can occur when the VIIRS-SCIENCE-RDR is missing packets. I am not sure exactly when that issue will be worked. We're still trying to judge the priority.

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Wed Jun 06, 2012 4:38 pm
by ltan1
Hi, Kevin,

Thanks for your quick response. It's good new to identified the code error. Can you point me to the location of the PCR030878 you submitted on Common CM?

Liqin

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Wed Jun 06, 2012 4:45 pm
by ltan1
Gwyn,

Thank you for your help on this issue too! Hope the bug fix can be include the Ops code and ADL soon.

Liqin

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Wed Jun 06, 2012 6:21 pm
by kbisanz
On the Common CM portal, there should be some training that shows how to check a PCR.

I just checked the status on our internal PCR system and it's still in the submitted state. So it hasn't been assigned to anyone to work yet.

I talked with the PCR manager and the plan is to work the PCR "soon" and provide a patch for ADL 4.0

Re: Run time error in swapAggZoneOrCalDataZoneBlock() call

Posted: Thu Jun 07, 2012 6:59 pm
by ltan1
Kevin,

I found the PCR you submitted on 6/6 on Common CM and read your description of the problem which is very helpful.

Regards.
Liqin