Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

X-Series Blue Screen of Death when running background generations using EveryNSamples

Hi,

 

I'm getting a Blue Screen of Death when running X-Series device NI PCIe-6363 (physical device) in the background using EveryNSamples callbacks.

It works in simulated mode.

 

The same code works with M-Series devices.

 

The attached code is adapted from the NIDAQmx ANSI C Example program "ContAcq-IntClk-EveryNSamplesEvent.c" to reproduce the blue screen of death.

The code calls 'runTest' the first time passes, the 2nd time crashes the windows.

 

OTHER DETAILS:
* Requires PCIe-6363 physical hardware.
* The crash does not happen if the device is simulated.
* The crash does not happen with any CompactDAQ modules.
* The crash does not happen with any M-Series, E-Series, or B-Series devices.
* Running on 32 bit, WinXP platform.
* NIDAQmx Driver Version: 9.2.3f1.

 

Thanks,

    Wael Hemdan,

    The MathWorks

0 Kudos
Message 1 of 5
(3,202 Views)

Hell Wael,

 

Thank you for reporting this.  I have given your discription and code to our R&D team and we are actively investigating this under Corrective Action Request # 287556.

 

Have you seen this BSOD in other versions of NI-DAQmx?

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 2 of 5
(3,169 Views)

Hi,

 

I was getting the BSOD with NIDAQmx driver version 9.2.1 but I had much more complex code, and was changing the buffer size between runs.

I upgraded to NIDAQmx driver version 9.2.3 as this is the latest version and was still getting the BSOD. Then I created the attached sample code to reproduce the BSOD with simpler code.

 

Were you able to reproduce the problem?

 

Thanks,

   - Wael

0 Kudos
Message 3 of 5
(3,165 Views)

We have been able to reproduce this issue here.  We are currently investigating possible workarounds as well as a fix for the issue.  I'll keep you posted.

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 4 of 5
(3,156 Views)

We've determined that the best work around is to use the DAQmxTaskControl function to reserve and then unreserve the loop every iteration.  We believe we may be able to have this issue fixed in an upcoming driver release.

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 5 of 5
(3,100 Views)