Re: [OMPI users] problemwithexecstackandopenmpi-v1.10.1-140-g31ff573
Hi Gilles, thank you very much for your help! Your workaround works on my Linux machine as well. Best regards Siegmar On 01/20/16 03:59, Gilles Gouaillardet wrote: Siegmar, that looks like a libtool issue : "-z noexecstack" is not correctly passed to cc a simple workaround is to append "-Wl,-z -Wl,noexecstack" to your LDFLAGS (and do not pass "-z noexecstack" to LDFLAGS nor CFLAGS) Cheers, Gilles On 1/19/2016 11:19 PM, Siegmar Gross wrote: Hi Gilles, we have installed "execstack", but it doesn't work as expected. loki lib64 110 execstack -c libmpi_java.so.1.2.0 execstack: libmpi_java.so.1.2.0: Unknown debugging section .debug_funcnames loki lib64 111 We've also tried to build it with "cc" instead of "gcc", but it failed, because "configure" still uses "-Wall" and friends, although it used the correct compilers. I've removed "-Wall" and "-Wno-..." from all Makefiles. Unfortunately there are still some "-Wl,...", so that "make" fails. ... mkdir .libs cc -m64 -m64 -o execstack execstack.o checksum.o data.o dso.o dwarf2.o fptr.o hashtab.o mdebug.o stabs.o crc32.o arch-i386.o arch-alpha.o arch-ppc.o arch-ppc64.o arch-sparc.o arch-sparc64.o arch-x86_64.o arch-mips.o arch-s390.o arch-s390x.o arch-arm.o arch-sh.o arch-ia64.o -lelf dso.o: In function `fdopen_dso': dso.c:(.text+0x1bd1): undefined reference to `__start_pl_arch' dso.c:(.text+0x1be6): undefined reference to `__stop_pl_arch' dso.c:(.text+0x1c73): undefined reference to `__stop_pl_arch' dso.c:(.text+0x1c87): undefined reference to `__stop_pl_arch' dso.o: In function `update_dso': dso.c:(.text+0x7212): undefined reference to `strdupa' dso.c:(.text+0x7231): undefined reference to `strdupa' Makefile:266: recipe for target 'execstack' failed make[2]: *** [execstack] Error 2 Hopefully you find the place where you must add "-z noexecstack", so that the warnings for Java programs will not appear in future Open MPI versions. Best regards Siegmar Am 15.01.2016 um 14:05 schrieb Siegmar Gross: Hi Gilles, "execstack" isn't available at our system and it isn't part of the repository for SuSE Linux Enterprise Server or Desktop. Next week I'll ask our admin, if he can try to locate and install the program. Best regards Siegmar On 01/15/16 08:01, Gilles Gouaillardet wrote: Siegmar, did you try to run execstack -c /usr/local/openmpi-1.10.2_64_cc/lib64/libmpi_java.so.1.2.0 and did this help ? the message suggests you link with -z noexecstack, you added this to your CFLAGS and not LDFLAGS would you mind trying to configure with LDFLAGS='-m64 -mt -z noexecstack' and see if it helps ? Cheers, Gilles On 1/14/2016 11:30 PM, Siegmar Gross wrote: Hi, I've successfully built openmpi-v1.10.1-140-g31ff573 on my machine (SUSE Linux Enterprise Server 12.0 x86_64) with gcc-5.2.0 and Sun C 5.13. Unfortunately I get warnings if I use my cc version running a Java program, although I added "-z noexecstack" to CFLAGS. I used the following commands to build the package. mkdir openmpi-v1.10.1-140-g31ff573-${SYSTEM_ENV}.${MACHINE_ENV}.64_cc cd openmpi-v1.10.1-140-g31ff573-${SYSTEM_ENV}.${MACHINE_ENV}.64_cc ../openmpi-v1.10.1-140-g31ff573/configure \ --prefix=/usr/local/openmpi-1.10.2_64_cc \ --libdir=/usr/local/openmpi-1.10.2_64_cc/lib64 \ --with-jdk-bindir=/usr/local/jdk1.8.0_66/bin \ --with-jdk-headers=/usr/local/jdk1.8.0_66/include \ JAVA_HOME=/usr/local/jdk1.8.0_66 \ LDFLAGS="-m64 -mt" \ CC="cc" CXX="CC" FC="f95" \ CFLAGS="-m64 -mt -z noexecstack" CXXFLAGS="-m64 -library=stlport4" FCFLAGS="-m64" \ CPP="cpp" CXXCPP="cpp" \ --enable-mpi-cxx \ --enable-cxx-exceptions \ --enable-mpi-java \ --enable-heterogeneous \ --enable-mpi-thread-multiple \ --with-hwloc=internal \ --without-verbs \ --with-wrapper-cflags="-m64 -mt" \ --with-wrapper-cxxflags="-m64 -library=stlport4" \ --with-wrapper-fcflags="-m64" \ --with-wrapper-ldflags="-mt" \ --enable-debug \ |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV.64_cc loki java 115 ompi_info | egrep -e "Open MPI repo revision:" -e "C compiler absolute:" Open MPI repo revision: v1.10.1-140-g31ff573 C compiler absolute: /opt/solstudio12.4/bin/cc loki java 116 mpiexec -np 4 --host loki --slot-list 0:0-5,1:0-5 java MsgSendRecvMain Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/openmpi-1.10.2_64_cc/lib64/libmpi_java.so.1.2.0 which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/openmpi-1.10.2_64_cc/lib64/libmpi_java.so.1.2.0 which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. Java HotSpot(TM) 64-Bit Server VM warning: You have loaded librar
Re: [OMPI users] How to allocate more memory to java OpenMPI
Hi Howard, I use 64bit JVM. The problem is not in the code, because I am still getting the same error when I run the Hello.java from examples folder. Any other suggestion? Ibrahim List-Post: users@lists.open-mpi.org Date: Tue, 19 Jan 2016 09:48:24 -0700 From: hpprit...@gmail.com To: us...@open-mpi.org Subject: Re: [OMPI users] How to allocate more memory to java OpenMPI HI Ibrahim, Are you using a 32bit or 64bit JVM? I don't think this is an Open MPI issue, but likely something owing to your app or your java setup.You may want to checkout http://javaeesupportpatterns.blogspot.com/2012/09/outofmemoryerror-unable-to-create-new.html If you'd like to post the java code to the list, I can try it out on some of the servers I use. Howard 2016-01-19 8:03 GMT-07:00 Ibrahim Ikhlawi : Hallo, I'm working with java OpenMPI on a server with 64GB memory. But when I run the java class I can only run it on until 15 processes (with this command: mpirun -np 15 java Multiplikation). Although there is 64GB memory, only about 3 GB will be used(with top command can I see that, the first two lines are below). When I run more than 15 processes I get this error: Error occurred during initialization of VM java.lang.OutOfMemoryError: unable to create new native thread But I want to run it on more than 15 processes and use more than 3 GB. In Addition, after searching in google I have tried to run it with this command: mpirun -np 20 java -Xmx2096M -Xms1048M Multiplikation but I still get the same error. My question: How can I allocate java more memory, so that I run my program with more than 15 processes and more than 3GB memory? thanks in advance Ibrahim PS: It may help, these are the first two lines from the top command: PID PRI VIRTRESSHR S CPU% MEM% 23255 20 0 20.7G 103M 11916 S 2.0 0.2 0:52.14 java 23559 20 0 20.7G 33772 11916 S 1.0 0.1 0:50.82 java ___ users mailing list us...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/01/28301.php ___ users mailing list us...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/01/28302.php
Re: [OMPI users] How to allocate more memory to java OpenMPI
Hi Ibrahim, This is most likely due to a ulimit setting. Check with *ulimit -a* and set *ulimit -n unlimited* and *ulimit -l unlimited*. I've experienced the same problem in the past and this was the reason. Hope this helps On Wed, Jan 20, 2016 at 9:49 AM, Ibrahim Ikhlawi wrote: > > > Hi Howard, > > I use 64bit JVM. The problem is not in the code, because I am still > getting the same error when I run the Hello.java from examples folder. > Any other suggestion? > > Ibrahim > > -- > Date: Tue, 19 Jan 2016 09:48:24 -0700 > From: hpprit...@gmail.com > To: us...@open-mpi.org > Subject: Re: [OMPI users] How to allocate more memory to java OpenMPI > > > HI Ibrahim, > > Are you using a 32bit or 64bit JVM? > > I don't think this is an Open MPI issue, but likely something owing to > your app or your java setup. > You may want to checkout > > > http://javaeesupportpatterns.blogspot.com/2012/09/outofmemoryerror-unable-to-create-new.html > > If you'd like to post the java code to the list, I can try it out on some > of the servers I use. > > Howard > > > 2016-01-19 8:03 GMT-07:00 Ibrahim Ikhlawi : > > > Hallo, > > I'm working with java OpenMPI on a server with 64GB memory. But when I > run the java class I can only run it on until 15 processes (with this > command: mpirun -np 15 java Multiplikation). Although there is 64GB memory, > only about 3 GB will be used(with top command can I see that, the first two > lines are below). When I run more than 15 processes I get this error: > > Error occurred during initialization of VM > java.lang.OutOfMemoryError: unable to create new native thread > > > But I want to run it on more than 15 processes and use more than 3 GB. In > Addition, after searching in google I have tried to run it with this > command: > > mpirun -np 20 java -Xmx2096M -Xms1048M Multiplikation > > but I still get the same error. > > My question: How can I allocate java more memory, so that I run my program > with more than 15 processes and more than 3GB memory? > > thanks in advance > Ibrahim > > PS: > It may help, these are the first two lines from the top command: > > PID PRI VIRTRESSHR S CPU% MEM% > 23255 20 0 20.7G 103M 11916 S 2.0 0.2 0:52.14 java > 23559 20 0 20.7G 33772 11916 S 1.0 0.1 0:50.82 java > > > > > > > > > > > > > > ___ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/01/28301.php > > > > ___ users mailing list > us...@open-mpi.org Subscription: > http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: > http://www.open-mpi.org/community/lists/users/2016/01/28302.php > > ___ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/01/28308.php > -- Saliya Ekanayake Ph.D. Candidate | Research Assistant School of Informatics and Computing | Digital Science Center Indiana University, Bloomington Cell 812-391-4914 http://saliya.org
Re: [OMPI users] How to allocate more memory to java OpenMPI
the limit could come from the JVM. iirc, you have to add extra flags to the java command line so the JVM can allocate more memory. java -Xmx=... or something like that (and that could be JVM dependent) Cheers, Gilles On Thursday, January 21, 2016, Saliya Ekanayake wrote: > Hi Ibrahim, > > This is most likely due to a ulimit setting. Check with *ulimit -a* and > set *ulimit -n unlimited* and *ulimit -l unlimited*. > > I've experienced the same problem in the past and this was the reason. > > Hope this helps > > On Wed, Jan 20, 2016 at 9:49 AM, Ibrahim Ikhlawi > wrote: > >> >> >> Hi Howard, >> >> I use 64bit JVM. The problem is not in the code, because I am still >> getting the same error when I run the Hello.java from examples folder. >> Any other suggestion? >> >> Ibrahim >> >> -- >> Date: Tue, 19 Jan 2016 09:48:24 -0700 >> From: hpprit...@gmail.com >> >> To: us...@open-mpi.org >> >> Subject: Re: [OMPI users] How to allocate more memory to java OpenMPI >> >> >> HI Ibrahim, >> >> Are you using a 32bit or 64bit JVM? >> >> I don't think this is an Open MPI issue, but likely something owing to >> your app or your java setup. >> You may want to checkout >> >> >> http://javaeesupportpatterns.blogspot.com/2012/09/outofmemoryerror-unable-to-create-new.html >> >> If you'd like to post the java code to the list, I can try it out on some >> of the servers I use. >> >> Howard >> >> >> 2016-01-19 8:03 GMT-07:00 Ibrahim Ikhlawi > >: >> >> >> Hallo, >> >> I'm working with java OpenMPI on a server with 64GB memory. But when I >> run the java class I can only run it on until 15 processes (with this >> command: mpirun -np 15 java Multiplikation). Although there is 64GB memory, >> only about 3 GB will be used(with top command can I see that, the first two >> lines are below). When I run more than 15 processes I get this error: >> >> Error occurred during initialization of VM >> java.lang.OutOfMemoryError: unable to create new native thread >> >> >> But I want to run it on more than 15 processes and use more than 3 GB. In >> Addition, after searching in google I have tried to run it with this >> command: >> >> mpirun -np 20 java -Xmx2096M -Xms1048M Multiplikation >> >> but I still get the same error. >> >> My question: How can I allocate java more memory, so that I run my >> program with more than 15 processes and more than 3GB memory? >> >> thanks in advance >> Ibrahim >> >> PS: >> It may help, these are the first two lines from the top command: >> >> PID PRI VIRTRESSHR S CPU% MEM% >> 23255 20 0 20.7G 103M 11916 S 2.0 0.2 0:52.14 java >> 23559 20 0 20.7G 33772 11916 S 1.0 0.1 0:50.82 java >> >> >> >> >> >> >> >> >> >> >> >> >> >> ___ >> users mailing list >> us...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> Link to this post: >> http://www.open-mpi.org/community/lists/users/2016/01/28301.php >> >> >> >> ___ users mailing list >> us...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to >> this post: >> http://www.open-mpi.org/community/lists/users/2016/01/28302.php >> >> ___ >> users mailing list >> us...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> Link to this post: >> http://www.open-mpi.org/community/lists/users/2016/01/28308.php >> > > > > -- > Saliya Ekanayake > Ph.D. Candidate | Research Assistant > School of Informatics and Computing | Digital Science Center > Indiana University, Bloomington > Cell 812-391-4914 > http://saliya.org >
Re: [OMPI users] How to allocate more memory to java OpenMPI
I thought he already tried a larger -Xmx setting of 2GB, which is more than enough for the simple HelloWord application On Wed, Jan 20, 2016 at 5:11 PM, Gilles Gouaillardet < gilles.gouaillar...@gmail.com> wrote: > the limit could come from the JVM. > iirc, you have to add extra flags to the java command line so the JVM can > allocate more memory. > java -Xmx=... > or something like that (and that could be JVM dependent) > > Cheers, > > Gilles > > > On Thursday, January 21, 2016, Saliya Ekanayake wrote: > >> Hi Ibrahim, >> >> This is most likely due to a ulimit setting. Check with *ulimit -a* and >> set *ulimit -n unlimited* and *ulimit -l unlimited*. >> >> I've experienced the same problem in the past and this was the reason. >> >> Hope this helps >> >> On Wed, Jan 20, 2016 at 9:49 AM, Ibrahim Ikhlawi > > wrote: >> >>> >>> >>> Hi Howard, >>> >>> I use 64bit JVM. The problem is not in the code, because I am still >>> getting the same error when I run the Hello.java from examples folder. >>> Any other suggestion? >>> >>> Ibrahim >>> >>> -- >>> Date: Tue, 19 Jan 2016 09:48:24 -0700 >>> From: hpprit...@gmail.com >>> To: us...@open-mpi.org >>> Subject: Re: [OMPI users] How to allocate more memory to java OpenMPI >>> >>> >>> HI Ibrahim, >>> >>> Are you using a 32bit or 64bit JVM? >>> >>> I don't think this is an Open MPI issue, but likely something owing to >>> your app or your java setup. >>> You may want to checkout >>> >>> >>> http://javaeesupportpatterns.blogspot.com/2012/09/outofmemoryerror-unable-to-create-new.html >>> >>> If you'd like to post the java code to the list, I can try it out on >>> some of the servers I use. >>> >>> Howard >>> >>> >>> 2016-01-19 8:03 GMT-07:00 Ibrahim Ikhlawi : >>> >>> >>> Hallo, >>> >>> I'm working with java OpenMPI on a server with 64GB memory. But when I >>> run the java class I can only run it on until 15 processes (with this >>> command: mpirun -np 15 java Multiplikation). Although there is 64GB memory, >>> only about 3 GB will be used(with top command can I see that, the first two >>> lines are below). When I run more than 15 processes I get this error: >>> >>> Error occurred during initialization of VM >>> java.lang.OutOfMemoryError: unable to create new native thread >>> >>> >>> But I want to run it on more than 15 processes and use more than 3 GB. >>> In Addition, after searching in google I have tried to run it with this >>> command: >>> >>> mpirun -np 20 java -Xmx2096M -Xms1048M Multiplikation >>> >>> but I still get the same error. >>> >>> My question: How can I allocate java more memory, so that I run my >>> program with more than 15 processes and more than 3GB memory? >>> >>> thanks in advance >>> Ibrahim >>> >>> PS: >>> It may help, these are the first two lines from the top command: >>> >>> PID PRI VIRTRESSHR S CPU% MEM% >>> 23255 20 0 20.7G 103M 11916 S 2.0 0.2 0:52.14 java >>> 23559 20 0 20.7G 33772 11916 S 1.0 0.1 0:50.82 java >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> ___ >>> users mailing list >>> us...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >>> Link to this post: >>> http://www.open-mpi.org/community/lists/users/2016/01/28301.php >>> >>> >>> >>> ___ users mailing list >>> us...@open-mpi.org Subscription: >>> http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: >>> http://www.open-mpi.org/community/lists/users/2016/01/28302.php >>> >>> ___ >>> users mailing list >>> us...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >>> Link to this post: >>> http://www.open-mpi.org/community/lists/users/2016/01/28308.php >>> >> >> >> >> -- >> Saliya Ekanayake >> Ph.D. Candidate | Research Assistant >> School of Informatics and Computing | Digital Science Center >> Indiana University, Bloomington >> Cell 812-391-4914 >> http://saliya.org >> > > ___ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2016/01/28310.php > -- Saliya Ekanayake Ph.D. Candidate | Research Assistant School of Informatics and Computing | Digital Science Center Indiana University, Bloomington Cell 812-391-4914 http://saliya.org
[OMPI users] MPI hangs on poll_device() with rdma
Run MPI_Send on MPI1.8.5 without multithread enabled: it hangs on mca_pml_ob1_send() -> opal_progreses() -> btl_openib_component_progress() -> poll_device() -> libmlx4-rdmav2.so -> cq -> phread_spin_unlock The program can run on TCP with no error.