Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
801 Discussions

icpx hangs while compiling donna_64.cpp from cryptopp

jeff-irwin
Beginner
800 Views

There is a popular C++ cryptography library with 4700 stars on github.  I noticed that the current version of icpx fails to compile it, hanging for about 4 minutes (depending on the machine) and then crashing.  Here are the steps to reproduce the issue:

git clone https://github.com/weidai11/cryptopp
cd cryptopp
icpx -c donna_64.cpp

Here is the output:

icpx: error #10106: Fatal error in /opt/intel/oneapi/compiler/2024.2/bin/compiler/clang++, terminated by kill signal

I would expect icpx to either compile successfully, or at least provide a better description of a syntax error if there is one.  I believe the code is valid C++, since g++ can compile it as I will describe below.

On another machine with more memory, icpx just seems to hang indefinitely, over 12 hours when I let it run overnight.

I narrowed down the issue to these lines in donna_64.cpp:

#define write51full(n,shift) \
f = ((t[n] >> shift) | (t[n+1] << (51 - shift))); \
for (i = 0; i < 8; i++, f >>=  *out++ = (byte)f;
#define write51(n) write51full(n,13*n)

write51(0)

Without those lines (and the other invocations of the `write51` macro), it compiles.  Also, g++ can compile it just fine either way:

[root@7a1da2106c1d cryptopp]# time g++ -c donna_64.cpp

real    0m0.797s
user    0m0.742s
sys     0m0.050s
[root@7a1da2106c1d cryptopp]# echo $?
0

Here are my version details:

[root@7a1da2106c1d cryptopp]# icpx --version
Intel(R) oneAPI DPC++/C++ Compiler 2024.2.0 (2024.2.0.20240602)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2024.2/bin/compiler
Configuration file: /opt/intel/oneapi/compiler/2024.2/bin/compiler/../icpx.cfg
[root@7a1da2106c1d cryptopp]#
[root@7a1da2106c1d cryptopp]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.4 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.4 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.4"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"

 

0 Kudos
1 Reply
Alex_Y_Intel
Moderator
759 Views

I'm escalating your issue to our internal team to investigate. 

Reply