PaStiXLUSolver segfaults

Asked by Jan Blechta on 2013-02-22

Here's source:
________________________________________________
from dolfin import *

mesh = UnitSquareMesh(2, 2)
V = FunctionSpace(mesh, 'CG', 1)

u = TrialFunction(V)
v = TestFunction(V)
a = inner(grad(u), grad(v))*dx + u*v*dx
L = Constant(1)*v*dx

A = STLMatrix(1)
A = assemble(a, tensor=A)
b = assemble(L)

u = Function(V)
s = PaStiXLUSolver(A)
s.solve(u.vector(), b)
________________________________________________

Here's output when run serially:
________________________________________________
 +--------------------------------------------------------------------+
 + PaStiX : Parallel Sparse matriX package +
 +--------------------------------------------------------------------+
  Matrix size 9 x 9
  Number of nonzeros in A 41
 +--------------------------------------------------------------------+
 + Options +
 +--------------------------------------------------------------------+
        Version : exported
        SMP_SOPALIN : Defined
        VERSION MPI : Defined
        PASTIX_DYNSCHED : Not defined
        STATS_SOPALIN : Not defined
        NAPA_SOPALIN : Defined
        TEST_IRECV : Not defined
        TEST_ISEND : Defined
        TAG : Exact Thread
        FORCE_CONSO : Not defined
        RECV_FANIN_OR_BLOCK : Not defined
        OUT_OF_CORE : Not defined
        DISTRIBUTED : Defined
        METIS : Not defined
        WITH_SCOTCH : Defined
        INTEGER TYPE : int64_t
        FLOAT TYPE : double
 +--------------------------------------------------------------------+

ERROR: Inconsistent integer type

ERROR: Error in ordering task

   Static pivoting 0
   Time to factorize 0 s
Segmentation fault (core dumped)
________________________________________________

Can you reproduce it?

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Garth Wells
Solved:
2013-02-23
Last query:
2013-02-23
Last reply:
2013-02-23
Jan Blechta (blechta) said : #1

Here's backtrace

(gdb) bt
#0 0x00007fffeaecb641 in D_redispatch_rhs () from /usr/users/blechta/fenics/fenics/lib/libdolfin.so.1.1
#1 0x00007fffeaed3f06 in d_dpastix () from /usr/users/blechta/fenics/fenics/lib/libdolfin.so.1.1
#2 0x00007fffead15f62 in dolfin::PaStiXLUSolver::solve (this=<optimized out>, x=..., b=...)
    at /srv/groot/blechta/fenics/fenics/src/dolfin/dolfin/la/PaStiXLUSolver.cpp:252
#3 0x00007fffd85dea89 in _wrap_PaStiXLUSolver_solve (args=<optimized out>)
    at /srv/groot/blechta/fenics/fenics/src/dolfin/dorsal_build_dir/dolfin/swig/modules/la/modulePYTHON_wrap.cxx:17489
#4 0x000000000049d585 in PyEval_EvalFrameEx ()
#5 0x000000000049f1c0 in PyEval_EvalCodeEx ()
#6 0x00000000004a9081 in PyRun_FileExFlags ()
#7 0x00000000004a9311 in PyRun_SimpleFileExFlags ()
#8 0x00000000004aa8bd in Py_Main ()
#9 0x00007ffff68e176d in __libc_start_main (main=0x41b980 <main>, argc=3, ubp_av=0x7fffffffa248, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7fffffffa238) at libc-start.c:226
#10 0x000000000041b9b1 in _start ()

Jan Blechta (blechta) said : #2

Changing u_int64_t to uint64_t in pastix.h and recompiling dolfin does not help.

Garth Wells (garth-wells) said : #3

I'm afraid you're on your own here. PaStiX is very difficult to
configure and will seg fault if not configured right.

Garth

On 22 February 2013 15:11, Jan Blechta
<email address hidden> wrote:
> Question #222567 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/222567
>
> Jan Blechta gave more information on the question:
> Changing u_int64_t to uint64_t in pastix.h and recompiling dolfin does
> not help.
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.

Jan Blechta (blechta) said : #4

On Fri, 22 Feb 2013 15:45:53 -0000
Garth Wells <email address hidden> wrote:
> I'm afraid you're on your own here. PaStiX is very difficult to
> configure and will seg fault if not configured right.
>
> Garth
>

Do you mean configuring PaStiX itself or with dolfin? So is it worth
running some tests supplied with PaStiX?

Jan

Best Garth Wells (garth-wells) said : #5

On 22 February 2013 23:35, Jan Blechta
<email address hidden> wrote:
> Question #222567 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/222567
>
> Status: Answered => Open
>
> Jan Blechta is still having a problem:
> On Fri, 22 Feb 2013 15:45:53 -0000
> Garth Wells <email address hidden> wrote:
>> I'm afraid you're on your own here. PaStiX is very difficult to
>> configure and will seg fault if not configured right.
>>
>> Garth
>>
>
> Do you mean configuring PaStiX itself or with dolfin?

Mainly PaStiX. You need to get MPI, SCOTCH and PaStiX and any other
PaStiX dependencies configured just right.

When testing, you can turn on the matrix check in PaStiXLUSolver.cpp
to check that your input matrix is ok.

Garth

> So is it worth
> running some tests supplied with PaStiX?
>
> Jan
>
> --
> You received this question notification because you are a member of
> DOLFIN Team, which is an answer contact for DOLFIN.

Jan Blechta (blechta) said : #6

Thanks, Garth. I will try it.