02-24-2014 09:00 AM
LabWindows 2010, running on XP.
My program has two windows, each controlled by different threads but interacting via TSQ's - The Virtual O'Scope window can operate independently, but it always is opened when the test window is opened. If I run through a whole test, things work properly. If I open the test window, which opens the VOscope window, and then immediately close it, I consistantly get a General Protection Fault in the VOSCOPE window, in cvirte.dll, which crashes the whole program. Any ideas where to look for the problem would be appreciated. I've made pretty sure that all calls to controls in the various panels are made only from the appropriate thread that created that panel - thus the TSQ's.
02-24-2014 09:49 AM
Hello pblase!
Have you tried running your CVI application in debug configuration, and enabling run-time checking (Options » Build Options » Debugging Options » Debugging level - Standard/Extended), which helps you detect invalid parameters passed to the CVI libraries.
02-24-2014 11:42 AM
Hi again, pblase!
It would also be very helpful, if you would provide the crash address (from the error dialog indicating the General Protection Fault), along with the exact version of your cvirte.dll that you are using.
Thank you!
02-25-2014 03:22 PM - edited 02-25-2014 03:45 PM
It says "General Protection Fault at 0x68466998"
Oh, and the resource tracker says that cvirte.dll takes addresses 0x68420000 - 0x68973000
The computer says that cvirte.dll is version 10.0.0.0.360, 11/8/2010.
02-25-2014 03:25 PM
Oh, and the resource tracker says that cvirte.dll takes addresses 0x68420000 - 0x68973000
02-25-2014 03:44 PM
Ok, the computer says that cvirte.dll is version 10.0.0.0.360, 11/8/2010.
02-25-2014 03:48 PM
It's in debug configuration, that option should be on but I'll check.
02-26-2014 12:22 PM - edited 02-26-2014 12:24 PM
Hello again, pblase!
The crash information you provided was very useful! We have come up with a possible cause of the crash, but we would still need your CVI program to confirm our explanation. We would kindly request from you, if you could send us a copy with a minimum setup of your CVI program, that we can build and debug on our side, in order to reproduce the issue you are experiencing. We will also try to propose a possible workaround for your the crash.
The location where you can upload the file is at ftp.ni.com/incoming
Thank you and best regards!
02-27-2014 01:18 PM
Ok, Johannes. I think that I have everything in there, please let me know if I missed a file.
Blase Level1 Test Article.zip
The ADC is a PCIe-6361 ("Dev1").
There is also a NI_DAQmx Task:
Level1 DAQ LW-MW
Channel "Receiver" = Dev1/ai0
Volts, Max = 2, Min = 0, Differential, no scaling, N samples, 1k samples/second, 50 kHz rate
Digital edge triggering from PFI0, rising edge, no ref trigger
Internal sample clock
no logging
The task is automatically opened when the program starts.
I also put in three screen dumps that illustrate the problem.
Screendump 1.jpg: First, click in View/Messages. This opens a message window and keeps some errors from happening, resulting from the cuts that I had to make.
Then click on Test/Run Test, or the green-arrow "play" button on the tool bar and get the screen shown in Screendump 2.jpg. The Virtual O'Scope and the Run Test window open.
Finally, close the Run Test window by clicking on the window's X control (upper right) and get the error shown in Screendump 3.jpg. Happens every time.
I don't, however, always get the error when running in the debugger!