- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have detected infinite loop on latest tbb( version 20090809) during initialization of task_scheduler_init.
During initialization of TBB, __intel_fast_memset is calling and this function is in infinite loop:
see disassembly __intel_fast_memset:
0261C720 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFE00h
0261C72A jne __intel_fast_memset.J (261C700h)
0261C730 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFF80h
0261C73A jne __intel_fast_memset.H (261C710h)
0261C740 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFFFFh
0261C74A jne __intel_fast_memset.A (261C6E0h)
0261C750 call ___intel_cpu_indicator_init (261D2A0h)
0261C755 jmp __intel_fast_memset (261C720h)
0261C757 mov esi,esi
0261C759 lea edi,[edi]
This bug is dependent on OS and CPU. It's reproducing only on this configuration:
Windows 7 64bit
Intel Core 2 Quad Q9550 2.83GHz
family=6, model=7, stepping A, ext.family=6, ext.model=17, revision=E0
Is not reproducible on identical processor with different stepping and revision.
Problem is in some test of results from cpuid instruction (called from ___intel_cpu_indicator_init)
I have VS 2008 sp1 compiler.
Previous version of TBB works well.
Test file:
#include "tbb/task_scheduler_init.h"
tbb::task_scheduler_init tbb_init;
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Does anybody know what is problem, or has anybody same problems?
Thanks
I have detected infinite loop on latest tbb( version 20090809) during initialization of task_scheduler_init.
During initialization of TBB, __intel_fast_memset is calling and this function is in infinite loop:
see disassembly __intel_fast_memset:
0261C720 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFE00h
0261C72A jne __intel_fast_memset.J (261C700h)
0261C730 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFF80h
0261C73A jne __intel_fast_memset.H (261C710h)
0261C740 test dword ptr [___intel_cpu_indicator (262B7D4h)],0FFFFFFFFh
0261C74A jne __intel_fast_memset.A (261C6E0h)
0261C750 call ___intel_cpu_indicator_init (261D2A0h)
0261C755 jmp __intel_fast_memset (261C720h)
0261C757 mov esi,esi
0261C759 lea edi,[edi]
This bug is dependent on OS and CPU. It's reproducing only on this configuration:
Windows 7 64bit
Intel Core 2 Quad Q9550 2.83GHz
family=6, model=7, stepping A, ext.family=6, ext.model=17, revision=E0
Is not reproducible on identical processor with different stepping and revision.
Problem is in some test of results from cpuid instruction (called from ___intel_cpu_indicator_init)
I have VS 2008 sp1 compiler.
Previous version of TBB works well.
Test file:
#include "tbb/task_scheduler_init.h"
tbb::task_scheduler_init tbb_init;
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Does anybody know what is problem, or has anybody same problems?
Thanks
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found out that the issueis known. Yes, it is stepping specifc.The issue has been corrected in the latest release ofthe Intel 11.1 compiler. So what you need is a TBB library built with the fixed compiler.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
Link Copied
8 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I myself would never think of using a task_scheduler_init as anything other than an automatic variable.Maybe the problem just goes awayif you move the instance into main()'s body?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Raf Schietekat
I myself would never think of using a task_scheduler_init as anything other than an automatic variable.Maybe the problem just goes awayif you move the instance into main()'s body?
Without success, initialization inside "main" freeze too.
It only happens in release, debug runs correctly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"Without success"
OK, then I hope that somebody familiar with this setup will be able to assist.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Raf Schietekat
"Without success"
OK, then I hope that somebody familiar with this setup will be able to assist.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'd like to try to reproduce the problem here, as it sounds like a generic problem in __intel_fast_memset. Are you using a binary of tbb.dll that you built or that was supplied by Intel?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found out that the issueis known. Yes, it is stepping specifc.The issue has been corrected in the latest release ofthe Intel 11.1 compiler. So what you need is a TBB library built with the fixed compiler.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Arch Robison (Intel)
I found out that the issueis known. Yes, it is stepping specifc.The issue has been corrected in the latest release ofthe Intel 11.1 compiler. So what you need is a TBB library built with the fixed compiler.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
I think that TBB 2.2 update 1 (build 010), which was released around 2009-Oct-15, was built with the fixed compiler. But I'm still asking around to make certain.
Yes, TBB 2.2 update 1 comm-aligned release should have a fix. There is also win7 support added officially.
--Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Vladimir Polin (Intel)
Yes, TBB 2.2 update 1 comm-aligned release should have a fix. There is also win7 support added officially.
--Vladimir
I'm amazed for prompt answers and solutions from all.
Thank you very much.
--Ivan
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