p3m/chkMemLeak$ valgrind --leak-check=full glmp-unstable-gcc7 -nc -sc none -l log.lammps -sf gpu -pk gpu 1 -in in.emdCombo >> memCheckOutput.txt ==5725== Memcheck, a memory error detector ==5725== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==5725== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==5725== Command: glmp-unstable-gcc7 -nc -sc none -l log.lammps -sf gpu -pk gpu 1 -in in.emdCombo ==5725== ==5725== Warning: set address range perms: large range [0x53f0000, 0x15b16000) (defined) vex amd64->IR: unhandled instruction bytes: 0x62 0xF1 0xFE 0x8 0x6F 0x45 0x1 0xC4 0xC1 0x78 vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0 vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 ==5725== valgrind: Unrecognised instruction at address 0x649d6e8. ==5725== at 0x649D6E8: _S_compare (basic_string.h:394) ==5725== by 0x649D6E8: compare (basic_string.h:2841) ==5725== by 0x649D6E8: operator< , std::allocator > (basic_string.h:6097) ==5725== by 0x649D6E8: operator() (stl_function.h:386) ==5725== by 0x649D6E8: std::map, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::operator[](std::__cxx11::basic_string, std::allocator >&&) (stl_map.h:511) ==5725== by 0x6473D0A: LAMMPS_NS::LAMMPS::init_pkg_lists() (angle_sdk.h:16) ==5725== by 0x649889B: LAMMPS_NS::LAMMPS::LAMMPS(int, char**, ompi_communicator_t*) (lammps.cpp:135) ==5725== by 0x108F70: main (main.cpp:96) ==5725== Your program just tried to execute an instruction that Valgrind ==5725== did not recognise. There are two possible reasons for this. ==5725== 1. Your program has a bug and erroneously jumped to a non-code ==5725== location. If you are running Memcheck and you just saw a ==5725== warning about a bad jump, it's probably your program's fault. ==5725== 2. The instruction is legitimate but Valgrind doesn't handle it, ==5725== i.e. it's Valgrind's fault. If you think this is the case or ==5725== you are not sure, please let us know and we'll try to fix it. ==5725== Either way, Valgrind will now raise a SIGILL signal which will ==5725== probably kill your program. ==5725== ==5725== Process terminating with default action of signal 4 (SIGILL) ==5725== Illegal opcode at address 0x649D6E8 ==5725== at 0x649D6E8: _S_compare (basic_string.h:394) ==5725== by 0x649D6E8: compare (basic_string.h:2841) ==5725== by 0x649D6E8: operator< , std::allocator > (basic_string.h:6097) ==5725== by 0x649D6E8: operator() (stl_function.h:386) ==5725== by 0x649D6E8: std::map, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::operator[](std::__cxx11::basic_string, std::allocator >&&) (stl_map.h:511) ==5725== by 0x6473D0A: LAMMPS_NS::LAMMPS::init_pkg_lists() (angle_sdk.h:16) ==5725== by 0x649889B: LAMMPS_NS::LAMMPS::LAMMPS(int, char**, ompi_communicator_t*) (lammps.cpp:135) ==5725== by 0x108F70: main (main.cpp:96) ==5725== ==5725== HEAP SUMMARY: ==5725== in use at exit: 4,432,710 bytes in 25,417 blocks ==5725== total heap usage: 38,598 allocs, 13,181 frees, 7,222,326 bytes allocated ==5725== ==5725== 1 bytes in 1 blocks are definitely lost in loss record 4 of 22,533 ==5725== at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x161D8AF9: strdup (strdup.c:42) ==5725== by 0x2AA7F042: ??? ==5725== by 0x29E4457F: ??? ==5725== by 0x1684704A: mca_base_framework_components_register (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x168473D1: mca_base_framework_register (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x16847430: mca_base_framework_open (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x4F26154: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x108F4C: main (main.cpp:46) ==5725== ==5725== 41 bytes in 1 blocks are definitely lost in loss record 7,031 of 22,533 ==5725== at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x1626F31F: __vasprintf_chk (vasprintf_chk.c:80) ==5725== by 0x1626F1BE: __asprintf_chk (asprintf_chk.c:32) ==5725== by 0x1687806D: opal_hwloc_base_get_locality_string (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x16587E56: orte_ess_base_proc_binding (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x243FDBA3: rte_init.part.0 (in /usr/local/lib/openmpi/mca_ess_singleton.so) ==5725== by 0x165BE000: orte_init (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x4F25D7B: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x108F4C: main (main.cpp:46) ==5725== ==5725== 79 (64 direct, 15 indirect) bytes in 1 blocks are definitely lost in loss record 8,887 of 22,533 ==5725== at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x2982A1A8: mca_mpool_hugepage_open (in /usr/local/lib/openmpi/mca_mpool_hugepage.so) ==5725== by 0x1683B8AD: mca_base_framework_components_open (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x168B5531: mca_mpool_base_open (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x168474A0: mca_base_framework_open (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x4F260F7: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x108F4C: main (main.cpp:46) ==5725== ==5725== 88 (24 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 19,098 of 22,533 ==5725== at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x1687C23A: opal_hwloc201_hwloc_bitmap_alloc (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x165882FE: orte_ess_base_proc_binding (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x243FDBA3: rte_init.part.0 (in /usr/local/lib/openmpi/mca_ess_singleton.so) ==5725== by 0x165BE000: orte_init (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x4F25D7B: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x108F4C: main (main.cpp:46) ==5725== ==5725== 96 bytes in 1 blocks are definitely lost in loss record 19,164 of 22,533 ==5725== at 0x4C3217F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x649D604: allocate (new_allocator.h:111) ==5725== by 0x649D604: allocate (alloc_traits.h:436) ==5725== by 0x649D604: _M_get_node (stl_tree.h:588) ==5725== by 0x649D604: _M_create_node, std::allocator >&&>, std::tuple<> > (stl_tree.h:642) ==5725== by 0x649D604: _M_emplace_hint_unique, std::allocator >&&>, std::tuple<> > (stl_tree.h:2398) ==5725== by 0x649D604: std::map, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::operator[](std::__cxx11::basic_string, std::allocator >&&) (stl_map.h:512) ==5725== by 0x6473D0A: LAMMPS_NS::LAMMPS::init_pkg_lists() (angle_sdk.h:16) ==5725== by 0x649889B: LAMMPS_NS::LAMMPS::LAMMPS(int, char**, ompi_communicator_t*) (lammps.cpp:135) ==5725== by 0x108F70: main (main.cpp:96) ==5725== ==5725== 368 bytes in 1 blocks are possibly lost in loss record 22,171 of 22,533 ==5725== at 0x4C33B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x4013646: allocate_dtv (dl-tls.c:286) ==5725== by 0x4013646: _dl_allocate_tls (dl-tls.c:530) ==5725== by 0x170AA227: allocate_stack (allocatestack.c:627) ==5725== by 0x170AA227: pthread_create@@GLIBC_2.2.5 (pthread_create.c:644) ==5725== by 0x1681FE15: opal_thread_start (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x1681F749: opal_progress_thread_init (in /usr/local/lib/libopen-pal.so.40.20.6) ==5725== by 0x243FC79A: rte_init.part.0 (in /usr/local/lib/openmpi/mca_ess_singleton.so) ==5725== by 0x165BE000: orte_init (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x4F25D7B: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x108F4C: main (main.cpp:46) ==5725== ==5725== 368 bytes in 1 blocks are possibly lost in loss record 22,172 of 22,533 ==5725== at 0x4C33B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==5725== by 0x4013646: allocate_dtv (dl-tls.c:286) ==5725== by 0x4013646: _dl_allocate_tls (dl-tls.c:530) ==5725== by 0x170AA227: allocate_stack (allocatestack.c:627) ==5725== by 0x170AA227: pthread_create@@GLIBC_2.2.5 (pthread_create.c:644) ==5725== by 0x2504D6A5: pmix_thread_start (in /usr/local/lib/openmpi/mca_pmix_pmix3x.so) ==5725== by 0x250D63E4: pmix_progress_thread_start (in /usr/local/lib/openmpi/mca_pmix_pmix3x.so) ==5725== by 0x250D5729: pmix_rte_init (in /usr/local/lib/openmpi/mca_pmix_pmix3x.so) ==5725== by 0x2508C415: PMIx_Init (in /usr/local/lib/openmpi/mca_pmix_pmix3x.so) ==5725== by 0x2502DEDC: pmix3x_client_init (in /usr/local/lib/openmpi/mca_pmix_pmix3x.so) ==5725== by 0x243FC88A: rte_init.part.0 (in /usr/local/lib/openmpi/mca_ess_singleton.so) ==5725== by 0x165BE000: orte_init (in /usr/local/lib/libopen-rte.so.40.20.6) ==5725== by 0x4F25D7B: ompi_mpi_init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== by 0x4EBE48D: PMPI_Init (in /usr/local/lib/libmpi.so.40.20.6) ==5725== ==5725== LEAK SUMMARY: ==5725== definitely lost: 226 bytes in 5 blocks ==5725== indirectly lost: 79 bytes in 2 blocks ==5725== possibly lost: 736 bytes in 2 blocks ==5725== still reachable: 4,431,669 bytes in 25,408 blocks ==5725== suppressed: 0 bytes in 0 blocks ==5725== Reachable blocks (those to which a pointer was found) are not shown. ==5725== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==5725== ==5725== For counts of detected and suppressed errors, rerun with: -v ==5725== ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0) Illegal instruction (core dumped)