I was able to compile my libMesh application with CMake, but I am having
problems when running it, specifically, I get this segfault:

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab3f64eca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) ()
from /usr/lib64/libstdc++.so.6
Missing separate debuginfos, use: debuginfo-install
cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64 glpk-4.40-1.1.el6.x86_64
hdf5-1.8.5.patch1-9.el6.x86_64 hwloc-1.5-3.el6_5.x86_64
infinipath-psm-3.1c-3chaos.ch5.3.x86_64 keyutils-libs-1.4-5.el6.x86_64
krb5-libs-1.10.3-42.1chaos.ch5.4.x86_64 libX11-1.6.0-6.el6.x86_64
libXau-1.0.8-2.1.ch5.2.x86_64 libcom_err-1.41.12-22.el6.x86_64
libcurl-7.19.7-46.el6.x86_64 libgcc-4.4.7-16.el6.x86_64
libgfortran-4.4.7-16.el6.x86_64 libibverbs-1.1.8-4.el6.x86_64
libidn-1.18-2.el6.x86_64 libnl-1.1.4-2.el6.x86_64
librdmacm-1.0.19.1-1.1.el6_7.x86_64 libselinux-2.0.94-5.8.el6.x86_64
libssh2-1.4.2-1.el6_6.1.x86_64 libstdc++-4.4.7-16.el6.x86_64
libxcb-1.9.1-3.el6.x86_64 libxml2-2.7.6-20.el6_7.1.x86_64
nspr-4.10.8-2.el6_7.x86_64 nss-3.19.1-8.el6_7.x86_64
nss-softokn-freebl-3.14.3-23.el6_7.x86_64 nss-util-3.19.1-2.el6_7.x86_64
numactl-2.0.9-2.el6.x86_64 openldap-2.4.40-7.el6_7.x86_64
openssl-1.0.1e-42.el6_7.4.x86_64 pciutils-libs-3.1.10-4.el6.x86_64
zlib-1.2.3-29.el6.x86_64
(gdb) backtrace
#0  0x00002aaab3f64eca in
std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from
/usr/lib64/libstdc++.so.6
#1  0x00002aaaabcf3d5d in std::_Rb_tree_iterator<unsigned
char>::operator-- (this=0x7fffffffa450) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s
tl_tree.h:199
#2  0x00002aaaabce1af2 in std::_Rb_tree<unsigned char, unsigned char,
std::_Identity<unsigned char>, std::less<unsigned char>,
std::allocator<unsigned char> >::_M_insert_unique (this=0x7fffffffa5f8,
__v=@0x7fffffffb300) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s
tl_tree.h:1179
#3  0x00002aaaabccf8b3 in std::set<unsigned char, std::less<unsigned
char>, std::allocator<unsigned char> >::insert (this=0x7fffffffa5f8,
__x=@0x7fffffffb300) at
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/s
tl_set.h:411
#4  0x00002aaab5896dd5 in libMesh::MeshBase::MeshBase
(this=0x7fffffffb298, comm_in=..., d=2 '\002') at src/mesh/mesh_base.C:59
#5  0x00002aaab589739a in libMesh::MeshBase::MeshBase
(this=0x7fffffffb298) at src/mesh/mesh_base.C:45
#6  0x00002aaab5aa3084 in libMesh::UnstructuredMesh::UnstructuredMesh
(this=0x7fffffffb298, comm_in=..., d=2 '\002') at
src/mesh/unstructured_mesh.C:56
#7  0x00002aaab5aa3208 in libMesh::UnstructuredMesh::UnstructuredMesh
(this=0x7fffffffb298) at src/mesh/unstructured_mesh.C:54
#8  0x00002aaab5a868be in libMesh::SerialMesh::SerialMesh
(this=0x7fffffffb298, comm_in=..., d=2 '\002') at
src/mesh/serial_mesh.C:123
#9  0x00000000004c858a in main (argc=1, argv=0x7fffffffd7d8) at
/g/g92/miguel/code/AMR-vector/src/vector_fe_ex1.C:1088



I understand that this error is difficult to diagnose through email, but I
would really appreciate help on how to debug it. The same application runs
perfectly when I compile it with the usual Makefile.

The linking step for the compilation with CMake is:

/usr/local/tools/openmpi-intel-1.8.4/bin/mpicxx    -std=gnu++11 -fopenmp
-g -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -DDEBUG
CMakeFiles/vector_cmake.dir/src/MMA.C.o
CMakeFiles/vector_cmake.dir/src/MMAchau.C.o
CMakeFiles/vector_cmake.dir/src/TopOpt.C.o
CMakeFiles/vector_cmake.dir/src/compliance.C.o
CMakeFiles/vector_cmake.dir/src/compliance_traction.C.o
CMakeFiles/vector_cmake.dir/src/femparameters.C.o
CMakeFiles/vector_cmake.dir/src/linear_material.C.o
CMakeFiles/vector_cmake.dir/src/ramp.C.o
CMakeFiles/vector_cmake.dir/src/ramp_stress.C.o
CMakeFiles/vector_cmake.dir/src/resder.C.o
CMakeFiles/vector_cmake.dir/src/simp.C.o
CMakeFiles/vector_cmake.dir/src/vector_fe_ex1.C.o
CMakeFiles/vector_cmake.dir/src/volume.C.o
CMakeFiles/vector_cmake.dir/src/vonmises.C.o
CMakeFiles/vector_cmake.dir/src/stress_recovery_error_estimator.C.o  -o
vector_cmake -rdynamic -lcurl -lhdf5 -lglpk
/usr/local/tools/vtk-6.1.0/lib/libvtkIOCore-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkCommonCore-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkCommonDataModel-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkFiltersCore-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkIOXML-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkImagingCore-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkIOImage-6.1.so
/usr/local/tools/vtk-6.1.0/lib/libvtkImagingMath-6.1.so -lz
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libpetsc.so
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libcmumps.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libdmumps.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libsmumps.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libzmumps.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libmumps_common.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libpord.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libscalapack.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libHYPRE.a
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libml.a -llapack -lblas
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libparmetis.so
/g/g92/miguel/petsc-3.6.2/miguel-opt/lib/libmetis.so -lX11 -lhwloc -lssl
-lcrypto /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempif08.so
/usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempi_ignore_tkr.so
/usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_mpifh.so -lifport -lifcore
-lm /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi.so -limf -lsvml -lirng
-Wl,-Bstatic -lipgo -ldecimal -Wl,-Bdynamic -lcilkrts -lstdc++ -lgcc_s
-lirc -lpthread -Wl,-Bstatic -lirc_s -Wl,-Bdynamic -ldl
/g/g92/miguel/code/libmesh_2D/lib/libmesh_dbg.so
-Wl,-rpath,/usr/local/tools/vtk-6.1.0/lib:/g/g92/miguel/petsc-3.6.2/miguel-
opt/lib:/usr/local/tools/openmpi-intel-1.8.4/lib:/g/g92/miguel/code/libmesh
_2D/lib:


while for the Makefile is:

libtool: link: /usr/local/tools/openmpi-intel-1.8.4/bin/mpicxx
-std=gnu++11 -w1 -g -wd175 -wd1476 -wd1505 -wd1572 -fopenmp
MMA.x86_64-unknown-linux-gnu.dbg.o MMAchau.x86_64-unknown-linux-gnu.dbg.o
TopOpt.x86_64-unknown-linux-gnu.dbg.o
compliance.x86_64-unknown-linux-gnu.dbg.o
compliance_traction.x86_64-unknown-linux-gnu.dbg.o
femparameters.x86_64-unknown-linux-gnu.dbg.o
linear_material.x86_64-unknown-linux-gnu.dbg.o
ramp.x86_64-unknown-linux-gnu.dbg.o
ramp_stress.x86_64-unknown-linux-gnu.dbg.o
resder.x86_64-unknown-linux-gnu.dbg.o simp.x86_64-unknown-linux-gnu.dbg.o
stress_recovery_error_estimator.x86_64-unknown-linux-gnu.dbg.o
vector_fe_ex1.x86_64-unknown-linux-gnu.dbg.o
volume.x86_64-unknown-linux-gnu.dbg.o
vonmises.x86_64-unknown-linux-gnu.dbg.o -o example-dbg -Wl,-rpath -Wl,/lib
-Wl,-rpath -Wl,/usr/local/tools/vtk-6.1.0/lib -Wl,-rpath
-Wl,/g/g92/miguel/petsc-3.6.2/miguel-opt/lib -Wl,-rpath
-Wl,/usr/local/tools/ic-14.0.174/lib -Wl,-rpath
-Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath
-Wl,/usr/local/tools/ic-14.0.174/composer_xe_2013_sp1.3.174/compiler/lib/in
tel64 -Wl,-rpath -Wl,/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -Wl,-rpath
-Wl,/g/g92/miguel/code/libmesh_2D/lib  -L/usr/lib -L/lib -L/usr/lib64
-L/usr/local/tools/vtk-6.1.0/lib
-L/g/g92/miguel/petsc-3.6.2/miguel-opt/lib
-L/usr/local/tools/openmpi-intel-1.8.4/lib
-L/usr/local/tools/ic-14.0.174/composer_xe_2013_sp1.3.174/compiler/lib/inte
l64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -limf -lsvml -lirng -lipgo
-ldecimal -lcilkrts -lstdc++ -lgcc_s -lirc_s
-L/g/g92/miguel/code/libmesh_2D/lib
/g/g92/miguel/code/libmesh_2D/lib/libmesh_dbg.so -lcurl -lhdf5 -lglpk
-lvtkIOCore-6.1 -lvtkCommonCore-6.1 -lvtkCommonDataModel-6.1
-lvtkFiltersCore-6.1 -lvtkIOXML-6.1 -lvtkImagingCore-6.1 -lvtkIOImage-6.1
-lvtkImagingMath-6.1 -lz -lpetsc -lcmumps -ldmumps -lsmumps -lzmumps
-lmumps_common -lpord -lscalapack -lHYPRE -lml -llapack -lblas -lparmetis
-lmetis -lX11 -lhwloc -lssl -lcrypto
/usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempif08.so
/usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_usempi_ignore_tkr.so
/usr/local/tools/openmpi-intel-1.8.4/lib/libmpi_mpifh.so -lifport -lifcore
-lirc /usr/local/tools/openmpi-intel-1.8.4/lib/libmpi.so -lrdmacm
-libverbs -lpsm_infinipath
/usr/local/tools/openmpi-intel-1.8.4/lib/libopen-rte.so
/usr/local/tools/openmpi-intel-1.8.4/lib/libopen-pal.so -lm
/usr/lib64/libpmi.so /usr/lib64/libslurm.so -ldl -lpthread -lnuma -lrt
-lutil -pthread -fopenmp -Wl,-rpath -Wl,/g/g92/miguel/code/libmesh_2D/lib
-Wl,-rpath -Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath
-Wl,/usr/lib64 -Wl,-rpath -Wl,/g/g92/miguel/code/libmesh_2D/lib -Wl,-rpath
-Wl,/usr/local/tools/openmpi-intel-1.8.4/lib -Wl,-rpath -Wl,/usr/lib64

I see differences in how the rpath is assigned to the linked libraries.
Could it be this? 


Thanks
Miguel


On 4/4/16, 1:18 PM, "Salazar De Troya, Miguel" <salazardet...@llnl.gov>
wrote:

>Yup, that was it. Thanks
>
>
>
>
>On 4/4/16, 12:28 PM, "Roy Stogner" <royst...@ices.utexas.edu> wrote:
>
>>
>>On Mon, 4 Apr 2016, Roy Stogner wrote:
>>
>>> That definitely looks like the issue.  _counts is declared if and only
>>> if DEBUG is defined.  If you define DEBUG when building your
>>> application then you need to be linking against a dbg-mode libMesh
>>> build too.
>>
>>And as I should have said earlier: the quickest way to get link data
>>for a dbg-mode libMesh is to make sure METHOD=dbg is specified when
>>you execute libmesh-config.
>>---
>>Roy
>
>
>--------------------------------------------------------------------------
>----
>_______________________________________________
>Libmesh-users mailing list
>Libmesh-users@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/libmesh-users


------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to