← Back to team overview

fenics team mailing list archive

Build time bugs in syfi and segfaults in dolfin

 

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.
However I wonder if I have exposed any runtime bugs here. Is there an
absolute dependency
on version 1.3.37 of swig ? 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 :

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

What may I not being doing correctly ?

regards
B Thomas

Follow ups