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

Intel Composer 2015 will throw a Segmentation fault when installed to a docker container

the_c_
Beginner
1,138 Views

Intel Composer 2015 will throw a Segmentation fault when installed to a docker container. Steps to reproduce (using ubuntu as a host): mkdir data cd data wget http://registrationcenter-download.intel.com/akdlm/irc_nas/4933/l_compxe_2015.1.133.tgz tar xvzf l_compxe_2015.1.133.tgz docker run -i -t -v `pwd`:/data ubuntu /bin/bash data/l_compxe_2015.1.133/install.sh # This step will throw segfault ############################## root@8d5781f9642a:/# sh -x data/l_compxe_2015.1.133/install.sh ...... + //data/l_compxe_2015.1.133/pset/32e/install --TEMP_FOLDER=/tmp/install.KErWQr --log-disable --__get_string__=/tmp/intel.pset.strings..8d5781f9642a Segmentation fault (core dumped) .... root@8d5781f9642a:/# dmesg [ 8350.149422] install[4080]: segfault at 0 ip 00007f526644e67a sp 00007fff6d345538 error 4 in libc-2.19.so[7f52663c5000+1bb000] root@8d5781f9642a:/data# strace //data/l_compxe_2015.1.133/pset/32e/install --TEMP_FOLDER=/tmp/install.KErWQr --log-disable --__get_string__=/tmp/intel.pset.strings..8d5781f9642a ... futex(0x7fffccffec00, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f02321c3780) = -1 EAGAIN (Resource temporarily unavailable) rt_sigaction(SIGRTMIN, {0x7f02314709f0, [], SA_RESTORER|SA_SIGINFO, 0x7f023147a340}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x7f0231470a80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f023147a340}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 brk(0) = 0x2373000 brk(0x2394000) = 0x2394000 rt_sigaction(SIGINT, {0x410b40, ~[RTMIN RT_1], SA_RESTORER, 0x7f023147a340}, NULL, 8) = 0 pipe2([3, 4], O_CLOEXEC) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f02321c3a50) = 789 close(4) = 0 fcntl(3, F_SETFD, 0) = 0 fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f02321cb000 read(3, "01.28.01.23.19.2015\n", 4096) = 20 read(3, "", 4096) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=789, si_status=0, si_utime=0, si_stime=0} --- close(3) = 0 wait4(789, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 789 munmap(0x7f02321cb000, 4096) = 0 pipe2([3, 4], O_CLOEXEC) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f02321c3a50) = 791 close(4) = 0 fcntl(3, F_SETFD, 0) = 0 fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=791, si_status=0, si_utime=0, si_stime=0} --- mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f02321cb000 read(3, "8d5781f9642a\n", 4096) = 13 read(3, "", 4096) = 0 close(3) = 0 wait4(791, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 791 munmap(0x7f02321cb000, 4096) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} --- +++ killed by SIGSEGV (core dumped) +++ Segmentation fault (core dumped) ####################################### Looks like problem is related to not having a user with a ID != 0, not sure Adding a user and executing the installer through that user works correctly.

0 Kudos
16 Replies
the_c_
Beginner
1,138 Views

Reposting...

Intel Composer 2015 will throw a Segmentation fault when installed to a docker container.

Steps to reproduce (using ubuntu as a host):

mkdir data
cd data
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/4933/l_compxe_2015.1.133.tgz
tar xvzf l_compxe_2015.1.133.tgz
docker run -i -t -v `pwd`:/data ubuntu /bin/bash
data/l_compxe_2015.1.133/install.sh # This step will throw segfault


##############################

root@8d5781f9642a:/# sh -x data/l_compxe_2015.1.133/install.sh
......
+ //data/l_compxe_2015.1.133/pset/32e/install --TEMP_FOLDER=/tmp/install.KErWQr --log-disable --__get_string__=/tmp/intel.pset.strings..8d5781f9642a
Segmentation fault (core dumped)
....

root@8d5781f9642a:/# dmesg
[ 8350.149422] install[4080]: segfault at 0 ip 00007f526644e67a sp 00007fff6d345538 error 4 in libc-2.19.so[7f52663c5000+1bb000]

root@8d5781f9642a:/data# strace //data/l_compxe_2015.1.133/pset/32e/install --TEMP_FOLDER=/tmp/install.KErWQr --log-disable --__get_string__=/tmp/intel.pset.strings..8d5781f9642a
...
futex(0x7fffccffec00, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f02321c3780) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7f02314709f0, [], SA_RESTORER|SA_SIGINFO, 0x7f023147a340}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f0231470a80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f023147a340}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0)                                  = 0x2373000
brk(0x2394000)                          = 0x2394000
rt_sigaction(SIGINT, {0x410b40, ~[RTMIN RT_1], SA_RESTORER, 0x7f023147a340}, NULL, 8) = 0
pipe2([3, 4], O_CLOEXEC)                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f02321c3a50) = 789
close(4)                                = 0
fcntl(3, F_SETFD, 0)                    = 0
fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f02321cb000
read(3, "01.28.01.23.19.2015\n", 4096)  = 20
read(3, "", 4096)                       = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=789, si_status=0, si_utime=0, si_stime=0} ---
close(3)                                = 0
wait4(789, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 789
munmap(0x7f02321cb000, 4096)            = 0
pipe2([3, 4], O_CLOEXEC)                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f02321c3a50) = 791
close(4)                                = 0
fcntl(3, F_SETFD, 0)                    = 0
fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=791, si_status=0, si_utime=0, si_stime=0} ---
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f02321cb000
read(3, "8d5781f9642a\n", 4096)         = 13
read(3, "", 4096)                       = 0
close(3)                                = 0
wait4(791, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 791
munmap(0x7f02321cb000, 4096)            = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)

#######################################
Looks like problem is related to not having a user with a ID != 0, not sure
Adding a user and executing the installer through that user works correctly.

 

 

 

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi,
This is a special scenario that I haven't seen before on installation using a docker container which I'll pass on to the install group. That said, a possible workaround for this scenario is to install using the RPM manager directly as below:

     1) Go to ./l_compxe_2015.1.133/rpm
     2) rpm -ivh -nodeps -ignorearch *.rpm

Can you please check if the above workaround works and let me know, thanks

_Kittur 

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi, I am awaiting info from the install team if we even support Docker install. In the meantime, can you please attach the following log files:

    tmp/intel.pset.*.log

The intel.pset.*.log  log files will help the team investigate further, appreciate much.

_Kittur

0 Kudos
the_c_
Beginner
1,138 Views

Hi Kittur,

Thanks a lot for having a look at it.

Adressing your points:

1 - The install executable (called by the install script) segfaults before the temporary files are created.
It does create a folder, but it has not contents:

root@f68f531146d6:/tmp# find .
.
./install.vAQM7S

2 - Ubuntu does not support RPMs, so I had to install alien and convert RPMs to DEBs to get your workaround to work.
Installing alien increases the container size by ~200MB

root@f68f531146d6:/data/l_compxe_2015.1.133/rpm# apt-get update
root@f68f531146d6:/data/l_compxe_2015.1.133/rpm# apt-get install alien
root@f68f531146d6:/data/l_compxe_2015.1.133/rpm# ls *.noarch.rpm *.x86_64.rpm | parallel alien -kc {} 2>&1 | grep -v NOKEY
root@f68f531146d6:/data/l_compxe_2015.1.133/rpm# dpkg -i --force-overwrite *.deb
#Two packages fail on the last step if --force-overwrite is not used. See http://pastie.org/private/p6x62a97th4fo5qmdpfow


3 - If you dont support docker what would you suggest in other to containerize a build process on a machine independent way?
What I was imagining is setting up a docker container with all the required pieces for a build and then I can deploy that container anywhere. Without having to rely on a specific machine.

Again, thanks for having a look at it. Much appreciated.

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi,
Thanks for the input  (not finding the log files or having to use the -force-overwrite switch) which is very useful further investigation.  With regard to the  interesting question (#3) on docker support, I am awaiting an input from the product team and will update you accordingly. Appreciate your patience till then.
_
Kittur 

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi,
Not finding the log files is strange and in such as case  the install binary apparently couldn't even execute on the system.
Can you please ensure that all the libraries that the installer depends on are present on the system?  You can execute ldd on the install binary to dump out the libraries as below. BTW, the pset directory is present in the same level as where the install.sh is found:

     % ldd pset/32e/install.32e

After you make sure you have all the libraries required from above on the system, you can execute install again and it should generate the pset log files I asked you to attach for the install group to investigate further. Let me know after you try it out, thanks.

_Kittur 

 

 

0 Kudos
Tiago_M_1
Beginner
1,138 Views

Hi Kittur,

Seems like I have all libraries:

root@2882daae2a9e:/data# ldd l_compxe_2015.1.133/pset/32e/install
        linux-vdso.so.1 =>  (0x00007fff229fe000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6c42d9b000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f6c42b82000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6c4287b000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f6c42678000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6c4245a000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f6c42155000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6c41f3f000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6c41b79000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6c42fa4000)

root@2882daae2a9e:/data# l_compxe_2015.1.133/pset/32e/install
Segmentation fault (core dumped)

If you read my original post it says that the problem seems to be related to the user running the installer. If I run the installer with a user that is not root everything works fine. 

Best,
Tiago

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi Tiago, that's interesting to note that you do have all the libs and you still don't see the pset log files in /tmp? I've passed on this feedback to the install team and will update you as soon as I've any, appreciate much.

_Kittur 

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi Tiago,
I've sent you a private message on this asking some more info. Could you please respond to that private message and we can communicate further there? I'll update this post once we have a resolution accordingly on this issue, appreciate much.
_Kittur

0 Kudos
Tiago_M_1
Beginner
1,138 Views

Just sent you an email. Thanks for looking at it, much appreciated.

0 Kudos
David_M_11
Beginner
1,138 Views

Hello,

I think I'm having a similar problem. The silent installer works for Parallel Studio XE 2015 update 1 if I have an interactive shell on the CentOS 6.6 system. If I try to run it through our cfengine configuration management, or trigger an install remotely from func (https://fedorahosted.org/func/) I get the segfault. It seems like the installer is expecting something from the environment that's not there in a docker container or in these install situations. Do you have any recommendations? Thanks,

Dave

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi David,
The issue could  be that the connection to the Inter Registration Center through https:// is not available from where you are executing and that would fail.  You can refer to the link on silent install at:
        https://software.intel.com/en-us/articles/intel-compilers-for-linux-silent-installation-guides/ 


The article above shows some small usage sample scenarios on some key environment variables that you can set as part of the configuration file so you can direct the install to use the license file instead of using the Serial Number to avoid the installer to try to ping the registration center etc. which could be a problem. Try that approach and see if it helps, thanks.

_Kittur 

0 Kudos
Tiago_M_1
Beginner
1,138 Views

David,

I found out that the installer expects a "USER" environment variable. Setting it seems to make everything work.

export USER=root

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi Tiago/David - 
I checked with the install team and what I confirmed was that setting USER variable is not a requirement. It’s a mishandled case in this release of the compiler and it's fixed for the next release which is not yet out, thanks
_Kittur

0 Kudos
Kittur_G_Intel
Employee
1,138 Views

Hi Tiago,
Since  setting the USER var worked, the next release of the installer should work accordingly. For now, you can use that workaround, appreciate much. Thanks for bringing this interesting issue to our attention.
_Kittur

0 Kudos
Luis_P_
Beginner
1,138 Views

Hello,

I'm trying to install "Intel® System Studio Ultimate Edition 2017" but I have had some problems with the Serial number. I'm sure that I'm using the correct serial number that was given to me when I downloaded the program. When I try to install the program using all the defaults, Ihave an error. It is: "Segmentation fault (core dumped)". Could some one help me with the error, please?

 

0 Kudos
Reply