ParMETIS_V3_AdaptiveRepart fails

Hello,

I'm new with METIS library and just tried to run the function ParMETIS_V3_AdaptiveRepart, but it fails. I check a lot of variants and couldn't find out what is wrong with it.
Here is a source:

int mpisize, rank;
MPI_Comm_size(MPI_COMM_WORLD, &mpisize);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);

MPI_Comm comm = MPI_COMM_WORLD;

idx_t* xadj = new idx_t[16];
idx_t* adjncy = new idx_t[43];

int xtmp[16] = {0, 2, 5, 8, 11, 13, 16, 20, 24, 28, 31, 33, 36, 39, 42, 44};
for(int i=0; i<16; i++) xadj[i] = xtmp[i];
int atmp[44] = {1, 5, 0, 2, 6, 1, 3, 7, 2, 4, 8, 3, 9, 0, 6, 10, 1, 5, 7, 11, 2, 6, 8, 12, 3, 7, 9, 13, 4, 8, 14, 5, 11, 6, 10, 12, 7, 11, 13, 8, 12, 14, 9, 13};
for(int i=0; i<43; i++) adjncy[i] = atmp[i];
idx_t* part = new idx_t[15];
for(int i=0; i<15; i++) part[i] = -1;

idx_t ncon = 1;
idx_t nparts = 2;
idx_t* options = new idx_t[4];
options [ 0 ] = 1; // set to zero for default
options [ 1 ] = 1; // get timings
options [ 2 ] = 15; // random seed
options [ 3 ] = 1; // sub-domains and processors are coupled

idx_t* vtxdist = new idx_t[2];
vtxdist[0] = 0;
vtxdist[1] = 15;
idx_t wgtflag = 2;
idx_t numflag = 0;
idx_t edgecut;
real_t* tpwgts = new real_t[1];
tpwgts[0] = 1;
real_t* ubvec = new real_t[1];
ubvec[0] = 1.05;
real_t itr = 1000.0;

idx_t* vwgt = new idx_t[15];
idx_t* vsize = new idx_t[15];
for(int i=0; i<15; i++){
vwgt[i] = 1;
vsize[i] = 1;
}

ParMETIS_V3_AdaptiveRepart(
vtxdist, //idx_t *vtxdist,
xadj, //idx_t *xadj,
adjncy, //idx_t *adjncy,
vwgt, //idx_t *vwgt,
vsize, //idx_t *vsize,
NULL, //idx_t *adjwgt,
&wgtflag, //idx_t *wgtflag,
&numflag, //idx_t *numflag,
&ncon, //idx_t *ncon,
&nparts, //int *nparts,
tpwgts, //real t *tpwgts,
ubvec, //real t *ubvec,
&itr, //real t *itr,
options, //idx_t *options,
&edgecut, //idx_t *edgecut,
part, //idx_t *part,
&comm //MPI_Comm *comm
);

compile and run the application on only 1 node:
mpicxx test.cpp -o tmp -lparmetis -lmetis
mpirun -np 1 ./tmp


*** glibc detected *** Setup: Max: 0.000, Sum: 0.000, Balance: 1.000
Initialize: Max: 0.000, Sum: 0.000, Balance: 1.000
K-way: Max: 0.000, Sum: 0.000, Balance: 1.000
Remap: Max: 0.000, Sum: 0.000, Balance: 1.000
Total: Max: 0.000, Sum: 0.000, Balance: 1.000

=====================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 134
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=====================================================================================
APPLICATION TERMINATED WITH THE EXIT STRING: Aborted (signal 6)

What goes wrong?