Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

access violation in imaq.dll

When acquiring 528x528 2-byte data stream on a PCIe-1429 (driver version 4.3.1.49152), I frequently get access violation errors originating from imaq.dll (see attached screenshot) a few seconds into the acquisition (after I've received some frames of data). I am have VAS2009November installed, running on Windows 7 x64, Dell T7500.

 

This problem seems to occurs only when acquiring at high speeds (e.g. using small integration times on the order of a millisecond). Is there a driver/software fix available?

0 Kudos
Message 1 of 6
(4,407 Views)

tsha,

 

Keep in mind that since you appear to be writing your application in C/C++, it is possible that it is the fault of your application code, and not necessarily the IMAQ driver. There are all sorts of things such as corrupting the stack or improper usage of the APIs that could cause odd things to happen later on in the program execution.

 

Given that, there is not a whole lot we can do without more details. I'd request the following things for us to investigate further:

- Can you run a simple Ring/Grab example and reproduce this error? If you have to make some modifications to the example to more closely match how you are using our API, can you provide the source for these changes?

- Can you attach a minidump of this crash so that we can look at the stack and see where it is crashing in the IMAQ driver? Since you appear to be broken into the MSVC debugger when this crash occurs, you should be able to go to Debug->Save Dump As... to save a minidump of the current application state. If you attach this dump we can investigate what might be happening.

 

Thanks, 

Eric

0 Kudos
Message 2 of 6
(4,400 Views)

Here is a minidump.

 

I am using low level acquisition (imgSessionAcquire and imgSessionWaitSignal2) to acquire the images. I'll try writing a simple test app that will reproduce this problem.

 

Thanks!

0 Kudos
Message 3 of 6
(4,394 Views)

Hi tsha,

 

Thank you for the crash dump, it was very useful. What timeout value are you using for the imgSessionWaitSignal2 call? Is it very small? If you change the timeout value to a larger value does the issue go away?

 

I think it is possible that the problem you are seeing is related to an issue (internal tracking CAR #199614) that we have a fix slated for the next release. Would you be able to call in and create a support request for this issue? We would likely be able to get you either a beta version of the upcoming driver or some sort of patched version.

 

Thanks,
Eric

0 Kudos
Message 4 of 6
(4,370 Views)

I'm using timeouts on the order of a millisecond (same as the integration time). I think the problem definitely has to do with the frequency of calling the imgSessionWaitSignal2 function.If I put a 1 ms Sleep right before this call, the crash goes away.

 

I called in today and spoke with tech support (service request #276375). They are referring the issue to R&D. Hopefully, I'll hear back from someone soon. If you want me to provide any other information or debug data, I'll be happy to do so.

 

Thanks!

0 Kudos
Message 5 of 6
(4,350 Views)

Hi tsha,

 

Thanks for opening up a service request. Through that avenue we should be able to get some fix to you.

 

I believe as a workaround for the time being if you were to change the timeout to be much longer than your integration time (perhaps 100ms) it should also make this issue go away as it was related to the timeout being very close to the integration time.

 

Eric

0 Kudos
Message 6 of 6
(4,347 Views)