09-16-2013 08:37 AM
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/
09-17-2013 10:32 AM
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.
09-17-2013 10:59 AM
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
09-17-2013 12:15 PM
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.
09-17-2013 04:27 PM
Is there data loss and/or data corruption associated with the error?
09-17-2013 04:58 PM
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.
09-18-2013 01:21 PM
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.
10-04-2013 08:59 AM
Service request #7391394 was opened to address this.