Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Linux NI-RIO 4.0 NiFpga_ReadFifoU8 Returning Undocumented Error -52008

RHEL 5.7 64-bit, NI-RIO 4.0 for Linux, PXIe-7965R.

 

On occasion the NiFpga_ReadFifoU8 function is returning error -52008. This error is not documented anywhere. It is momentary in that the prior call works and the subsequent calls may also work. Due to the nature of our application I need to know what this means.

 

Error list that is missing -52008.

http://zone.ni.com/reference/en-XX/help/372928C-01/capi/errors/

 

0 Kudos
Message 1 of 8
(6,718 Views)

Hello wbdoyle,

 

 

According to LabVIEW Explain Error tool, this error states:

"Error -52008 occurred at an unidentified location

 

Possible reason(s):

NI Platform Services: An unexpected operating system error occurred."

 

Which LabVIEW version you are using? Also, I was reading the Readme file from the NI RIO 4.0: 

 

"NI-RIO does not support systems with memory or memory-mapped devices beyond the
first 4 GB of physical address space. NI-RIO will fail to load if it detects
hardware beyond this address limit. To ensure the successful operation of
National Instruments RIO products, you must use a kernel configuration that
recognizes only up to 4 GB of physical memory."

Please make sure that your computer meets this requirement.

 

 

Carmen C.

 

0 Kudos
Message 2 of 8
(6,684 Views)

Hello wbdoyle,

 

This is an internal error, which generally means that it's a system issue of some sort (as opposed to the result of an application bug). I don't have any theories yet as to what's going on, but I'll look at the code to see what situations can result in this error.

 

To help with that, can you tell me anything more about your application? In what context is NiFpga_ReadFifoU8 being called? How often does the issue reproduce? Are there any circumstances that seem to correlated with error -52008? Are there any other C API calls or NI hardware in your application?

 

Thanks,

 

Sebastian

 

 

0 Kudos
Message 3 of 8
(6,682 Views)

The firmware implements a serial I/O and the NiFpga_ReadFifoU8 is called up to 200 times per sec. Other than that only NiFpga_WriteFifoU8 calls are occurring. No other observable problems occur at the time of the error. All other calls to setup the card and FIFOs already occur prior to reading and writing FIFOs. The error is very infrequent. We can run for 2 hrs, see the error, then it goes away on the next call. We may not see the error at all one day or may happen two or 3 times the next day.

 

The bit file was generated by LabVIEW 2010 SP1. We're not running LabVIEW on Linux and instead link in a C application using the C API to NI-RIO for Linux. This is not a case of NI-RIO not working at all so the 4gb mem mapping limitation isn't a factor.

 

I'm wondering if this is a case of kernel modules (NI-RIO and other vendors) still using the BKL (big kernel lock) mechanisms. I believe NI-RIO was updated in in version 12 to remove use of BKLs. We been working to update other vendor drivers that still use the BLK. If the -52008 can be explained by BKL usage let me know.

0 Kudos
Message 4 of 8
(6,671 Views)

Is there data loss and/or data corruption associated with the error?

0 Kudos
Message 5 of 8
(6,660 Views)

No, no data loss detected yet. The framing we use would make it obvious. We just have to wait until the next successful call. We're extending post error runtime for the next occurrence just to make sure we don't have data loss/corruption.

0 Kudos
Message 6 of 8
(6,658 Views)

Unfortunately, nothing in the code jumped out at me as the likey cause. At this point, it'd be best if you could open a service request by going to http://www.ni.com/support/. If you could post the SR number in this thread, I'll be sure to stay invovled.

 

0 Kudos
Message 7 of 8
(6,626 Views)

Service request #7391394 was opened to address this.

0 Kudos
Message 8 of 8
(6,536 Views)