[Metis_NodeND] sigabrt for simple matrix

Hi,

I am here to ask few precisions to you .I am working on sparse matrix and for reordering a part of my matrix, I want to call METIS_NodeND function.
But I am lost. My submatrix is clearly not good for ND. I found on your forum that matrix has to be symmetric and with no value on diagonal.
So I try with this matrix (which is not my submatrix) :
idx_t my_xadj[]={
1,2,3, 5,
0, 5,
0, 4,
0, 4,5,
2,3, 5,
0,1, 3,4 };

idx_t my_adjncy[]={0,4,6,8,11,14,18};
idx_t nvtxs = (idx_t) 6;

idx_t *perm_ND, *iperm_ND;

if( (perm_ND = (idx_t*)malloc (nvtxs * sizeof(idx_t))) == NULL){
fprintf(stderr,"Error during malloc for perm_ND\n");
exit(1);
}
if( (iperm_ND = (idx_t*)malloc (nvtxs * sizeof(idx_t))) == NULL){
fprintf(stderr,"Error during malloc for iperm_ND\n");
exit(1);
}

printf("===METIS_NodeND===\n");
ierr = METIS_NodeND(&nvtxs,my_xadj,my_adjncy,NULL,NULL,perm_ND,iperm_ND);

And i got with gdb

===METIS_NodeND===

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6a190f9 in libmetis__CreateCoarseGraphNoMask ()
from /usr/local/lib/libmetis.so
(gdb) where
#0 0x00007ffff6a190f9 in libmetis__CreateCoarseGraphNoMask ()
from /usr/local/lib/libmetis.so
#1 0x00007ffff6a1a851 in libmetis__Match_RM ()
from /usr/local/lib/libmetis.so
#2 0x00007ffff6a1aee7 in libmetis__CoarsenGraph ()
from /usr/local/lib/libmetis.so
#3 0x00007ffff6a3c054 in libmetis__MlevelNodeBisectionL1 ()
from /usr/local/lib/libmetis.so
#4 0x00007ffff6a3d4ab in libmetis__MlevelNestedDissection ()
from /usr/local/lib/libmetis.so
#5 0x00007ffff6a3d94d in METIS_NodeND ()
from /usr/local/lib/libmetis.so
#6 0x000000000040927d in main (argc=1, argv=0x7fffffffe138)
at testing/test_petsc_solver.c:827

So i put again the diagonal values

idx_t my_xadj[]={
0,1,2,3, 5,
0,1, 5,
0, 2, 4,
0, 3,4,5,
2,3,4,5,
0,1, 3,4,5};

idx_t my_adjncy[]={0,5,8,11,15,19,24};
idx_t nvtxs = (idx_t) 6;

And now I got

Program received signal SIGABRT, Aborted.
0x00007ffff6661425 in __GI_raise (sig=)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) where
#0 0x00007ffff6661425 in __GI_raise (sig=)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff6664b8b in __GI_abort () at abort.c:91
#2 0x00007ffff669f39e in __libc_message (do_abort=2,
fmt=0x7ffff67a9008 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:201
#3 0x00007ffff66a9b96 in malloc_printerr (action=3,
str=0x7ffff67a91d0 "free(): invalid next size (fast)",
ptr=) at malloc.c:5007
#4 0x00007ffff6a12d1a in gk_free ()
from /usr/local/lib/libmetis.so
#5 0x00007ffff6a17962 in libmetis__CompressGraph ()
from /usr/local/lib/libmetis.so
#6 0x00007ffff6a3d9b5 in METIS_NodeND ()
from /usr/local/lib/libmetis.so
#7 0x000000000040927d in main (argc=1, argv=0x7fffffffe138)
at testing/test_petsc_solver.c:827

I don't know exactly why ... is there a minimum size?
I did the same thing that for METIS_PartGraphKway function about parameters.

Can you help me?
Thank you,

Sébastien