Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7944 Discussions

Possible Intel C++ 14.0 compiler bug - stack corruption

Inge_H_
Beginner
610 Views

When switching from the Intel C++ 13 compiler 14.0 I started seeing some stack corruption errors, after narrowing it down to a minimalist example I can not see that it is anything other than a new compiler bug. In the attached Visual Studio 2012 project the stack corruption only occurrs if you place a breakpoint in line 7 of TurtleParser.cpp and only with the Intel C++ 14.0 compiler. If you try the example with Intel Compiler C++ 13 or the Visual Studio compiler it works fine. Also, the stack corruption does not happen if line 14 of TurtleParser.cpp is commented out, even though this line of code is never called by any code.

Tested on Microsoft Visual Studio Professional 2012 Version 11.0.60610.01 Update 3.

Can others confirm?

0 Kudos
8 Replies
SergeyKostrov
Valued Contributor II
610 Views

Does it happen in Debug or Release configuration?

0 Kudos
Inge_H_
Beginner
610 Views

I have only tested it in Debug mode.

0 Kudos
Melanie_B_Intel
Employee
610 Views

I wasn't able to build the attached solution. For example, parts of the source are missing (some q--x files) and pre-build event files. 

0 Kudos
Inge_H_
Beginner
610 Views

You must install Quex first, it's a lexer. https://sourceforge.net/projects/quex/files/DOWNLOAD/

0 Kudos
Anoop_M_Intel
Employee
610 Views

Hi Inge

I am getting the following error when I try to reproduce this issue:
1>------ Rebuild All started: Project: TurtleLexer (Intel C++ 14.0), Configuration: Debug Win32 ------
1>  'python' is not recognized as an internal or external command,
1>  operable program or batch file.
1>  quex_turtle_TurtleLexer.cpp
1>C:\Program Files (x86)\quex/quex-0.64.8/quex/code_base/buffer/converter/icu/special_headers.h(38): error : cannot open source file
unicode/utypes.h"
1>    #include "unicode/utypes.h"   /* Basic ICU data types */
1>                                                            ^
1> 
1>icl : error #10298: problem during post processing of parallel object compilation
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

Where do I get these ICU specific header? Can you share the pointer for the same.

Thanks and Regards
Anoop

0 Kudos
Roman_Z_1
Beginner
610 Views

I have the same error related to the breakpoints using ICC 14.0 with Visual Studio 2012 Update 3. Does anybody know any workarounds?

0 Kudos
Roman_Z_1
Beginner
610 Views

I did some research of this problem. It looks like ICC 14.0 sometimes produces wrong symbols information. There are 2 attachments. I've set intrinsic breakpoint "__debugbreak()". Then after it was hit, I made a crashdump from Task Manager. Second attachment is a WinDbg screenshot with the similar disassembly. LEA instruction was corrupted by IDE breakpoint!

If you are very attentive, you can see in the attachment 1, that "int 3" instruction is followed by "__debugbreak(); line and "QCoreApplication::arguments()" appears in the middle of the call (i.e. after "push eax").

0 Kudos
Inge_H_
Beginner
610 Views

Anoop Madhusoodhanan Prabha (Intel) wrote:

Where do I get these ICU specific header? Can you share the pointer for the same.

Thanks and Regards
Anoop

ICU, I think I use v4.9 on my system:
http://site.icu-project.org/download

Also, Python v2.7.5 is required by Quex:
http://www.python.org/getit/

I'm sorry for the bloathed minimalist example, but I've atleast narrowed it down from 100k+ lines of code where it first appeared :) and it was hard to pin down less bloathed than this.

0 Kudos
Reply