Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Goran_N
Beginner
111 Views

DMIP 1.1 crashes with Visual Studio 2008 unit tests

We upgraded to DMIP 1.1 (also running IPP 6.1). We use DMIP in C++ and we have C++ unit tests around many functions. This all worked fine before upgrading DMIP.
Now, when tests are run, they finish successfully, but "test finalizing" runs forever. No new tests can be ever be started again (unless I reboot). It looks like some threads are never stopped?
We also had run-time tear-down crashes, but that seems to be fixed with the "DMIP_DLL_IMPORT" pre-processor set. I was hoping this will fix the unit test problem, but no such luck.
I hope we don't have to roll back DMIP to fix the issue. Any suggestions?
0 Kudos
7 Replies
Sergey_K_Intel
Employee
111 Views

Could you please give more information on how your "test finalizing" is performed?

Something prompts me, that you use DMIP as a DLL library.

There was a problem when using DMIP DLL in a "cascaded" mode, i.e when application loads some DLL and then that DLL, in turn, loads DMIP. In this case, during application shutdown, sometimes DMIP cannot stop its threads and the application hangs. But this happens when dynamic DLL loading is used, i.e. when "LoadLibrary/FreeLibrary" calls are used. In static linking it must not happen.
Regards,
Sergey

Goran_N
Beginner
111 Views

"Test finalizing" was not the right description. I don't do anything really, it's just that when tests are done, the get marked as "Passed", but test still appear to be running and the status says "Test run completing...", forever. If I don't kill the whole process tree, I cannot start any other tests (they get into queue and wait forever).

This points to some "hanging" threads. I rolled back to DMIP 1.0 for an experiment, and sure enough, it's all working well. So there is something in DMIP 1.1 that does it.

My project that contains DMIP is a static lib. It gets linked into managed DLL that runs the tests.

This is also making me nervous because we will have this code connected to .NET UI via a managed C++ DLL, so I really need to resolve this. Is there are any additional information that I can provide?

Thanks, Goran

Quoting - Sergey Khlystov@Intel
Could you please give more information on how your "test finalizing" is performed?

Something prompts me, that you use DMIP as a DLL library.

There was a problem when using DMIP DLL in a "cascaded" mode, i.e when application loads some DLL and then that DLL, in turn, loads DMIP. In this case, during application shutdown, sometimes DMIP cannot stop its threads and the application hangs. But this happens when dynamic DLL loading is used, i.e. when "LoadLibrary/FreeLibrary" calls are used. In static linking it must not happen.
Regards,
Sergey


Sergey_K_Intel
Employee
111 Views

Goran,

Unfortunately, nothing can be done here. I tried to do all possible methods to unload DLL linked with DMIP 1.1 DLL, but every time is hangs on freeing library.
So, you need to either rollback to DMIP 1.0, if you haven't doneanything DMIP 1.1-specific, or to wait until new IPP 6.1 Update released in November.

Thank you for notifying us about this.
Regards,
Sergey

Goran_N
Beginner
111 Views

Is it pretty certain that this will be resolved with the IPP update in November?

Thanks.

Quoting - Sergey Khlystov (Intel)
Goran,

Unfortunately, nothing can be done here. I tried to do all possible methods to unload DLL linked with DMIP 1.1 DLL, but every time is hangs on freeing library.
So, you need to either rollback to DMIP 1.0, if you haven't doneanything DMIP 1.1-specific, or to wait until new IPP 6.1 Update released in November.

Thank you for notifying us about this.
Regards,
Sergey


Sergey_K_Intel
Employee
111 Views

Yes, sure, it has been resolved already. But we are boundedby the release schedule.

Sergey.

Goran_N
Beginner
111 Views

I finally updated DMIP for the project and removed my workarounds in hopes I will not have this problem (I am using build2, Jan 28 2010). However, I still have the same problem as I described before: using VS 2008, if I link in dmip.lib into a unit-test project, tests run once but the test process never quits, making further test runs impossible (until the test process is killed in Task Manager).

Vladimir_Dudnik
Employee
111 Views

Hi Goran,

Is it possible for you to provide a test case to reproduce the situation on our side? We did not detect that issue on our testing.

Regards,
Vladimir
Reply