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

Assertion in shared/cfe/edgcpfe/exprutil.c

Schwen__Daniel
Beginner
1,014 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
1,014 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...

0 Kudos
Jeffrey_H_Intel
Employee
1,014 Views

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

0 Kudos
Ron_Green
Moderator
1,014 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

0 Kudos
Schwen__Daniel
Beginner
1,014 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.

0 Kudos
Reply