← Back to team overview

fenics team mailing list archive

Re: Build time bugs in syfi and segfaults in dolfin

 

On Wednesday 11 February 2009 14:23:09 Balbir Thomas wrote:
> Hi,
>
> In trying to build syfi I found the following bugs
>
> 1) There are multiple formal parameters named x1 in  the Triangle and
> Tetrahedron constructors found in syfi/Polygon.h
>
> Based on syfi/Polygon.cpp I presume this is a typo and instead they should
> have been sequentially named x1, x2, ... etc.
>
> 2) The sort function was not declared in syfi/OrderedPtvSet.cpp
>
> I presume the author intended to use the standard library sort function
> from <algorithm>
>
> Fixing these solves the build failure problem on Debian/Lenny.
>
> Apart from the above all fenics packages built very easly on Debian/Lenny
> with no changes. Thank you.
> However the dolfin package has a build dependency on swig (>=1.3.37). Lenny
> has
> 1.3.36. Downgrading the dependency to 1.3.36 seemed to cause no build
> problems.

The development version of PyDOLFIN together with UFC and FFC has a swig 
version dependency of >=1.3.35. The precompiled ubuntu packages has a 
dependency of swig 1.3.37. This package can be apt-get installed from our 
repositories. 

Can you please hand the error message that says that you need swig >=1.3.37?

I am not sure how the compatablility is for lenny, but you should be able to 
build most fenics packages using dorsal,

  <http://www.fenics.org/wiki/Dorsal>

It should support Etch and "testing"

> However I wonder if I have exposed any runtime bugs here. Is there an
> absolute dependency on version 1.3.37 of swig ? 

See above.

> Could this be the reason that the demo at 
> http://www.fenics.org/wiki/Tutorial segfaults. Similar segmentation faults
> also occur
> with many of the demo python scripts in the dolfin-doc package. This
> behavior is also seen
> with the C++ examples for instance in demo/pde/poisson/cpp running :

When something happens in a C++ demo swig cannot be blamed.

> scons
> ./demo
>
> results in a segmentation fault. GDB shows :
>
> (gdb) run
> Starting program: /home/bt/demo/pde/poisson/cpp/demo
> [Thread debugging using libthread_db enabled]
> [New Thread 0xb5a936c0 (LWP 4791)]
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb5a936c0 (LWP 4791)]
> 0xb7ece3c7 in MPID_P4_Init () from /usr/lib/libdolfin.so.0
> (gdb) where
> #0  0xb7ece3c7 in MPID_P4_Init () from /usr/lib/libdolfin.so.0
> #1  0xb7ecd3ad in MPID_CH_InitMsgPass () from /usr/lib/libdolfin.so.0
> #2  0xb7ec86ad in MPID_Init () from /usr/lib/libdolfin.so.0
> #3  0xb7e9436c in MPIR_Init () from /usr/lib/libdolfin.so.0
> #4  0xb7e941bc in PMPI_Init () from /usr/lib/libdolfin.so.0
> #5  0xb7de30c8 in dolfin::SubSystemsManager::initMPI () from
> /usr/lib/libdolfin.so.0
> #6  0xb7de09a7 in dolfin::MPI::num_processes () from
> /usr/lib/libdolfin.so.0 #7  0xb7dd5072 in dolfin::Logger::Logger () from
> /usr/lib/libdolfin.so.0 #8  0xb7dd4865 in ?? () from
> /usr/lib/libdolfin.so.0
> #9  0xb7edf2fd in ?? () from /usr/lib/libdolfin.so.0
> #10 0xb7f63d70 in ?? () from /usr/lib/libdolfin.so.0
> #11 0xb7fa5928 in ?? ()
> #12 0xbfbc1f08 in ?? ()
> #13 0xb7cbb948 in _init () from /usr/lib/libdolfin.so.0
> Backtrace stopped: frame did not save the PC

It looks like something happens in some MPI code. DOLFIN is confirmed to work 
with the OpenMPI that comes with the Ubuntu hardy/intrepid versions.

> What may I not being doing correctly ?
>
> regards
> B Thomas




Follow ups

References