---------- Forwarded message ---------- From: Brian Blank <brianbl...@gmail.com> List-Post: devel@lists.open-mpi.org Date: Fri, May 1, 2009 at 11:54 AM Subject: Re: [OMPI devel] Fwd: Purify found bugs inside open-mpi library To: Terry Dontje <terry.don...@sun.com>
Hi Terry, I did a memset() prior to the call to processor_info(), and the UMR went away. I further tested by setting pinfo.pi_state to -1 prior to the call to processor_info(), and processor_info() always sets pinfo.pi_state to 2. Therefore, I am starting to suspect this is a bug in purify. Maybe purify is having issues detecting that this variable was updated by system code. I'm going to forward a sample program to the IBM purify team to have them investigate further. I also attached a copy of mpi_purify.txt that contains all the purify findings. Therefore a handful of UMR errors that occur through different call stacks. Also, there are 2 file descriptors left open & a lot of memory that leaked despite me calling MPI_Finalize(). Let me know if you need me to try something else or to produce any additional output. Thanks again, Brian On Thu, Apr 30, 2009 at 10:11 AM, Terry Dontje <terry.don...@sun.com> wrote: > So I've been kibitzing with Jeff on the below. If you do a memset of pinfo > prior to the line you show below does the UMR go away. I believe it will > not and that you probably will need to do something like pinfo.pi_state = 0. > Can you try this out for me? > Thanks, > > --td > > > Brian Blank wrote: > >> Hi Jeff, >> >> That definetly worked for me. Thanks so much for you help. >> >> Purify did find some other UMR (unitialize memory read) errors though, but >> they don't seem to be negativley impacting my application right now. >> Nonetheless, I'll post them later today in case anyone is interested in >> them. >> >> Just to give you a sample of what it see's now, one of the UMR errors >> seems a little odd ... paffinity_solaris_module.c line 180. >> if (P_ONLINE == pinfo.pi_state || P_NOINTR == pinfo.pi_state) { >> >> I'll post the rest of the UMR errors later today. >> >> Thanks again, >> Brian >> >> On Apr 29, 2009, at 4:06 PM, Jeff Squyres <jsquy...@cisco.com> wrote: >> >> Actually, I think your program is erroneous -- it looks like you're using >>> number of bytes for the sizes[] array when it really should be using number >>> of elements. Specifically, it should be: >>> >>> sizes[0] = (int) sizeof(tstruct.one); >>> sizes[1] = 1; >>> sizes[2] = 1; >>> sizes[3] = 1; >>> >>> Since MPI knows the sizes of datatypes, you specify counts of datatypes >>> -- not numbers of bytes. >>> >>> That seemed to make your program work for me; double check and ensure >>> that it works for you. >>> >>> >>> On Apr 29, 2009, at 1:21 PM, Brian Blank wrote: >>> >>> To Whom This May Concern: >>>> >>>> I originally sent this to the users list, but realizing now that this >>>> might be more appropriate for the developer's list as it is dealing with >>>> issues internal to the openmpi library (sorry for the dual distribution). >>>> Please start with second email first. >>>> >>>> Thanks, >>>> Brian Blank >>>> >>>> ---------- Forwarded message ---------- >>>> From: Brian Blank <brianbl...@gmail.com> >>>> Date: Wed, Apr 29, 2009 at 1:09 PM >>>> Subject: Re: Purify found bugs inside open-mpi library >>>> To: us...@open-mpi.org >>>> >>>> >>>> To Whom This May Concern: >>>> >>>> I've been trying to dig a little deeper into this problem and found some >>>> additional information. >>>> >>>> First, the stack trace for the ABR and ABW were different. The ABR >>>> problem occurred in datatype_pack.h while the ABW problem occurred in >>>> datatype_unpack.h. The problem appears to be the same still. Both errors >>>> are occurring during a call to MEMCPY_CSUM(). >>>> >>>> I also found there are two different variables playing into this bug. >>>> There is _copy_blength and _copy_count. At the top of the function, both >>>> of these variables are set to 2 bytes for MPI_SHORT, 4 bytes for MPI_LONG, >>>> and 8 bytes for MPI_DOUBLE. Then, these variables are multiplied together >>>> to get the size of the memcpy(). Unfortunetly, the correct size are either >>>> of these variables before they are squared. There sometimes appears to be >>>> an optimization where if two variables are next to each other, they are >>>> sometimes converted into a MPI_BYTE where the size is also incorrectly >>>> taking these squared values into consideration. >>>> >>>> I wrote a small test program to illustrate the problem and attached it >>>> to this email. First, I configured openmpi 1.3.2 with the following >>>> options: >>>> >>>> ./configure --prefix=/myworkingdirectory/openmpi-1.3.2.local >>>> --disable-mpi-f77 --disable-mpi-f90 --enable-debug --enable-mem-debug >>>> --enable-mem-profile >>>> >>>> I then modified datatype_pack.h & datatype_unpack.h located in >>>> openmpi-1.3.2/ompi/datatype directory in order to produce additional >>>> debugging output. The new versions are attached to this email. >>>> >>>> Then, I executed "make all install" >>>> >>>> Then, I write the attached test.c program. You can find the output >>>> below. The problems appear in red. >>>> >>>> 0: sizes '3' '4' '8' '2' >>>> 0: offsets '0' '4' '8' '16' >>>> 0: addresses '134510640' '134510644' '134510648' '134510656' >>>> 0: name='MPI_CHAR' _copy_blength='3' orig_copy_blength='1' >>>> _copy_count='3' _source='134510640' >>>> 0: name='MPI_LONG' _copy_blength='16' orig_copy_blength='4' >>>> _copy_count='4' _source='134510644' >>>> 0: name='MPI_DOUBLE' _copy_blength='64' orig_copy_blength='8' >>>> _copy_count='8' _source='134510648' >>>> 0: name='MPI_SHORT' _copy_blength='4' orig_copy_blength='2' >>>> _copy_count='2' _source='134510656' >>>> 0: one='22' two='222' three='33.300000' four='44' >>>> 1: sizes '3' '4' '8' '2' >>>> 1: offsets '0' '4' '8' '16' >>>> 1: addresses '134510640' '134510644' '134510648' '134510656' >>>> 1: name='MPI_CHAR' _copy_blength='3' orig_copy_blength='1' >>>> _copy_count='3' _destination='134510640' >>>> 1: name='MPI_LONG' _copy_blength='16' orig_copy_blength='4' >>>> _copy_count='4' _destination='134510644' >>>> 1: name='MPI_DOUBLE' _copy_blength='64' orig_copy_blength='8' >>>> _copy_count='8' _destination='134510648' >>>> 1: name='MPI_SHORT' _copy_blength='4' orig_copy_blength='2' >>>> _copy_count='2' _destination='134510656' >>>> 1: one='22' two='222' three='33.300000' four='44' >>>> >>>> You can see from the output that the MPI_Send & MPI_Recv functions are >>>> reading or writing too much data from my structure, causing an overflow >>>> condition to occur. I believe this is causing my application to crash. >>>> >>>> Any help on this problem would be appreciated. If there is anything >>>> else that you need from me, just let me know. >>>> >>>> Thanks, >>>> Brian >>>> >>>> >>>> >>>> >>>> On Tue, Apr 28, 2009 at 9:58 PM, Brian Blank <brianbl...@gmail.com> >>>> wrote: >>>> To Whom This May Concern: >>>> >>>> I am having problems with an OpenMPI application I am writing on the >>>> Solaris/Intel AMD64 platform. I am using OpenMPI 1.3.2 which I compiled >>>> myself using the Solaris C/C++ compiler. >>>> >>>> My application was crashing (signal 11) inside a call to malloc() which >>>> my code was running. I thought it might be a memory overflow error that >>>> was >>>> causing this, so I fired up Purify. Purify found several problems inside >>>> the the OpenMPI library. I think one of the errors is serious and might be >>>> causing the problems I was looking for. >>>> >>>> The serious error is an Array Bounds Write (ABW) which occurred 824 >>>> times through 312 calls to MPI_Recv(). This error means that something >>>> inside the OpenMPI library is writing to memory where it shouldn't be >>>> writing to. Here is the stack trace at the time of this error: >>>> >>>> Stack Trace 1 (Occurred 596 times) >>>> >>>> memcpy rtlib.o >>>> unpack_predefined_data [datatype_unpack.h:41] >>>> MEMCPY_CSUM( _destination, *(SOURCE), _copy_blength, (CONVERTOR) ); >>>> ompi_generic_simple_unpack [datatype_unpack.c:419] >>>> ompi_convertor_unpack [convertor.c:314] >>>> mca_pml_ob1_recv_frag_callback_match [pml_ob1_recvfrag.c:218] >>>> mca_btl_sm_component_progress [btl_sm_component.c:427] >>>> opal_progress [opal_progress.c:207] >>>> opal_condition_wait [condition.h:99] >>>> <Writing 64 bytes to 0x821f738 in heap (16 bytes at 0x821f768 illegal).> >>>> <Address 0x821f738 is 616 bytes into a malloc'd block at 0x821f4d0 of >>>> 664 bytes.> >>>> >>>> Stack Trace 2 (Occurred 228 times) >>>> >>>> memcpy rtlib.o >>>> unpack_predefined_data [datatype_unpack.h:41] >>>> MEMCPY_CSUM( _destination, *(SOURCE), _copy_blength, (CONVERTOR) ); >>>> ompi_generic_simple_unpack [datatype_unpack.c:419] >>>> ompi_convertor_unpack [convertor.c:314] >>>> mca_pml_ob1_recv_request_progress_match [pml_ob1_recvreq.c:624] >>>> mca_pml_ob1_Recv_req_start [pml_ob1_recvreq.c:1008] >>>> mca_pml_ob1_recv [pml_ob1_irecv.c:103] >>>> MPI_Recv [precv.c:75] >>>> <Writing 64 bytes to 0x821f738 in heap (16 bytes at 0x821f768 illegal).> >>>> <Address 0x821f738 is 616 bytes into a malloc'd block at 0x821f4d0 of >>>> 664 bytes.> >>>> >>>> >>>> I'm not that familiar with the under workings of the openmpi library, >>>> but I tried to debug it anyway. I noticed that it was copying a lot of >>>> extra bytes for MPI_LONG and MPI_DOUBLE types. On my system, MPI_LONG >>>> should have been 4 bytes, but was copying 16 bytes. Also, MPI_DOUBLE >>>> should >>>> have been 8 bytes, but was copying 64 bytes. It seems the _copy_blength >>>> variable was being set to high, but I'm not sure why. The above error also >>>> shows 64 bytes being read, where my debugging shows a 64 byte copy for all >>>> MPI_DOUBLE types, which I feel should have been 8 bytes. Therefore, I >>>> really believe _copy_blength is being set to high. >>>> >>>> >>>> Interestingly enough, the call to MPI_Isend() was generating an ABR >>>> (Array Bounds Read) error in the exact same line of code. The ABR error >>>> sometimes can be fatal if the bytes being read is not a legal address, but >>>> the ABW error is usually a much more fatal error because it is definitely >>>> writing into memory that is probably used for something else. I'm sure >>>> that >>>> if we fix the ABW error, the ABR error should fix itself too as it's the >>>> same line of code. >>>> >>>> Purify also found 14 UMR (Uninitialized memory read) errors inside the >>>> OpenMPI library. Sometimes this can be really bad if there are any >>>> decisions being made as a result of reading this memory location. But for >>>> now, let's solve the serious error I reported above first, then I will send >>>> you the UMR errors next. >>>> >>>> Any help you can provide would be greatly appreciated. >>>> >>>> Thanks, >>>> Brian >>>> >>>> >>>> >>>> <datatype_pack.h><datatype_unpack.h><test.c>_______________________________________________ >>>> >>>> devel mailing list >>>> de...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>> >>> >>> >>> -- >>> Jeff Squyres >>> Cisco Systems >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> > >
UMR: Uninitialized memory read This is occurring while in thread 1: _writev [libc.so.1] writev [libc.so.1] mca_oob_tcp_msg_send_handler [oob_tcp_msg.c:265] { int rc; while(1) { => rc = writev(peer->peer_sd, msg->msg_rwptr, msg->msg_rwnum); if(rc < 0) { if(opal_socket_errno == EINTR) continue; mca_oob_tcp_peer_send [oob_tcp_peer.c:197] mca_oob_tcp_send_nb [oob_tcp_send.c:167] orte_rml_oob_send [rml_oob_send.c:144] orte_rml_oob_send_buffer [rml_oob_send.c:269] allgather [grpcomm_bad_module.c:369] Reading 160 bytes from 0x823fc50 in the heap (4 bytes at 0x823fcb7 uninit). Address 0x823fc50 is at the beginning of a malloc'd block of 256 bytes. This block was allocated from thread 1: realloc [rtlib.o] opal_dss_buffer_extend [dss_internal_functions.c:63] opal_dss_copy_payload [dss_load_unload.c:164] allgather [grpcomm_bad_module.c:363] modex [grpcomm_bad_module.c:497] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] main [my program] UMR: Uninitialized memory read This is occurring while in thread 1: solaris_module_get [paffinity_solaris_module.c:142] } opal_output_verbose(5, opal_paffinity_base_output, => "paffinity:solaris: obind=%d", obind); /* if there isn't any processor binded, just zero out and return */ OPAL_PAFFINITY_CPU_ZERO(*cpumask); opal_paffinity_base_get [paffinity_base_wrappers.c:51] init_maffinity [btl_sm.c:141] sm_btl_first_time_init [btl_sm.c:179] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] Reading 4 bytes from 0x80467e4 on the stack of thread 1. Address 0x80467e4 is local variable "obind" in function solaris_module_get. UMR: Uninitialized memory read This is occurring while in thread 1: solaris_module_get [paffinity_solaris_module.c:146] /* if there isn't any processor binded, just zero out and return */ OPAL_PAFFINITY_CPU_ZERO(*cpumask); => if (PBIND_NONE != obind) { OPAL_PAFFINITY_CPU_SET(obind, *cpumask); } return OPAL_SUCCESS; opal_paffinity_base_get [paffinity_base_wrappers.c:51] init_maffinity [btl_sm.c:141] sm_btl_first_time_init [btl_sm.c:179] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] Reading 4 bytes from 0x80467e4 on the stack of thread 1. Address 0x80467e4 is local variable "obind" in function solaris_module_get. UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:79] mseg.mbs_start_addr = mpool_sm->sm_allocator->alc_alloc(mpool_sm->sm_allocator, size, align, registration); => if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } mpool_calloc [btl_sm.c:108] sm_btl_first_time_init [btl_sm.c:307] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:81] if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; => opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } return mseg.mbs_start_addr; mpool_calloc [btl_sm.c:108] sm_btl_first_time_init [btl_sm.c:307] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:79] mseg.mbs_start_addr = mpool_sm->sm_allocator->alc_alloc(mpool_sm->sm_allocator, size, align, registration); => if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } ompi_free_list_grow [ompi_free_list.c:200] ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:339] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:81] if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; => opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } return mseg.mbs_start_addr; ompi_free_list_grow [ompi_free_list.c:200] ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:339] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:79] mseg.mbs_start_addr = mpool_sm->sm_allocator->alc_alloc(mpool_sm->sm_allocator, size, align, registration); => if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } ompi_free_list_grow [ompi_free_list.c:200] ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:352] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:81] if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; => opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } return mseg.mbs_start_addr; ompi_free_list_grow [ompi_free_list.c:200] ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:352] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:79] mseg.mbs_start_addr = mpool_sm->sm_allocator->alc_alloc(mpool_sm->sm_allocator, size, align, registration); => if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } sm_fifo_init [btl_sm.h:214] mca_btl_sm_add_procs [btl_sm.c:513] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:81] if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; => opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } return mseg.mbs_start_addr; sm_fifo_init [btl_sm.h:214] mca_btl_sm_add_procs [btl_sm.c:513] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read (7 times) This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:79] mseg.mbs_start_addr = mpool_sm->sm_allocator->alc_alloc(mpool_sm->sm_allocator, size, align, registration); => if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } ompi_free_list_grow [ompi_free_list.c:200] mca_btl_sm_alloc [btl_sm.c:612] mca_bml_base_alloc [bml.h:241] mca_pml_ob1_send_request_start_copy [pml_ob1_sendreq.c:509] mca_pml_ob1_send_request_start_btl [pml_ob1_sendreq.h:363] mca_pml_ob1_send_request_start [pml_ob1_sendreq.h:429] mca_pml_ob1_isend [pml_ob1_isend.c:87] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] UMR: Uninitialized memory read (7 times) This is occurring while in thread 1: mca_mpool_sm_alloc [mpool_sm_module.c:81] if(mpool_sm->mem_node >= 0) { mseg.mbs_len = size; => opal_maffinity_base_bind(&mseg, 1, mpool_sm->mem_node); } return mseg.mbs_start_addr; ompi_free_list_grow [ompi_free_list.c:200] mca_btl_sm_alloc [btl_sm.c:612] mca_bml_base_alloc [bml.h:241] mca_pml_ob1_send_request_start_copy [pml_ob1_sendreq.c:509] mca_pml_ob1_send_request_start_btl [pml_ob1_sendreq.h:363] mca_pml_ob1_send_request_start [pml_ob1_sendreq.h:429] mca_pml_ob1_isend [pml_ob1_isend.c:87] Reading 4 bytes from 0x81d3038 in the heap. Address 0x81d3038 is 64 bytes into a malloc'd block at 0x81d2ff8 of 68 bytes. This block was allocated from thread 1: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] The following 2 File Descriptors were left open, even after calling MPI_Finalize(). (A) /dev/poll, O_RDWR opened from: open [rtlib.o] devpoll_init [devpoll.c:150] if((dbfd = open("/dev/poll", O_RDWR)) == -1) { opal_event_base_new [event.c:362] open_event_init [event.c:325] opal_init [opal_init.c:359] orte_init [orte_init.c:76] ompi_mpi_init [ompi_mpi_init.c:342] MPI_Init [pinit.c:80] (B) <unnamed socket>, O_RDWR _so_socket [libc.so.1] _socket_create [libsocket.so.1] _socketpair_create [libsocket.so.1] socketpair [libsocket.so.1] opal_evutil_socketpair [evutil.c:59] return socketpair(family, type, protocol, fd); opal_evsignal_init [signal.c:104] devpoll_init [devpoll.c:185] opal_event_base_new [event.c:362] Memory leaked: 82907 bytes (24.6%); potentially leaked: 0 bytes (0%) Memory leaked: 82907 bytes (24.6%); potentially leaked: 0 bytes (0%) MLK: 58604 bytes leaked in 7 blocks This memory was allocated from: malloc [rtlib.o] ompi_free_list_grow [ompi_free_list.c:188] alloc_size = num_elements * head_size + sizeof(ompi_free_list_memory_t) + flist->fl_frag_alignment; => alloc_ptr = (ompi_free_list_memory_t*)malloc(alloc_size); if(NULL == alloc_ptr) return OMPI_ERR_TEMP_OUT_OF_RESOURCE; mca_btl_sm_alloc [btl_sm.c:612] mca_bml_base_alloc [bml.h:241] mca_pml_ob1_send_request_start_copy [pml_ob1_sendreq.c:509] mca_pml_ob1_send_request_start_btl [pml_ob1_sendreq.h:363] mca_pml_ob1_send_request_start [pml_ob1_sendreq.h:429] mca_pml_ob1_isend [pml_ob1_isend.c:87] Block of 8372 bytes (7 times); last block at 0x84a1950 MLK: 2160 bytes leaked at 0x820e408 This memory was allocated from: malloc [rtlib.o] mca_allocator_bucket_init [allocator_bucket_alloc.c:53] } /* initialize the array of buckets */ size = sizeof(mca_allocator_bucket_bucket_t) * num_buckets; => mem_options->buckets = (mca_allocator_bucket_bucket_t*) malloc(size); if(NULL == mem_options->buckets) { return(NULL); } mca_allocator_bucket_module_init [allocator_bucket.c:69] mca_mpool_sm_init [mpool_sm_component.c:243] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] MLK: 2160 bytes leaked at 0x8220d30 This memory was allocated from: malloc [rtlib.o] mca_allocator_bucket_init [allocator_bucket_alloc.c:53] } /* initialize the array of buckets */ size = sizeof(mca_allocator_bucket_bucket_t) * num_buckets; => mem_options->buckets = (mca_allocator_bucket_bucket_t*) malloc(size); if(NULL == mem_options->buckets) { return(NULL); } mca_allocator_bucket_module_init [allocator_bucket.c:69] mca_pml_ob1_component_open [pml_ob1_component.c:132] open_components [mca_base_components_open.c:362] mca_base_components_open [mca_base_components_open.c:213] mca_pml_base_open [pml_base_open.c:113] ompi_mpi_init [ompi_mpi_init.c:478] MLK: 2160 bytes leaked at 0x81e09e8 This memory was allocated from: malloc [rtlib.o] mca_allocator_bucket_init [allocator_bucket_alloc.c:53] } /* initialize the array of buckets */ size = sizeof(mca_allocator_bucket_bucket_t) * num_buckets; => mem_options->buckets = (mca_allocator_bucket_bucket_t*) malloc(size); if(NULL == mem_options->buckets) { return(NULL); } mca_allocator_bucket_module_init [allocator_bucket.c:69] mca_pml_csum_component_open [pml_csum_component.c:139] open_components [mca_base_components_open.c:362] mca_base_components_open [mca_base_components_open.c:213] mca_pml_base_open [pml_base_open.c:113] ompi_mpi_init [ompi_mpi_init.c:478] MLK: 1204 bytes leaked at 0x820f178 This memory was allocated from: malloc [rtlib.o] ompi_free_list_grow [ompi_free_list.c:188] alloc_size = num_elements * head_size + sizeof(ompi_free_list_memory_t) + flist->fl_frag_alignment; => alloc_ptr = (ompi_free_list_memory_t*)malloc(alloc_size); if(NULL == alloc_ptr) return OMPI_ERR_TEMP_OUT_OF_RESOURCE; ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:339] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] MLK: 1204 bytes leaked at 0x8218590 This memory was allocated from: malloc [rtlib.o] ompi_free_list_grow [ompi_free_list.c:188] alloc_size = num_elements * head_size + sizeof(ompi_free_list_memory_t) + flist->fl_frag_alignment; => alloc_ptr = (ompi_free_list_memory_t*)malloc(alloc_size); if(NULL == alloc_ptr) return OMPI_ERR_TEMP_OUT_OF_RESOURCE; ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] sm_btl_first_time_init [btl_sm.c:352] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] MLK: 1072 bytes leaked at 0x81b2480 This memory was allocated from: malloc [rtlib.o] _nss_XbyY_buf_alloc [libc.so.1] get_pwbuf [libc.so.1] getpwuid [libc.so.1] orte_session_dir_get_name [session_dir.c:143] orte_session_dir [session_dir.c:390] orte_ess_base_app_setup [ess_base_std_app.c:131] rte_init [ess_env_module.c:153] MLK: 1026 bytes leaked at 0x81e12d0 This memory was allocated from: malloc [rtlib.o] get_hostname_buffer [net.c:102] if (OPAL_SUCCESS != ret) return NULL; if (NULL == buffer) { => buffer = (void*) malloc((NI_MAXHOST + 1) * sizeof(char)); ret = opal_tsd_setspecific(hostname_tsd_key, buffer); } opal_net_get_hostname [net.c:274] mca_oob_tcp_get_addr [oob_tcp.c:1485] orte_rml_oob_get_uri [rml_oob_contact.c:30] orte_routed_base_register_sync [routed_base_register_sync.c:75] init_routes [routed_binomial.c:875] orte_ess_base_app_setup [ess_base_std_app.c:150] MLK: 1020 bytes leaked at 0x83f1dd8 This memory was allocated from: calloc [rtlib.o] ompi_ddt_create [dt_create.c:106] if( expectedSize == -1 ) expectedSize = DT_INCREASE_STACK; datatype->desc.length = expectedSize + 1; /* one for the fake elem at the end */ datatype->desc.used = 0; => datatype->desc.desc = (dt_elem_desc_t*)calloc(datatype->desc.length, sizeof(dt_elem_desc_t)); memset( datatype->name, 0, MPI_MAX_OBJECT_NAME ); return datatype; } ompi_ddt_create_struct [dt_create_struct.c:71] MPI_Type_create_struct [ptype_create_struct.c:79] MPI_Type_struct [ptype_struct.c:43] main [my program] _start [crt1.o] MLK: 940 bytes leaked at 0x8218aa0 This memory was allocated from: malloc [rtlib.o] opal_free_list_grow [opal_free_list.c:95] alloc_ptr = (unsigned char *)malloc((num_elements * flist->fl_elem_size) + sizeof(opal_list_item_t) + => CACHE_LINE_SIZE); if(NULL == alloc_ptr) return OPAL_ERR_TEMP_OUT_OF_RESOURCE; opal_free_list_init [opal_free_list.c:78] sm_btl_first_time_init [btl_sm.c:359] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MLK: 832 bytes leaked at 0x83f2230 This memory was allocated from: malloc [rtlib.o] ompi_ddt_set_args [dt_args.c:113] ompi_ddt_args_t* pArgs; assert( NULL == pData->args ); => ALLOC_ARGS( pData, ci, ca, cd ); pArgs = (ompi_ddt_args_t*)pData->args; pArgs->create_type = type; MPI_Type_create_struct [ptype_create_struct.c:92] MPI_Type_struct [ptype_struct.c:43] main [my program] _start [crt1.o] MLK: 816 bytes leaked in 16 blocks This memory was allocated from: malloc [rtlib.o] get_print_name_buffer [name_fns.c:96] orte_util_print_jobids [name_fns.c:169] orte_util_print_name_args [name_fns.c:131] env_set_name [ess_env_module.c:383] rte_init [ess_env_module.c:129] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] Block of 51 bytes (16 times); last block at 0x81cccf8 MLK: 740 bytes leaked at 0x83f25d0 This memory was allocated from: malloc [rtlib.o] ompi_ddt_optimize_short [dt_optimize.c:88] ompi_ddt_commit [dt_optimize.c:306] MPI_Type_commit [ptype_commit.c:54] main [my program] _start [crt1.o] MLK: 692 bytes leaked at 0x81ddea0 This memory was allocated from: malloc [rtlib.o] ompi_free_list_grow [ompi_free_list.c:188] ompi_free_list_init_ex_new [ompi_free_list.c:163] ompi_free_list_init_new [ompi_free_list.h:173] mca_pml_ob1_enable [pml_ob1.c:130] ompi_mpi_init [ompi_mpi_init.c:656] MPI_Init [pinit.c:80] main [my program] MLK: 672 bytes leaked in 2 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_ddt_create [dt_create.c:101] ompi_ddt_create_struct [dt_create_struct.c:71] MPI_Type_create_struct [ptype_create_struct.c:79] MPI_Type_struct [ptype_struct.c:43] Block of 336 bytes (2 times); last block at 0x83f2f38 MLK: 564 bytes leaked in 3 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] mca_bml_r2_add_procs [bml_r2.c:224] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] Block of 188 bytes (3 times); last block at 0x8214248 MLK: 552 bytes leaked in 3 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] modex_lookup_orte_proc [grpcomm_base_modex.c:246] orte_grpcomm_base_update_modex_entries [grpcomm_base_modex.c:437] modex [grpcomm_bad_module.c:565] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] Block of 184 bytes (3 times); last block at 0x823c730 MLK: 540 bytes leaked at 0x83f16e0 This memory was allocated from: malloc [rtlib.o] ompi_ddt_optimize_short [dt_optimize.c:88] ompi_ddt_commit [dt_optimize.c:306] MPI_Type_commit [ptype_commit.c:54] main [my program] _start [crt1.o] MLK: 520 bytes leaked at 0x83f3208 This memory was allocated from: calloc [rtlib.o] ompi_ddt_create [dt_create.c:106] ompi_ddt_create_struct [dt_create_struct.c:71] MPI_Type_create_struct [ptype_create_struct.c:79] MPI_Type_struct [ptype_struct.c:43] main [my program] _start [crt1.o] MLK: 512 bytes leaked at 0x81bec20 This memory was allocated from: malloc [rtlib.o] mca_oob_tcp_addr_insert [oob_tcp_addr.c:167] mca_oob_tcp_set_addr [oob_tcp.c:1635] orte_rml_oob_set_uri [rml_oob_contact.c:60] init_routes [routed_binomial.c:842] orte_ess_base_app_setup [ess_base_std_app.c:150] rte_init [ess_env_module.c:153] orte_init [orte_init.c:131] MLK: 472 bytes leaked in 2 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] mca_coll_sync_comm_query [coll_sync_module.c:97] query_2_0_0 [coll_base_comm_select.c:377] query [coll_base_comm_select.c:360] check_one_component [coll_base_comm_select.c:322] check_components [coll_base_comm_select.c:272] Block of 236 bytes (2 times); last block at 0x8219198 MLK: 308 bytes leaked at 0x81c1078 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] mca_oob_tcp_component_init [oob_tcp.c:1161] mca_oob_base_init [oob_base_init.c:77] rml_oob_init [rml_oob_component.c:132] orte_rml_base_select [rml_base_components.c:133] orte_ess_base_app_setup [ess_base_std_app.c:71] MLK: 280 bytes leaked at 0x81d2b90 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_sr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 280 bytes leaked at 0x8227c58 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_sr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 280 bytes leaked at 0x81d2d08 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_dr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 280 bytes leaked at 0x81d2e80 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_dr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 268 bytes leaked at 0x83f2bf0 This memory was allocated from: malloc [rtlib.o] ompi_ddt_set_args [dt_args.c:113] MPI_Type_create_struct [ptype_create_struct.c:92] MPI_Type_struct [ptype_struct.c:43] main [my program] _start [crt1.o] MLK: 232 bytes leaked at 0x81bc540 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] orte_rml_oob_recv_buffer_nb [rml_oob_recv.c:209] orte_rml_base_comm_start [rml_base_receive.c:59] orte_rml_oob_init [rml_oob_component.c:177] orte_ess_base_app_setup [ess_base_std_app.c:115] rte_init [ess_env_module.c:153] MLK: 227 bytes leaked in 8 blocks This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] read_topic [show_help.c:250] load_array [show_help.c:279] opal_show_help_vstring [show_help.c:297] orte_show_help [show_help.c:404] mca_btl_base_error_no_nics [btl_base_error.c:70] mca_btl_udapl_component_init [btl_udapl_component.c:560] Block of 68 bytes at 0x8217df0 Block of 64 bytes at 0x81de9b0 Block of 52 bytes at 0x81deb58 Block of 19 bytes at 0x8217fb0 Block of 11 bytes (2 times); last block at 0x81ded20 Block of 1 byte (2 times); last block at 0x81dec50 MLK: 224 bytes leaked in 4 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] modex_lookup_attr_data [grpcomm_base_modex.c:215] orte_grpcomm_base_update_modex_entries [grpcomm_base_modex.c:492] modex [grpcomm_bad_module.c:565] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] Block of 56 bytes (4 times); last block at 0x823ca90 MLK: 160 bytes leaked in 2 blocks This memory was allocated from: malloc [rtlib.o] create_sm_endpoint [btl_sm.c:378] mca_btl_sm_add_procs [btl_sm.c:459] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] Block of 80 bytes (2 times); last block at 0x823e490 MLK: 144 bytes leaked in 3 blocks This memory was allocated from: realloc [rtlib.o] mca_bml_base_btl_array_reserve [bml_base_btl.c:61] mca_bml_r2_add_procs [bml_r2.c:233] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] Block of 48 bytes (3 times); last block at 0x823e2e0 MLK: 144 bytes leaked in 3 blocks This memory was allocated from: realloc [rtlib.o] mca_bml_base_btl_array_reserve [bml_base_btl.c:61] mca_bml_r2_add_procs [bml_r2.c:234] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] Block of 48 bytes (3 times); last block at 0x823e370 MLK: 144 bytes leaked in 3 blocks This memory was allocated from: realloc [rtlib.o] mca_bml_base_btl_array_reserve [bml_base_btl.c:61] mca_bml_r2_add_procs [bml_r2.c:235] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] Block of 48 bytes (3 times); last block at 0x823e400 MLK: 136 bytes leaked at 0x81b8bc8 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] mca_btl_tcp_proc_create [btl_tcp_proc.c:113] mca_btl_tcp_proc_local [btl_tcp_proc.h:120] mca_btl_tcp_del_procs [btl_tcp.c:154] mca_bml_r2_add_procs [bml_r2.c:249] mca_pml_ob1_add_procs [pml_ob1.c:310] MLK: 96 bytes leaked in 2 blocks This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] open_components [mca_base_components_open.c:421] mca_base_components_open [mca_base_components_open.c:213] ompi_osc_base_open [osc_base_open.c:64] ompi_mpi_init [ompi_mpi_init.c:487] MPI_Init [pinit.c:80] Block of 48 bytes (2 times); last block at 0x81d4b40 MLK: 76 bytes leaked in 4 blocks This memory was allocated from: malloc [rtlib.o] orte_grpcomm_base_update_modex_entries [grpcomm_base_modex.c:473] modex [grpcomm_bad_module.c:565] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] Block of 24 bytes (3 times); last block at 0x823fec8 Block of 4 bytes at 0x823ca30 MLK: 72 bytes leaked at 0x81b2280 This memory was allocated from: malloc [rtlib.o] rml_oob_init [rml_oob_component.c:143] orte_rml_base_select [rml_base_components.c:133] orte_ess_base_app_setup [ess_base_std_app.c:71] rte_init [ess_env_module.c:153] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MPI_Init [pinit.c:80] MLK: 68 bytes leaked at 0x81d2ff8 This memory was allocated from: malloc [rtlib.o] mca_mpool_sm_init [mpool_sm_component.c:210] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MLK: 68 bytes leaked at 0x81a3120 This memory was allocated from: malloc [rtlib.o] get_print_name_buffer [name_fns.c:94] orte_util_print_jobids [name_fns.c:169] orte_util_print_name_args [name_fns.c:131] env_set_name [ess_env_module.c:383] rte_init [ess_env_module.c:129] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MLK: 52 bytes leaked at 0x8228668 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x823eb48 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x81b6108 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] mca_oob_tcp_set_addr [oob_tcp.c:1630] orte_rml_oob_set_uri [rml_oob_contact.c:60] init_routes [routed_binomial.c:842] orte_ess_base_app_setup [ess_base_std_app.c:150] rte_init [ess_env_module.c:153] MLK: 52 bytes leaked at 0x8228428 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x823ec68 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x8227248 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x8228548 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 52 bytes leaked at 0x823ed88 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] ompi_attr_create_keyval [attribute.c:546] create_comm [attribute_predefined.c:226] ompi_attr_create_predefined [attribute_predefined.c:138] ompi_attr_init [attribute.c:505] ompi_mpi_init [ompi_mpi_init.c:608] MLK: 49 bytes leaked in 4 blocks This memory was allocated from: malloc [rtlib.o] opal_dss_unpack_string [dss_unpack.c:381] opal_dss_unpack_buffer [dss_unpack.c:119] opal_dss_unpack [dss_unpack.c:83] orte_grpcomm_base_update_modex_entries [grpcomm_base_modex.c:462] modex [grpcomm_bad_module.c:565] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] Block of 13 bytes at 0x823c9c0 Block of 12 bytes (3 times); last block at 0x82176f0 MLK: 49 bytes leaked in 4 blocks This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] modex_lookup_attr_data [grpcomm_base_modex.c:218] orte_grpcomm_base_update_modex_entries [grpcomm_base_modex.c:492] modex [grpcomm_bad_module.c:565] ompi_mpi_init [ompi_mpi_init.c:626] MPI_Init [pinit.c:80] main [my program] Block of 13 bytes at 0x823cb28 Block of 12 bytes (3 times); last block at 0x823c608 MLK: 48 bytes leaked in 2 blocks This memory was allocated from: malloc [rtlib.o] orte_grpcomm_base_get_proc_attr [grpcomm_base_modex.c:357] ompi_modex_recv [ompi_module_exchange.c:63] mca_btl_tcp_proc_create [btl_tcp_proc.c:128] mca_btl_tcp_add_procs [btl_tcp.c:101] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] Block of 24 bytes (2 times); last block at 0x81b7e88 MLK: 48 bytes leaked at 0x8214cd8 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] open_components [mca_base_components_open.c:421] mca_base_components_open [mca_base_components_open.c:213] mca_btl_base_open [btl_base_open.c:118] mca_bml_base_open [bml_base_open.c:81] mca_pml_csum_component_open [pml_csum_component.c:145] MLK: 48 bytes leaked at 0x8210ee8 This memory was allocated from: malloc [rtlib.o] opal_obj_new [opal_object.h:468] opal_obj_new_debug [opal_object.h:247] open_components [mca_base_components_open.c:421] mca_base_components_open [mca_base_components_open.c:213] mca_bml_base_open [bml_base_open.c:44] mca_pml_csum_component_open [pml_csum_component.c:145] open_components [mca_base_components_open.c:362] MLK: 40 bytes leaked at 0x81def38 This memory was allocated from: malloc [rtlib.o] mca_allocator_bucket_module_init [allocator_bucket.c:62] mca_mpool_sm_init [mpool_sm_component.c:243] mca_mpool_base_module_create [mpool_base_lookup.c:90] sm_btl_first_time_init [btl_sm.c:219] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] MLK: 40 bytes leaked at 0x8211500 This memory was allocated from: malloc [rtlib.o] mca_allocator_bucket_module_init [allocator_bucket.c:62] mca_pml_csum_component_open [pml_csum_component.c:139] open_components [mca_base_components_open.c:362] mca_base_components_open [mca_base_components_open.c:213] mca_pml_base_open [pml_base_open.c:113] ompi_mpi_init [ompi_mpi_init.c:478] MPI_Init [pinit.c:80] MLK: 24 bytes leaked at 0x81edbd8 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string [mca_base_param.c:374] sm_open [coll_sm_component.c:165] MLK: 24 bytes leaked at 0x81cf860 This memory was allocated from: malloc [rtlib.o] orte_grpcomm_base_get_proc_attr [grpcomm_base_modex.c:357] ompi_modex_recv [ompi_module_exchange.c:63] mca_btl_tcp_proc_create [btl_tcp_proc.c:128] mca_btl_tcp_proc_local [btl_tcp_proc.h:120] mca_btl_tcp_del_procs [btl_tcp.c:154] mca_bml_r2_add_procs [bml_r2.c:249] mca_pml_ob1_add_procs [pml_ob1.c:310] MLK: 16 bytes leaked at 0x81a8228 This memory was allocated from: malloc [rtlib.o] orte_rml_oob_recv_buffer_nb [rml_oob_recv.c:212] orte_rml_base_comm_start [rml_base_receive.c:59] orte_rml_oob_init [rml_oob_component.c:177] orte_ess_base_app_setup [ess_base_std_app.c:115] rte_init [ess_env_module.c:153] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MLK: 12 bytes leaked at 0x81decb0 This memory was allocated from: malloc [rtlib.o] sm_btl_first_time_init [btl_sm.c:316] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] MLK: 12 bytes leaked at 0x84bfde8 This memory was allocated from: malloc [rtlib.o] ompi_proc_all [proc.c:272] mca_bml_r2_finalize [bml_r2.c:609] mca_pml_ob1_component_fini [pml_ob1_component.c:187] mca_pml_base_finalize [pml_base_close.c:34] ompi_mpi_finalize [ompi_mpi_finalize.c:196] MPI_Finalize [pfinalize.c:44] main [my program] MLK: 12 bytes leaked at 0x82278d0 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_sr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 12 bytes leaked at 0x81debe8 This memory was allocated from: calloc [rtlib.o] sm_btl_first_time_init [btl_sm.c:233] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] MLK: 12 bytes leaked at 0x81dea50 This memory was allocated from: calloc [rtlib.o] sm_btl_first_time_init [btl_sm.c:239] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] MLK: 12 bytes leaked at 0x81f1688 This memory was allocated from: malloc [rtlib.o] dat_dictionary_create [libdat.so.1] dat_dr_init [libdat.so.1] dat_init [libdat.so.1] udat_check_state [libdat.so.1] dat_registry_list_providers [libdat.so.1] mca_btl_udapl_component_init [btl_udapl_component.c:503] mca_btl_base_select [btl_base_select.c:111] MLK: 8 bytes leaked at 0x81b29f8 This memory was allocated from: malloc [rtlib.o] opal_dss_unpack_byte_object [dss_unpack.c:489] opal_dss_unpack_buffer [dss_unpack.c:119] opal_dss_unpack [dss_unpack.c:83] orte_ess_base_build_nidmap [ess_base_nidmap.c:56] rte_init [ess_env_module.c:172] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MLK: 8 bytes leaked at 0x82015e0 This memory was allocated from: malloc [rtlib.o] mca_btl_tcp_proc_create [btl_tcp_proc.c:144] mca_btl_tcp_proc_local [btl_tcp_proc.h:120] mca_btl_tcp_del_procs [btl_tcp.c:154] mca_bml_r2_add_procs [bml_r2.c:249] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] MLK: 8 bytes leaked at 0x81bcee8 This memory was allocated from: malloc [rtlib.o] opal_dss_unpack_byte_object [dss_unpack.c:489] opal_dss_unpack_buffer [dss_unpack.c:119] opal_dss_unpack [dss_unpack.c:83] orte_ess_base_build_nidmap [ess_base_nidmap.c:69] rte_init [ess_env_module.c:172] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MLK: 7 bytes leaked at 0x8220c40 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string [mca_base_param.c:374] mca_pml_ob1_component_open [pml_ob1_component.c:123] MLK: 7 bytes leaked at 0x81f0630 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] mca_base_param_lookup_string [mca_base_param.c:535] mca_pml_v_param_register_string [pml_v_component.c:257] mca_pml_v_component_open [pml_v_component.c:71] MLK: 6 bytes leaked at 0x81d9e50 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string [mca_base_param.c:374] mca_oob_tcp_component_open [oob_tcp.c:314] MLK: 6 bytes leaked at 0x81deab8 This memory was allocated from: malloc [rtlib.o] sm_btl_first_time_init [btl_sm.c:323] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] MLK: 5 bytes leaked at 0x81dbd18 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string [mca_base_param.c:374] mca_btl_udapl_reg_string [btl_udapl_mca.c:48] MLK: 5 bytes leaked at 0x81c1398 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] orte_session_dir_get_name [session_dir.c:332] orte_session_dir [session_dir.c:390] orte_ess_base_app_setup [ess_base_std_app.c:131] rte_init [ess_env_module.c:153] orte_init [orte_init.c:131] ompi_mpi_init [ompi_mpi_init.c:342] MLK: 4 bytes leaked at 0x81fd458 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] mca_pml_base_open [pml_base_open.c:143] ompi_mpi_init [ompi_mpi_init.c:478] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] MLK: 4 bytes leaked at 0x81a6e30 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] mca_base_param_set_string [mca_base_param.c:551] ompi_mpi_init [ompi_mpi_init.c:322] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] MLK: 4 bytes leaked at 0x81ba4d8 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string [mca_base_param.c:374] mca_mpool_rdma_open [mpool_rdma_component.c:75] MLK: 4 bytes leaked at 0x8227dd0 This memory was allocated from: calloc [rtlib.o] sm_btl_first_time_init [btl_sm.c:185] mca_btl_sm_add_procs [btl_sm.c:485] mca_bml_r2_add_procs [bml_r2.c:206] mca_pml_ob1_add_procs [pml_ob1.c:310] ompi_mpi_init [ompi_mpi_init.c:667] MPI_Init [pinit.c:80] main [my program] MLK: 3 bytes leaked at 0x81ee688 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] mca_pml_base_open [pml_base_open.c:144] ompi_mpi_init [ompi_mpi_init.c:478] MPI_Init [pinit.c:80] main [my program] _start [crt1.o] MLK: 3 bytes leaked at 0x81be2c0 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] mca_base_param_lookup_string [mca_base_param.c:535] mca_btl_sm_param_register_string [btl_sm_component.c:102] mca_btl_sm_component_open [btl_sm_component.c:134] MLK: 1 byte leaked at 0x81be028 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1545] mca_base_param_reg_string_name [mca_base_param.c:406] mca_pml_v_component_open [pml_v_component.c:76] MLK: 1 byte leaked at 0x81fd3f8 This memory was allocated from: malloc [rtlib.o] strdup [libc.so.1] set [mca_base_param.c:2037] lookup_default [mca_base_param.c:2023] param_lookup [mca_base_param.c:1770] param_register [mca_base_param.c:1521] mca_base_param_reg_string_name [mca_base_param.c:406] mca_pml_base_open [pml_base_open.c:140] Purify Heap Analysis (combining suppressed and unsuppressed blocks)