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.
7782 Discussions

Assertion in shared/cfe/edgcpfe/exprutil.c

Schwen__Daniel
Beginner
627 Views

Compiling revision
https://github.com/idaholab/moose/pull/12703/commits/7e842a5348523cebe36813729419a703993ea46b
of the MOOSE Framework with icc 18.0.1 gives:

 

[Ubuntu-16][/ssd/schwd/moose/modules]> make -j 32
Compiling C++ (in opt mode) /ssd/schwd/moose/modules/tensor_mechanics/build/unity_src/kernels_Unity.C...
/ssd/schwd/moose/modules/tensor_mechanics/src/kernels/ADStressDivergenceTensors.C(46): internal error: assertion failed at: "shared/cfe/edgcpfe/exprutil.c", line 17133

      _disp_var = coupled("displacements", i);
                     ^

The commit
https://github.com/idaholab/moose/pull/12703/commits/4f720c63730d11740cc4ba794a24c3c9ff0712ac
fixes the build.

 

[Ubuntu-16][/ssd/schwd/moose/modules]> icc -v
icc version 18.0.1 (gcc version 5.4.0 compatibility)

 

0 Kudos
4 Replies
Schwen__Daniel
Beginner
627 Views

Here is the preprocessed file. It was generated on Ubuntu 16 with icc version 18.0.1 (gcc version 5.4.0 compatibility). I have also sent this to a contact at Intel for a proper bug report to be created. Maybe somebody on the forum has encountered this as well...

Jeffrey_H_Intel
Employee
627 Views

This bug is resolved in 2020.0.166 but is present in 2019.4.243.  I asked someone to dig into the details.

Ron_Green
Moderator
627 Views

I've run this example through all the 18.0.x compilers, all the 19.0.x compilers and yes they all have this crash.

As Jeff mentioned, the 19.1.0 compiler compiles this successfully.  So does 19.1.1.  The 19.1.x compilers are the currently available PSXE 2020 product downloads for the original release, and the Update 1.

I also checked against our 19.1 nightly build from last night, which will go into a future PSXE 2020 Update 2.  That also compiles this code.

So it's fixed.  You will need a 19.1.x compiler version.  You will not get a fix in 19.0.x or 18.0.x as there are no more updates planned for 18.0 or 19.0.  There were a lot of changes going into compilers 19.1.x but the biggest change was a major release of the CPP parser, what is known as the EDG Frontend.  So what specifically in there fixed it?  No idea, there are a lot of changes in that front end parser.  The important thing is that it's fixed and you have a compiler you can use for this code.

 

Ron

Schwen__Daniel
Beginner
627 Views

Thanks everyone! I have access to icc 2020.1.102 and will try building our software stack with it. In the mean time I got a proper premier support access attached to my account, so I will report future issues through that channel.

Reply