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

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

Richard_Geary
Beginner
538 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
538 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.
0 Kudos
QIAOMIN_Q_
New Contributor I
538 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/

0 Kudos
SergeyKostrov
Valued Contributor II
538 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?
0 Kudos
QIAOMIN_Q_
New Contributor I
538 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

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

Hi Qiaomin and Sergey,

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

Richard

0 Kudos
QIAOMIN_Q_
New Contributor I
538 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

0 Kudos
Richard_G_4
Beginner
538 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

0 Kudos
QIAOMIN_Q_
New Contributor I
538 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

0 Kudos
Richard_G_4
Beginner
538 Views

Fix confirmed, thanks!

0 Kudos
Reply