NatNetClient::GetDataDescriptions API call access violation

NatNet, VRPN, TrackD, and Plugins
codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

NatNetClient::GetDataDescriptions API call access violation

Post by codenotes » Tue Sep 30, 2014 5:45 am

Can not run any sample application for NatNet sdk. I get an access violation on any call to NatNetClient::GetDataDescriptions(), wherever that happens.

Have tried 32 and 64 bit compiles. Have tried .net as well as C++ samples. Have debugged, it is always blowing up on this call from any applicaiton. Have done debug and release. Always the same.

Have tried linking to static libraries as well as using DLL. same result. any call at any time to GetDataDescription results in access violation.

I am using Visual Studio 2013 with Update 3.

Am dead in the water and unable to work with my optitrak system at present.

NaturalPoint-Dustin
Posts: 609
Joined: Tue Mar 19, 2013 5:03 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by NaturalPoint-Dustin » Tue Sep 30, 2014 12:37 pm

Hello,

I contacted the NatNet SDK Developer regarding this issue. He will be responding to this forum thread shortly.

Best Regards,
Dustin
Technical Support Engineer
OptiTrack | TrackIR | SmartNav

morgan
NaturalPoint Employee
NaturalPoint Employee
Posts: 199
Joined: Tue Jun 24, 2008 2:01 pm
Location: Corvallis, OR, USA
Contact:

Re: NatNetClient::GetDataDescriptions API call access violat

Post by morgan » Tue Sep 30, 2014 12:51 pm

Testing the NatNet SDK 2.6 SampleClient.cpp x86 debug using VS 2013 with project updated to target the VS 2013 platform toolset (V120), GetDataDescriptions() appears to work correctly.

Since the NatNet SDK was build using VS 2010, you might try a VS 2013 project but target the VS 2010 platform toolset.

Also - can you tell us what OptiTrack server app and version are you running (e.g. Motive 1.5.1 )

thx

Morgan

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Tue Sep 30, 2014 1:03 pm

Thank you, standing by. Literally can't do anything with the system until able to resolve this.

I would point out that other aspects of functionality do work in the sample programs...I am connecting ok, some initial data is being received. But that specific call always results in an access violation.

I would suspect because you are allocating memory in your library, that you are compiling with a different version of MSVC (something older) or some other compiler. And we have an incompatibility.

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Tue Sep 30, 2014 5:32 pm

Unfortunately, using VS2010 is not an option. I have too much related code and dependencies that are specific to 2013...boost libraries among them. Reverting to 2010 while it may work to get the sample code working, is not possible. Perhaps you can recompile in 2013...probably something that could/should be done anyway. Case in point, the issue I am having.

I am using the latest optitrak, I only just bought the system a few months ago. I don't have the application handy as I write this, but, as I said, it is the latest as my system is new.

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Tue Sep 30, 2014 5:35 pm

Can you send me your executable and exact solutions file which is working? I will try

1) to run the exe and see if it blows up on my system (win 8.1 x64). Perhaps it is an external dependency difference, or something with the OS. What OS are you using?
2) recompile your configuration of the samples and see if there are any changes/differences that may be causing this issue. Shouldn't be, I haven't made any changes, but worth trying.

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Wed Oct 01, 2014 8:55 am

C:\Projects\Samples\bin\SampleClient.exe

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Wed Oct 01, 2014 8:58 am

Here is a compiled exe that creates an access violation.

Can you please see if it operates correctly on your configuration? If so, that points to specific machine environment.
Attachments
SampleClient.zip
C:\Projects\Samples\bin\SampleClient.zip
(8.88 KiB) Downloaded 123 times

morgan
NaturalPoint Employee
NaturalPoint Employee
Posts: 199
Joined: Tue Jun 24, 2008 2:01 pm
Location: Corvallis, OR, USA
Contact:

Re: NatNetClient::GetDataDescriptions API call access violat

Post by morgan » Wed Oct 01, 2014 11:49 am

We tested your SampleClient binary here and it appears to work correctly (no crashes, data descriptions and data stream correctly).

Some notes:
- Our test OS is Windows 7 x64 and 8.1 x64
- Motive 1.6b2
- Your SampleClient.exe is using the x86 NatNet dynamic library. We tested your exe using the 2.6 NatNetLib.dll.

Some ideas:
- It could be related to the nature of your tracking objects list. We are testing with 2 simple rigid bodies and some unlabeled markers in Live and Playback modes. If possible, can you send us a .TAK file that manifest the behavior?
- Firewall settings - can you disable these?
- Can you build with the NatNet Static library to isolate out any memory allocations/releases across dll boundary issues?

Also - lets get this switched over to support for quicker turnaround for you. Can you open a ticket at:

https://www.naturalpoint.com/optitrack/support/

Reference this forum thread.

thx,

Morgan

codenotes
Posts: 9
Joined: Mon Sep 29, 2014 12:12 pm

Re: NatNetClient::GetDataDescriptions API call access violat

Post by codenotes » Wed Oct 01, 2014 12:13 pm

I will switch to support. Meanwhile, here is what I have found out with my testing.

It blows up on 8.1, but also Windows 7. Further, your executable that is built and shipped with the sdk blows up...so this is not realted to 2013/2010 issue.

I strongly suspect that it has to do with what I am tracking and some form internal error in the processing of that. I will gather the information and forward on...but all I am tracking is the test-track rigid body that comes with the opti-track...that L-shaped thing with the levels on it. I made a rigid body of that, and am trying to track that...that is what blows up. Am tracking nothing else.

Post Reply