Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mem64k
Beginner
82 Views

TBB 3.0 update 1 - Runtime Error R6025 - pure virtual fuction call?

Jump to solution
Hello,
i just upgraded to TBB 3.0 update 1 from TBB 2.2 update 3. System: Windows XP Pro x64 SP2, Visual Studio 2008 SP1.
I just replaced the tbb.lib, tbb.dll and headers. So there were no code changes at all in my test application. The test application ispretty simple:
struct TestBody
{
TestBody() {}
TestBody(const TestBody& src) {}
void TestBody::operator()( const tbb::blocked_range2d& range) const
{
// do some work
}
};
TestBody body;
tbb::parallel_for(tbb::blocked_range2d(0, sizeX, 0, sizeY ), body);
After upgrade i getting runtime error like this: R6025 - pure virtual function call. The error pop ups directly after tbb::parallel_for() call.Ithappensjust in x64 build, in Win32 is everything OK.
Has anybody a hint for this problem?
0 Kudos
1 Solution
Alexey_K_Intel3
Employee
82 Views
So far, I was unable to reproduce it. I did the following:
- built all the tests for TBB 2.2;
- substituted TBB DLLs with that of 3.0, and ran the tests - passed (except for a couple of known fails due to incompatibility with old tests);
- substituted TBB DLL stub libs with that of 3.0, re-linked and re-ran the tests - same result;
- set INCLUDE to point to TBB 3.0 headers, thenrecompiled and re-ran 2.2 tests; a lot of whitebox tests did not compile, but all that compiled successfully passed, including the tests for parallel_for and blocked_range2d.

The only platform difference is that I used WinXP64 SP1, not SP2; but it should not matter.

Can you make sure that TBB 3.0 binaries are really used at run time? For that, please set TBB_VERSION environment variable to 1, and run the test. The library should print several strings started from "TBB:" into the console (stdout); please make sure that the very first line says it's TBB 3.0.

View solution in original post

4 Replies
RafSchietekat
Black Belt
82 Views
That looks interesting, I have some of those myself (entirely different environment, though). Maybe I'll have to try and downgrade to see if they disappear, but it would be nicer to see them solved in the latest release instead.
Alexey_K_Intel3
Employee
82 Views
Thanks for the report, I will investigate and get back to you.
Alexey_K_Intel3
Employee
83 Views
So far, I was unable to reproduce it. I did the following:
- built all the tests for TBB 2.2;
- substituted TBB DLLs with that of 3.0, and ran the tests - passed (except for a couple of known fails due to incompatibility with old tests);
- substituted TBB DLL stub libs with that of 3.0, re-linked and re-ran the tests - same result;
- set INCLUDE to point to TBB 3.0 headers, thenrecompiled and re-ran 2.2 tests; a lot of whitebox tests did not compile, but all that compiled successfully passed, including the tests for parallel_for and blocked_range2d.

The only platform difference is that I used WinXP64 SP1, not SP2; but it should not matter.

Can you make sure that TBB 3.0 binaries are really used at run time? For that, please set TBB_VERSION environment variable to 1, and run the test. The library should print several strings started from "TBB:" into the console (stdout); please make sure that the very first line says it's TBB 3.0.

View solution in original post

mem64k
Beginner
82 Views
Hello Alexey,
this isembarrassing, but I mustto confess a fault on my side. Sorry to bother you with this.Problem was the wrong setup of some internal dlls in combination with different TBB versions and platforms.
P.S.:On one occasion I give a bottle of beer... Thanks for your help!
Reply