App running on guest os crashes when requesting license from TFS with TF_RequestLease()

The host machine is macOS running Windows 10 as a VM under Parallels. The guest machine is running its network in bridged mode. For testing, the macOS firewall is disabled. The Windows 10 VM can "see" the Host machine as a separate machine on the same subnet. That is, I can ping the Host machine from the Windows 10 guest using the Host's IP. I can even map a host's network drive on the guest machine. Basically, it seem like the OS's are playing nicely.

Now, I'm running TFS on the host machine, and running my app on the guest machine. The problem is that the app crashes when it calls TF_RequestLease(). I don't get a returned error, the app crashes. However, I do notice that i place in an incorrect (random) ip for the TFS server in my app and save it with TF_SaveServer(), I DO get an error (4) which is that it connect to the remote TFS server.

I need help understanding why it's crashing when I place in the correct server address, but not when I place an incorrect address. What can I do to troubleshoot the issue? Is it possible that it's related to a VM running the app?

Thanks,Arie

Much more information is needed. We can't reproduce crashes with that function using the latest version of TurboFloat Library (4.0.9.6) and the latest version of the TurboFloat Server (4.0.9.7).

1. What versions are you using?

2. Try again with the latest versions -- can your reproduce the crash or does using the latest versions fix the problem?

3. If you're still getting a crash, tell us exactly what the crash is.

4. What flavor of Windows are you using (x86, x64? -- is it updated to the latest version of Windows 10?)

I am using TurboFloat library 4.0.9.6 (the TurboFloat.dll that my app dynamically loads is listed with a date of 12/13/2016) and the TurboFloat Server I'm running on the host OS machine (macOS) is 4.0.9.7.

I'm running Windows 10 Pro (x64) with latest updates and is where I'm running my app that I'm building.

The crash shows the following from Visual Studio:

Exception thrown at 0x00007FF8478F61EF (license_lib.dll) in App.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

"license_lib.dll" is the name of my built file output by Visual Studio.

Okay, I re-downloaded the TurboFloat Library just to make sure, and the .dll has a date of 4/6/2017. Even updating causes it to throw an error.

I'm going to run TurboFloat on a different, physical, machine to see if it has something to do with running TFS on a host OS while the app runs on a guest to OS.

Any other suggestions?

Thanks,Arie

Running on a Guest / Host configuration shouldn't cause a crash. In fact it should work perfectly.

We need more information. Can you reproduce this by simply running the TurboFloat Library using the example C app? In other words, can you rule out that this is a crash in your app/dll?

I will try this to see if it's my code (which is probably is), but I cannot for the life of me figure out what the issue is.

Thanks,Arie

Alright,

I think I got everything included correctly. I'm running the Debug x64 configuration for the example C app. I do see that Example.exe is built and I see a flash of a command prompt window opening up, but then I have this error in the output:

Exception thrown at 0x00007FF877A57788 in Example.exe: Microsoft C++ exception: std::ios_base::failure at memory location 0x000000BB9CEFF730.

I even inserted a break point at the top of the Example.c application code, but it never "reaches" there per se.

Any ideas?

Thanks,Arie

So, that was my bad. I hadn't loaded the .dat file correctly in the example. So, I know the example works. I'm thinking it likely has to do with something in my VS solution configuration properties, but I'm not sure where.

I know for certain that the .dat file is loading successfully from my app.

I'll try to gather some more insights onto the project configuration. One thing that is different from the example app and mine is that in mine, I'm using the static libs for TurboActivate in addition to the dynamic lib for TurboFloat. I'm also loading the .dat file twice in my app: once with TA_PDetsFromFile() and another time from TF_PDetsFromFile(). Could that cause a conflict?

Thanks,Arie

Okay, I found out the problem! So, earlier in my dev process I had experimented using the TurboFloat static libraries, and so my code was linking to the static libraries, even though I ended up not wanting to use that. So, the culprit, I think, was that I was using both the static and dynamic libraries for the dll. All fixed. As usual, I trust WyDay with all licensing needs, and not my own coding skills! You guys are awesome!

Arie

Perfect! I'm glad you figured it out, Arie.