Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
2477 Discussions

infinite loop during tbb::task_scheduler_init on Q9550 CPU and Win7 64bit

baranc3k
Beginner
653 Views
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
0 Kudos
1 Solution
ARCH_R_Intel
Employee
653 Views
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.

View solution in original post

0 Kudos
8 Replies
RafSchietekat
Valued Contributor III
653 Views

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?

0 Kudos
baranc3k
Beginner
653 Views
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.
0 Kudos
RafSchietekat
Valued Contributor III
653 Views

"Without success"
OK, then I hope that somebody familiar with this setup will be able to assist.

0 Kudos
baranc3k
Beginner
653 Views
Quoting - Raf Schietekat

"Without success"
OK, then I hope that somebody familiar with this setup will be able to assist.

Thanks for help
0 Kudos
ARCH_R_Intel
Employee
653 Views
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?
0 Kudos
ARCH_R_Intel
Employee
654 Views
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.

0 Kudos
Vladimir_P_1234567890
653 Views
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.


Yes, TBB 2.2 update 1 comm-aligned release should have a fix. There is also win7 support added officially.

--Vladimir
0 Kudos
baranc3k
Beginner
653 Views

Yes, TBB 2.2 update 1 comm-aligned release should have a fix. There is also win7 support added officially.

--Vladimir
Yes, I have binaries from intel.

I'm amazed for prompt answers and solutions from all.

Thank you very much.

--Ivan
0 Kudos
Reply