- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- 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.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the report, I will investigate and get back to you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- 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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page