Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
7783 Discussions

Backend signals "Please contact Support" when compiling function with icc 14

Richard_Geary
Beginner
364 Views

Hi,

I get a backend signals / stack overflow error when compiling the attached function with icc 14.

[rgeary@infradev3.skae:~/git/dev]$ icpc13 -c -xc++ rzextr.cpp 
[rgeary@infradev3.skae:~/git/dev]$ icpc14.0.0 -c -xc++ rzextr.cpp 
": internal error: backend signals

compilation aborted for rzextr.cpp (code 4)
[rgeary@infradev3.skae:~/git/dev:4]$ icpc14.0.1 -c -xc++ rzextr.cpp 
": internal error: ** segmentation violation signal raised **
Access violation or stack overflow. Please contact Support.

compilation aborted for rzextr.cpp (code 4)
[rgeary@infradev3.skae:~/git/dev:4]$ icpc14.0.1 --version
icpc (ICC) 14.0.1 20131008
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.

Regards,

Richard

0 Kudos
11 Replies
SergeyKostrov
Valued Contributor II
364 Views
I don't think that it will be possible to reproduce the problem unless you provide codes for two external functions used inside of rzextr function.
QIAOMIN_Q_
New Contributor I
364 Views

This is caused by high level optimization in -O2 option, as a workdaround -O0 and -O1 is ok.

I will keep you posted whenever this bug has got some update from the developers's side.

 

Thank you.
--
QIAOMIN.Q
Intel Developer Support

Please participate in our redesigned community support web site:
User forums:                http://software.intel.com/en-us/forums/

SergeyKostrov
Valued Contributor II
364 Views
>>...This is caused by high level optimization in -O2 option, as a workdaround -O0 and -O1 is ok... It looks interesting since it is Not clear for me if -O2 was used to compile the sources before the compiler crashed. None of optimization options are used and it looks like a default option -O0 was applied. Am I wrong?
QIAOMIN_Q_
New Contributor I
364 Views

Hello Sergey,

Default is O2 ,which enables optimizations for speed. "Some basic loop optimizations such as Distribution, Predicate Opt, Interchange, multi-versioning, and scalar replacements are performed."

The crash happens after the Scalar Replacement phase in O2.

$icpc -c rzextr.cpp -O1(or O0) ,is fine in this case.

Best ,Qiao

SergeyKostrov
Valued Contributor II
364 Views
>>...Default is O2 ,which enables optimizations for speed... Yes, you're correct and thanks for the correction.
SergeyKostrov
Valued Contributor II
364 Views
This is simply to inform that there are strange delays with refreshing the webpage after Submit button is pressed...
Richard_G_4
Beginner
364 Views

Hi Qiaomin and Sergey,

Thanks for your fast response, our code compiles with -O1.

Richard

QIAOMIN_Q_
New Contributor I
364 Views

$ icc -V
Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.1.106 Build 20131008

$ icpc -c -xc++ rzextr.cpp -O1 -opt-report=3

is fine for me ,what's your gcc version?

Regards, Qiao

Richard_G_4
Beginner
364 Views

Hi Qiao, 

I only get the internal error with -O2 or -O3, so I can use -O1 for this file as a workaround. This is RHEL5, the system gcc is 4.1.2, but I've tested gcc 4.7.2 with -gxx-name and get the same result.

$ gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)

Thanks,
Richard

QIAOMIN_Q_
New Contributor I
364 Views

Hello Richard,

This bug has been fixed in the latest compiler SP1 Update3 ,Version 14.0.3.174 Build 20140422 .I have confirmed that .Please have a check .

 

Thank you.
--
QIAOMINQ.
Intel Developer Support

Please participate in our redesigned community support web site:
Tools Knowledge Base:           http://software.intel.com/en-us/articles/tools

Richard_G_4
Beginner
364 Views

Fix confirmed, thanks!

Reply