Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

what is __intel_new_memcpy?

Wang_Wang
Beginner
246 Views
I'm now maintaining a set of source code compiled with intel compiler 7.x and ipps while a crash occurs.
With help of windbg, I target that crash may happens in this call stack:

11 Id: 290.7d8 Suspend: 1 Teb: 7ff9e000 Unfrozen
ChildEBP RetAddr Args to Child
0ef2e104 7c90e9c0 7c8025db 00000ed4 00000000 ntdll!KiFastSystemCallRet
0ef2e108 7c8025db 00000ed4 00000000 0ef2e13c ntdll!ZwWaitForSingleObject+0xc
0ef2e16c 7c802542 00000ed4 00004e20 00000000 kernel32!WaitForSingleObjectEx+0xa8
0ef2e180 7a0066fe 00000ed4 00004e20 3a9aac9a kernel32!WaitForSingleObject+0x12
0ef2e1b0 7a006db1 00000ed4 00004e20 3a9aaf7e mscorwks!ClrWaitForSingleObject+0x24
0ef2e66c 7a009a94 00000edc 00000ed4 00000ef0 mscorwks!RunWatson+0x1cb
0ef2edb0 7a00a066 0ef2f120 00000004 00000000 mscorwks!DoFaultReportWorker+0x9a2
0ef2edec 7a05b113 0ef2f120 00000004 00000000 mscorwks!DoFaultReport+0xc3
0ef2ee10 7a05fba7 00000000 0ef2f120 00000004 mscorwks!WatsonLastChance+0x30
0ef2ee64 0645a2e1 0ef2f120 0ef2f120 0b9406b7 mscorwks!SaveIPFilter+0x190
WARNING: Stack unwind information not available. Following frames may be wrong.
0ef2f0f8 7c83aa6b 0ef2f120 7c839a54 0ef2f128 SkinMagic!GetSkinSysColorBrush+0x4e1f5
0ef2f100 7c839a54 0ef2f128 00000000 0ef2f128 kernel32!BaseThreadStart+0x4d
0ef2f128 7c9037bf 0ef2f214 0ef2ffdc 0ef2f230 kernel32!_except_handler3+0x61
0ef2f14c 7c90378b 0ef2f214 0ef2ffdc 0ef2f230 ntdll!ExecuteHandler2+0x26
0ef2f1fc 7c90eafa 00000000 0ef2f230 0ef2f214 ntdll!ExecuteHandler+0x24
0ef2f1fc 0e1bee1f 00000000 0ef2f230 0ef2f214 ntdll!KiUserExceptionDispatcher+0xe
00000000 00000000 00000000 00000000 00000000 MyDLL!__intel_new_memcpy+0xa5f

I never call __intel_new_memcpy in code.
Where does it come from ?
Does __intel_new_memcpy create the thread?
I used to belive that thread should be created with kernel32!BaseThreadStart.
How to find the real crash spot in source code?

Thx in advance.

0 Kudos
1 Solution
TimP
Black Belt
246 Views
If I recall correctly about this compiler, which went off support over 5 years ago, __intel_new_memcpy could appear in the macro replacement for memcpy(). It would not start a new thread, in case that's what you mean. The point was simply to have a reasonably performing replacement for the memcpy() in VS libraries. I suppose there's a possibility it could break on CPU types which didn't exist at the time it was released.

View solution in original post

5 Replies
TimP
Black Belt
247 Views
If I recall correctly about this compiler, which went off support over 5 years ago, __intel_new_memcpy could appear in the macro replacement for memcpy(). It would not start a new thread, in case that's what you mean. The point was simply to have a reasonably performing replacement for the memcpy() in VS libraries. I suppose there's a possibility it could break on CPU types which didn't exist at the time it was released.

View solution in original post

Wang_Wang
Beginner
246 Views
Hi tim18,
I have many memcpy in code.
Any idea on how to target stack trace?

Quoting - tim18
If I recall correctly about this compiler, which went off support over 5 years ago, __intel_new_memcpy could appear in the macro replacement for memcpy(). It would not start a new thread, in case that's what you mean. The point was simply to have a reasonably performing replacement for the memcpy() in VS libraries. I suppose there's a possibility it could break on CPU types which didn't exist at the time it was released.

TimP
Black Belt
246 Views
compiling and linking with -g and -traceback set, and running under a debugger?
Wang_Wang
Beginner
246 Views
Now, the product has been released and I have only crash dump file.
I mean Since __intel_new_memcpy doesn't create any new thread, how to find out which function invoke it?

Quoting - tim18
----------------------

Wang_Wang
Beginner
246 Views
It is because of wrong pdb or source files
Reply