From: Cody P. <cod...@gm...> - 2014-07-08 16:21:03
|
UPDATE: With our testing we have determined that the culprit is --disable-cxx11 If you take a clean Linux box, configure libMesh with that option and run adaptivity example 5 with Valgrind you will see an error similar to the first message in this thread. I suppose that it really could be a compiler bug since I still can't see what is wrong with that method. That means that I have a workaround for running our Valgrind tests but since we only recently added that option, I can't easily find if or when that problem was introduced - yikes! Cody On Mon, Jul 7, 2014 at 1:41 PM, Cody Permann <cod...@gm...> wrote: > UPDATE: I cleaned up my configure, the error still exists on at least two > of our build boxes in opt, oprof and dbg modes. (that's a good sign - > repeatable). Jason, is going to rebuild one of the build boxes itself with > a clean software stack and try once more, we are still not able to make it > fail on our developer test box (called "rod"). I am unable to see any bugs > in the compute_periodic_constraints method so this is still open: > > ../configure --with-methods=opt oprof dbg > --prefix=/home/moosetest/permcj/moose/scripts/../libmesh/installed > --enable-silent-rules --enable-unique-id --disable-warnings --disable-cxx11 > --enable-openmp --enable-shared --disable-static > > > > > On Mon, Jul 7, 2014 at 11:59 AM, Cody Permann <cod...@gm...> > wrote: > >> Devs, >> >> We updated the MOOSE users to a new revision of libMesh last week and >> picked up a Valgrind error in the process. John spent a good portion of the >> day on Thursday just trying to reproduce it on one of our development Linux >> boxes without success. Towards the end of the day he finally logged into >> one of the build boxes (hpcbuild5) where we are actually seeing the error >> and he was finally able to replicate the error on that box with his own >> build of libMesh+MOOSE. What differences exist between the two boxes is >> still under investigation and I hope to be able to reproduce the error on >> the rest of our boxes. I took his progress one step further by reproducing >> the error using pure libMesh. >> >> As of now, I can grab a fresh copy of libMesh, configure and build with >> the normal set of options that we use for MOOSE and reproduce the error >> with "adaptivity example 5". I'll paste the error here so you can see it >> in case anyone might know what has changed in this code without we pulling >> up my sleeves. I'll continue to dig for more answers. In fact, I just >> noticed that we are using the default-comm-world option still on our build >> boxes which isn't right. >> >> Thanks, >> Cody >> >> Here's my configure from config.log which admittedly is a huge mess: >> >> $ ../configure --with-methods=opt oprof dbg >> --prefix=/home/moosetest/permcj/moose/scripts/../libmesh/installed >> --enable-silent-rules --enable-openmp --enable-shared --disable-static >> --enable-unique-id --disable-warnings --enable-default-comm-world >> --disable-cxx11 CXX=mpicxx CC=mpicc FC=mpif90 F77=mpif77 METHODS=opt oprof >> dbg PETSC_DIR=/opt/moose/petsc/mpich_petsc-3.4.3/gcc-opt --disable-netcdf-4 >> --disable-testsets CXX=mpicxx CC=mpicc F77=mpif77 FC=mpif90 CPPFLAGS= >> LIBS= --no-create --no-recursion >> >> Valgrind Error: >> [moosetest][~/permcj/moose/libmesh/installed/examples/adaptivity/ex5]> >> valgrind --leak-check=full --track-origins=yes ./example-opt >> -init_timestep 0 -n_timesteps 5 >> >> ==28408== Memcheck, a memory error detector >> >> ==28408== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. >> >> ==28408== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright >> info >> >> ==28408== Command: ./example-opt -init_timestep 0 -n_timesteps 5 >> >> ==28408== >> >> Usage: >> >> ./example-opt -init_timestep 0 >> >> OR >> >> ./example-opt -read_solution -init_timestep 26 >> >> >> Running: ./example-opt -init_timestep 0 -n_timesteps 5 >> >> >> Mesh Information: >> >> mesh_dimension()=2 >> >> spatial_dimension()=3 >> >> n_nodes()=4225 >> >> n_local_nodes()=4225 >> >> n_elem()=5460 >> >> n_local_elem()=5460 >> >> n_active_elem()=4096 >> >> n_subdomains()=1 >> >> n_partitions()=1 >> >> n_processors()=1 >> >> n_threads()=1 >> >> processor_id()=0 >> >> >> ==28408== Conditional jump or move depends on uninitialised value(s) >> >> ==28408== at 0x72B1D30: rml::internal::isLargeObject(void*) >> (frontend.cpp:2163) >> >> ==28408== by 0x72B2A14: scalable_free (frontend.cpp:2564) >> >> ==28408== by 0x55FECD7: std::_Rb_tree<unsigned int, std::pair<unsigned >> int const, double>, std::_Select1st<std::pair<unsigned int const, double> >> >, std::less<unsigned int>, >> libMesh::Threads::scalable_allocator<std::pair<unsigned int const, double> >> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int >> const, double> >) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x55FED58: std::_Rb_tree<unsigned int, std::pair<unsigned >> int const, double>, std::_Select1st<std::pair<unsigned int const, double> >> >, std::less<unsigned int>, >> libMesh::Threads::scalable_allocator<std::pair<unsigned int const, double> >> > >::erase(unsigned int const&) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x55F6F51: >> libMesh::DofMap::process_constraints(libMesh::MeshBase&) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B859AF: libMesh::System::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B6B8F2: libMesh::ImplicitSystem::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B734D8: libMesh::LinearImplicitSystem::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5BBF794: >> libMesh::TransientSystem<libMesh::LinearImplicitSystem>::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B85C38: libMesh::System::init() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B493ED: libMesh::EquationSystems::init() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x40DB8D: main (in >> /home/moosetest/permcj/moose/libmesh/installed/examples/adaptivity/ex5/example-opt) >> >> ==28408== Uninitialised value was created by a stack allocation >> >> ==28408== at 0x5707D00: >> libMesh::FEGenericBase<double>::compute_periodic_constraints(libMesh::DofConstraints&, >> libMesh::DofMap&, libMesh::PeriodicBoundaries const&, libMesh::MeshBase >> const&, libMesh::PointLocatorBase const*, unsigned int, libMesh::Elem >> const*) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== >> >> ==28408== Conditional jump or move depends on uninitialised value(s) >> >> ==28408== at 0x72B1D30: rml::internal::isLargeObject(void*) >> (frontend.cpp:2163) >> >> ==28408== by 0x72B2A14: scalable_free (frontend.cpp:2564) >> >> ==28408== by 0x56187AA: libMesh::SparsityPattern::Build::~Build() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x55CB575: >> libMesh::DofMap::compute_sparsity(libMesh::MeshBase const&) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B68824: libMesh::ImplicitSystem::init_matrices() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B734D8: libMesh::LinearImplicitSystem::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5BBF794: >> libMesh::TransientSystem<libMesh::LinearImplicitSystem>::init_data() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B85C38: libMesh::System::init() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x5B493ED: libMesh::EquationSystems::init() (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== by 0x40DB8D: main (in >> /home/moosetest/permcj/moose/libmesh/installed/examples/adaptivity/ex5/example-opt) >> >> ==28408== Uninitialised value was created by a stack allocation >> >> ==28408== at 0x5707D00: >> libMesh::FEGenericBase<double>::compute_periodic_constraints(libMesh::DofConstraints&, >> libMesh::DofMap&, libMesh::PeriodicBoundaries const&, libMesh::MeshBase >> const&, libMesh::PointLocatorBase const*, unsigned int, libMesh::Elem >> const*) (in >> /home/moosetest/permcj/moose/libmesh/installed/lib/libmesh_opt.so.0.0.0) >> >> ==28408== >> >> Initial H1 norm = 1.74175 >> > > |