On Thu, Feb 25, 2016 at 2:17 PM, Zhang, Hong <hongzh...@anl.gov> wrote:

> Dear all,
>
> I am using the latest version of libmesh from the github repository on
> Fedora 23. When I do make check, the test fails at the example
> 'introduction_ex2', throwing out a segmentation fault error. It seems that
> the function EquationSystems.init() is broken, perhaps due to pthread.
> Unfortunately I have to use this function in my own application code. Is
> there anyway to fix/work around this? Thanks.
>
> FYI, here is the backtrace:
>
> #0  0x00007ffff384f600 in pthread_join () from /usr/lib64/libpthread.so.0
> #1  0x00007ffff5fe2fef in
> libMesh::Threads::parallel_for<libMesh::StoredRange<libMesh::MeshBase::const_element_iterator,
> libMesh::Elem const*>, (anonymous namespace)::ComputeConstraints>
> (range=..., body=...) at ./include/libmesh/threads.h:562
> #2  0x00007ffff5fc321e in libMesh::DofMap::create_dof_constraints
> (this=0x697bb0, mesh=..., time=0) at src/base/dof_map_constraints.C:1152
> #3  0x00007ffff684273e in libMesh::System::reinit_constraints
> (this=0x697650) at src/systems/system.C:412
> #4  0x00007ffff6841c1e in libMesh::System::init_data (this=0x697650) at
> src/systems/system.C:267
> #5  0x00007ffff6807e12 in libMesh::ExplicitSystem::init_data
> (this=0x697650) at src/systems/explicit_system.C:72
> #6  0x00007ffff682a073 in libMesh::ImplicitSystem::init_data
> (this=0x697650) at src/systems/implicit_system.C:89
> #7  0x00007ffff6834772 in libMesh::LinearImplicitSystem::init_data
> (this=0x697650) at src/systems/linear_implicit_system.C:77
> #8  0x00007ffff689d7b3 in
> libMesh::TransientSystem<libMesh::LinearImplicitSystem>::init_data
> (this=0x697650) at src/systems/transient_system.C:108
> #9  0x00007ffff6841b03 in libMesh::System::init (this=0x697650) at
> src/systems/system.C:242
> #10 0x00007ffff67f60c6 in libMesh::EquationSystems::init
> (this=0x7fffffffd8b0) at src/systems/equation_systems.C:121
> #11 0x000000000042ce25 in main (argc=1, argv=0x7fffffffdee8) at
> introduction_ex2.C:137
>

The pthreads interface was changed a bit recently, so it's possible a
regression was introduced.

Furthermore, we have kind of an odd situation where multiple threading
models (OpenMP, TBB, pthreads) can be detected at the same time, but I'm
not 100% sure we always handle all the #ifdef'ing correctly for this in
threads.h...

Depending on what you are trying to do, for instance if you don't plan to
run using threads, you can try disabling all threading by configuring
libmesh with:

--disable-pthreads --disable-tbb --disable-openmp

However, I haven't tried this configuration recently myself either...

-- 
John
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to