C code interaction with .C Crashes R

I need to get mini-sliced ​​sections of a given graph iteratively until the subgraph has the number of odes below some given min_node threshold. This will be used as a preprocessing step for the CHAMELEON clustering algorithm. To do this, I use the METIS library with R. I created a simple wrapper for the METIS_PartGraphRecursive () function in the METIS library, which I use to call from R with the .C interface. The wrapper function call is executed normally, and the section returns the result that I process and extract the subgraphs, eliminating the border between the two sections. Then I pass one of the subgraphs to do further sections. This call causes R failures. The failure trace is displayed in the Failure Report section below. (UPDATE) Valgrind's output is also shown below (as Martin Morgan noted).

It appears that the reason for the failure is some code inside the METIS library.

I am sending the METIS wrapper that I am using as well as what I call this wrapper.

After the failure, fedora shows a notification that "a problem in the package R-core-2.15.0-1.fc16 has been detected." R is killed by the OS using SIGABRT or SIGSEGV, and the error message indicates the following:

  Source Problem kernel BUG: unable to handle kernel NULL pointer dereference at 00000004 

My system:

 $ uname -r 3.3.7-1.fc16.x86_64 

Can someone help me solve this problem?

Test data set

 > x [,1] [,2] [1,] 13 0 [2,] 9 0 [3,] 11 26 [4,] 9 1 [5,] 13 2 [6,] 5 3 [7,] 6 0 [8,] 17 13 [9,] 1 6 [10,] 6 14 [11,] 4 6 [12,] 15 10 [13,] 1 1 

Run example

A metis chart generated from the above points separated once, which works in this particular example. But if I take one of the partitioned components and redo it, the program will work. Also with a large dataset with 600 points, the very first partition crashes.

 > cm (x, 4) The below graph is to be partitioned: $xadj [1] 1 5 9 13 17 21 25 29 33 37 41 45 49 53 $adjncy [1] 5 2 4 7 4 7 1 5 10 8 12 11 2 7 1 5 1 4 2 7 7 11 13 4 2 [26] 6 4 13 12 10 5 1 11 13 6 7 11 9 12 8 9 6 13 7 8 5 10 1 6 9 [51] 7 11 $adjwgt [1] 2.000000 4.000000 4.123106 7.000000 1.000000 3.000000 4.000000 [8] 4.472136 13.000000 14.317821 16.492423 21.189620 1.000000 3.162278 [15] 4.123106 4.123106 2.000000 4.123106 4.472136 7.280110 3.162278 [22] 3.162278 4.472136 4.472136 3.000000 3.162278 3.162278 5.099020 [29] 3.605551 11.045361 11.704700 13.601471 3.000000 5.000000 5.000000 [36] 7.810250 8.246211 9.433981 9.848858 11.045361 3.000000 3.162278 [43] 5.830952 6.324555 3.605551 8.246211 9.848858 10.198039 4.472136 [50] 5.000000 5.099020 5.830952 #Original list of points $vertex_id [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 Initial Cut: 145 METIS_OK Partition 1 list of original points [[1]] [[1]]$vertex_id [1] 1 2 4 5 6 7 [[1]]$xadj [1] 1 5 9 13 17 19 22 Point index local to this partition [[1]]$adjncy [1] 5 2 4 7 4 7 1 5 2 7 1 5 1 4 2 7 7 4 2 6 4 [[1]]$adjwgt [1] 2.000000 4.000000 4.123106 7.000000 1.000000 3.000000 4.000000 4.472136 [9] 1.000000 3.162278 4.123106 4.123106 2.000000 4.123106 4.472136 7.280110 [17] 3.162278 4.472136 3.000000 3.162278 3.162278 Partition 2 list of original points [[2]] [[2]]$vertex_id [1] 3 8 9 10 11 12 13 [[2]]$xadj [1] 1 5 7 9 13 15 17 19 Point index local to this partition [[2]]$adjncy [1] 10 8 12 11 12 10 11 13 11 9 12 8 9 13 8 10 9 11 [[2]]$adjwgt [1] 13.000000 14.317821 16.492423 21.189620 3.605551 11.045361 3.000000 [8] 5.000000 8.246211 9.433981 9.848858 11.045361 3.000000 5.830952 [15] 3.605551 9.848858 5.000000 5.830952 

Shell METIS

 void metis_wrap (idx_t *nvtxs, idx_t *ncon, idx_t *xadj, idx_t *adjncy, idx_t *adjwgt, idx_t *nparts, idx_t *objval, idx_t *part) { int retval, i, j; idx_t options[METIS_NOPTIONS]; idx_t *vwgt = NULL, *vsize = NULL; real_t *ubvec = NULL, *tpwgts = NULL; METIS_SetDefaultOptions (options); options[METIS_OPTION_OBJTYPE] = METIS_OBJTYPE_CUT; options[METIS_OPTION_NUMBERING] = 1; options[METIS_OPTION_DBGLVL] = METIS_DBG_IPART; retval = METIS_PartGraphRecursive (nvtxs, ncon, xadj, adjncy, vwgt, vsize, adjwgt, nparts, tpwgts, ubvec, options, objval, part); switch (retval) { case METIS_OK: printf ("\nMETIS_OK\n"); break; case METIS_ERROR_INPUT: printf ("\nMETIS_ERROR_INPUT\n"); break; case METIS_ERROR_MEMORY: printf ("\nMETIS_ERROR_MEMORY\n"); break; case METIS_ERROR: printf ("\nMETIS_ERROR\n"); break; } } 

.C code inside R

  part_graph <- function (knn_data) { nvtxs <- as.integer (length (knn_data$vertex_id)); nparts <- 2; ncon <- 1; ubvec <- 25; objval <- 0; part <- rep (0, nvtxs); knn_data$adjwgt <- 1/knn_data$adjwgt * 200; mode (knn_data$adjwgt) <- "integer"; dyn.load ("libmetis.so"); dyn.load ("metiswrap.so"); ret <-.C ("metis_wrap", nvtxs = as.integer (nvtxs), ncon = as.integer (ncon), xadj = as.integer (knn_data$xadj), adjncy = as.integer (knn_data$adjncy), adjwgt = as.integer (knn_data$adjwgt), nparts = as.integer (nparts), objval = as.integer (objval), part = as.integer (part)) return (list (part = ret$part, objval = ret$objval)) } 

Crash report

 *** glibc detected *** /usr/lib64/R/bin/exec/R: free(): invalid next size (fast): 0x000000000263a420 *** ======= Backtrace: ========= /lib64/libc.so.6[0x313a47dda6] /lib64/libc.so.6[0x313a47f08e] /home/phoxis/Documents/Works/Programming/R/libmetis.so(gk_free+0x9a)[0x7fd5ef3a7eba] /home/phoxis/Documents/Works/Programming/R/libmetis.so(libmetis__FreeRData+0x71)[0x7fd5ef3cf5e1] /home/phoxis/Documents/Works/Programming/R/libmetis.so(libmetis__FreeGraph+0x5a)[0x7fd5ef3cf65a] /home/phoxis/Documents/Works/Programming/R/libmetis.so(libmetis__MlevelRecursiveBisection+0x15c)[0x7fd5ef3d242c] /home/phoxis/Documents/Works/Programming/R/libmetis.so(METIS_PartGraphRecursive+0x166)[0x7fd5ef3d2796] /home/phoxis/Documents/Works/Programming/R/metiswrap.so(metis_wrap+0xc6)[0x7fd5ef184d86] /usr/lib64/R/lib/libR.so[0x376b8b148d] /usr/lib64/R/lib/libR.so(Rf_eval+0x739)[0x376b8e1b09] /usr/lib64/R/lib/libR.so[0x376b8e4790] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so[0x376b8e4910] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so(Rf_applyClosure+0x322)[0x376b8e5c32] /usr/lib64/R/lib/libR.so(Rf_eval+0x430)[0x376b8e1800] /usr/lib64/R/lib/libR.so[0x376b8e4790] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so[0x376b8e4910] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so[0x376b8e4910] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so[0x376b8e65ec] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so[0x376b8e4910] /usr/lib64/R/lib/libR.so(Rf_eval+0x55b)[0x376b8e192b] /usr/lib64/R/lib/libR.so(Rf_applyClosure+0x322)[0x376b8e5c32] /usr/lib64/R/lib/libR.so(Rf_eval+0x430)[0x376b8e1800] /usr/lib64/R/lib/libR.so(Rf_ReplIteration+0x1e3)[0x376b9178b3] /usr/lib64/R/lib/libR.so[0x376b917b40] /usr/lib64/R/lib/libR.so(run_Rmainloop+0x50)[0x376b918060] /usr/lib64/R/bin/exec/R(main+0x1b)[0x40076b] /lib64/libc.so.6(__libc_start_main+0xed)[0x313a42169d] /usr/lib64/R/bin/exec/R[0x40079d] ======= Memory map: ======== 00400000-00401000 r-xp 00000000 08:01 1051073 /usr/lib64/R/bin/exec/R 00600000-00601000 r--p 00000000 08:01 1051073 /usr/lib64/R/bin/exec/R 00601000-00603000 rw-p 00001000 08:01 1051073 /usr/lib64/R/bin/exec/R 022f8000-03928000 rw-p 00000000 00:00 0 [heap] 313a000000-313a022000 r-xp 00000000 08:01 786460 /lib64/ld-2.14.90.so 313a221000-313a222000 r--p 00021000 08:01 786460 /lib64/ld-2.14.90.so 313a222000-313a223000 rw-p 00022000 08:01 786460 /lib64/ld-2.14.90.so 313a223000-313a224000 rw-p 00000000 00:00 0 313a400000-313a5ad000 r-xp 00000000 08:01 786461 /lib64/libc-2.14.90.so 313a5ad000-313a7ad000 ---p 001ad000 08:01 786461 /lib64/libc-2.14.90.so 313a7ad000-313a7b1000 r--p 001ad000 08:01 786461 /lib64/libc-2.14.90.so 313a7b1000-313a7b3000 rw-p 001b1000 08:01 786461 /lib64/libc-2.14.90.so 313a7b3000-313a7b8000 rw-p 00000000 00:00 0 313a800000-313a883000 r-xp 00000000 08:01 788752 /lib64/libm-2.14.90.so 313a883000-313aa82000 ---p 00083000 08:01 788752 /lib64/libm-2.14.90.so 313aa82000-313aa83000 r--p 00082000 08:01 788752 /lib64/libm-2.14.90.so 313aa83000-313aa84000 rw-p 00083000 08:01 788752 /lib64/libm-2.14.90.so 313ac00000-313ac17000 r-xp 00000000 08:01 786462 /lib64/libpthread-2.14.90.so 313ac17000-313ae16000 ---p 00017000 08:01 786462 /lib64/libpthread-2.14.90.so 313ae16000-313ae17000 r--p 00016000 08:01 786462 /lib64/libpthread-2.14.90.so 313ae17000-313ae18000 rw-p 00017000 08:01 786462 /lib64/libpthread-2.14.90.so 313ae18000-313ae1c000 rw-p 00000000 00:00 0 313b000000-313b002000 r-xp 00000000 08:01 786502 /lib64/libdl-2.14.90.so 313b002000-313b202000 ---p 00002000 08:01 786502 /lib64/libdl-2.14.90.so 313b202000-313b203000 r--p 00002000 08:01 786502 /lib64/libdl-2.14.90.so 313b203000-313b204000 rw-p 00003000 08:01 786502 /lib64/libdl-2.14.90.so 313b400000-313b407000 r-xp 00000000 08:01 786463 /lib64/librt-2.14.90.so 313b407000-313b606000 ---p 00007000 08:01 786463 /lib64/librt-2.14.90.so 313b606000-313b607000 r--p 00006000 08:01 786463 /lib64/librt-2.14.90.so 313b607000-313b608000 rw-p 00007000 08:01 786463 /lib64/librt-2.14.90.so 313b800000-313b815000 r-xp 00000000 08:01 788765 /lib64/libgcc_s-4.6.3-20120306.so.1 313b815000-313ba14000 ---p 00015000 08:01 788765 /lib64/libgcc_s-4.6.3-20120306.so.1 313ba14000-313ba15000 rw-p 00014000 08:01 788765 /lib64/libgcc_s-4.6.3-20120306.so.1 313bc00000-313bc17000 r-xp 00000000 08:01 786474 /lib64/libz.so.1.2.5 313bc17000-313be16000 ---p 00017000 08:01 786474 /lib64/libz.so.1.2.5 313be16000-313be17000 rw-p 00016000 08:01 786474 /lib64/libz.so.1.2.5 313ec00000-313ece8000 r-xp 00000000 08:01 150116 /usr/lib64/libstdc++.so.6.0.16 313ece8000-313eee8000 ---p 000e8000 08:01 150116 /usr/lib64/libstdc++.so.6.0.16 313eee8000-313eef0000 r--p 000e8000 08:01 150116 /usr/lib64/libstdc++.so.6.0.16 313eef0000-313eef2000 rw-p 000f0000 08:01 150116 /usr/lib64/libstdc++.so.6.0.16 313eef2000-313ef07000 rw-p 00000000 00:00 0 3140400000-314043c000 r-xp 00000000 08:01 786583 /lib64/libreadline.so.6.2 314043c000-314063b000 ---p 0003c000 08:01 786583 /lib64/libreadline.so.6.2 314063b000-3140643000 rw-p 0003b000 08:01 786583 /lib64/libreadline.so.6.2 3140643000-3140644000 rw-p 00000000 00:00 0 3145000000-314500f000 r-xp 00000000 08:01 788834 /lib64/libbz2.so.1.0.6 314500f000-314520e000 ---p 0000f000 08:01 788834 /lib64/libbz2.so.1.0.6 314520e000-3145210000 rw-p 0000e000 08:01 788834 /lib64/libbz2.so.1.0.6 3148c00000-3148c23000 r-xp 00000000 08:01 815621 /lib64/libtinfo.so.5.9 3148c23000-3148e22000 ---p 00023000 08:01 815621 /lib64/libtinfo.so.5.9 3148e22000-3148e26000 r--p 00022000 08:01 815621 /lib64/libtinfo.so.5.9 3148e26000-3148e27000 rw-p 00026000 08:01 815621 /lib64/libtinfo.so.5.9 3149200000-3149338000 r-xp 00000000 08:01 177515 /usr/lib64/libicuuc.so.46.0 3149338000-3149538000 ---p 00138000 08:01 177515 /usr/lib64/libicuuc.so.46.0 3149538000-3149547000 r--p 00138000 08:01 177515 /usr/lib64/libicuuc.so.46.0 3149547000-3149548000 rw-p 00147000 08:01 177515 /usr/lib64/libicuuc.so.46.0 3149548000-314954c000 rw-p 00000000 00:00 0 314b600000-314b7b1000 r-xp 00000000 08:01 148922 /usr/lib64/libicui18n.so.46.0 314b7b1000-314b9b1000 ---p 001b1000 08:01 148922 /usr/lib64/libicui18n.so.46.0 314b9b1000-314b9bc000 r--p 001b1000 08:01 148922 /usr/lib64/libicui18n.so.46.0 314b9bc000-314b9be000 rw-p 001bc000 08:01 148922 /usr/lib64/libicui18n.so.46.0 314da00000-314e873000 r-xp 00000000 08:01 137354 /usr/lib64/libicudata.so.46.0 314e873000-314ea72000 ---p 00e73000 08:01 137354 /usr/lib64/libicudata.so.46.0 314ea72000-314ea73000 r--p 00e72000 08:01 137354 /usr/lib64/libicudata.so.46.0 314ea73000-314ea74000 rw-p 00e73000 08:01 137354 /usr/lib64/libicudata.so.46.0 3158200000-315820d000 r-xp 00000000 08:01 165367 /usr/lib64/libgomp.so.1.0.0 315820d000-315840c000 ---p 0000d000 08:01 165367 /usr/lib64/libgomp.so.1.0.0 315840c000-315840d000 rw-p 0000c000 08:01 165367 /usr/lib64/libgomp.so.1.0.0 315d600000-315d63c000 r-xp 00000000 08:01 788840 /lib64/libpcre.so.0.0.1 315d63c000-315d83b000 ---p 0003c000 08:01 788840 /lib64/libpcre.so.0.0.1 315d83b000-315d83c000 r--p 0003b000 08:01 788840 /lib64/libpcre.so.0.0.1 315d83c000-315d83d000 rw-p 0003c000 08:01 788840 /lib64/libpcre.so.0.0.1 376b400000-376b42b000 r-xp 00000000 08:01 1062362 /usr/lib64/R/lib/libRblas.so 376b42b000-376b62a000 ---p 0002b000 08:01 1062362 /usr/lib64/R/lib/libRblas.so 376b62a000-376b62b000 r--p 0002a000 08:01 1062362 /usr/lib64/R/lib/libRblas.so 376b62b000-376b62c000 rw-p 0002b000 08:01 1062362 /usr/lib64/R/lib/libRblas.so 376b800000-376baa7000 r-xp 00000000 08:01 1062365 /usr/lib64/R/lib/libR.so 376baa7000-376bca7000 ---p 002a7000 08:01 1062365 /usr/lib64/R/lib/libR.so 376bca7000-376bcad000 r--p 002a7000 08:01 1062365 /usr/lib64/R/lib/libR.so 376bcad000-376bcbd000 rw-p 002ad000 08:01 1062365 /usr/lib64/R/lib/libR.so 376bcbd000-376bdac000 rw-p 00000000 00:00 0 376be00000-376bf78000 r-xp 00000000 08:01 1062364 /usr/lib64/R/lib/libRlapack.so 376bf78000-376c178000 ---p 00178000 08:01 1062364 /usr/lib64/R/lib/libRlapack.so 376c178000-376c179000 r--p 00178000 08:01 1062364 /usr/lib64/R/lib/libRlapack.so 376c179000-376c17a000 rw-p 00179000 08:01 1062364 /usr/lib64/R/lib/libRlapack.so 376c200000-376c235000 r-xp 00000000 08:01 136624 /usr/lib64/libquadmath.so.0.0.0 376c235000-376c434000 ---p 00035000 08:01 136624 /usr/lib64/libquadmath.so.0.0.0 376c434000-376c435000 rw-p 00034000 08:01 136624 /usr/lib64/libquadmath.so.0.0.0 376c600000-376c714000 r-xp 00000000 08:01 138203 /usr/lib64/libgfortran.so.3.0.0 376c714000-376c913000 ---p 00114000 08:01 138203 /usr/lib64/libgfortran.so.3.0.0 376c913000-376c915000 rw-p 00113000 08:01 138203 /usr/lib64/libgfortran.so.3.0.0 376c915000-376c916000 rw-p 00000000 00:00 0 7fd5ef184000-7fd5ef185000 r-xp 00000000 08:03 7609099 /home/phoxis/Documents/Works/Programming/R/metiswrap.so 7fd5ef185000-7fd5ef385000 ---p 00001000 08:03 7609099 /home/phoxis/Documents/Works/Programming/R/metiswrap.so 7fd5ef385000-7fd5ef386000 r--p 00001000 08:03 7609099 /home/phoxis/Documents/Works/Programming/R/metiswrap.so 7fd5ef386000-7fd5ef387000 rw-p 00002000 08:03 7609099 /home/phoxis/Documents/Works/Programming/R/metiswrap.so 7fd5ef387000-7fd5ef3ea000 r-xp 00000000 08:03 7610359 /home/phoxis/Documents/Works/Programming/R/libmetis.so 7fd5ef3ea000-7fd5ef5e9000 ---p 00063000 08:03 7610359 /home/phoxis/Documents/Works/Programming/R/libmetis.so 7fd5ef5e9000-7fd5ef5eb000 rw-p 00062000 08:03 7610359 /home/phoxis/Documents/Works/Programming/R/libmetis.so 7fd5ef5eb000-7fd5ef5f9000 r-xp 00000000 08:03 7740125 /home/phoxis/R/x86_64-redhat-linux-gnu-library/2.15/RANN/libs/RANN.so 7fd5ef5f9000-7fd5ef7f9000 ---p 0000e000 08:03 7740125 /home/phoxis/R/x86_64-redhat-linux-gnu-library/2.15/RANN/libs/RANN.so 7fd5ef7f9000-7fd5ef7fa000 r--p 0000e000 08:03 7740125 /home/phoxis/R/x86_64-redhat-linux-gnu-library/2.15/RANN/libs/RANN.so 7fd5ef7fa000-7fd5ef7fb000 rw-p 0000f000 08:03 7740125 /home/phoxis/R/x86_64-redhat-linux-gnu-library/2.15/RANN/libs/RANN.so 7fd5ef7fb000-7fd5ef869000 r-xp 00000000 08:01 1203642 /usr/lib64/R/library/stats/libs/stats.so 7fd5ef869000-7fd5efa68000 ---p 0006e000 08:01 1203642 /usr/lib64/R/library/stats/libs/stats.so 7fd5efa68000-7fd5efa6a000 r--p 0006d000 08:01 1203642 /usr/lib64/R/library/stats/libs/stats.so 7fd5efa6a000-7fd5efa6c000 rw-p 0006f000 08:01 1203642 /usr/lib64/R/library/stats/libs/stats.so 7fd5efa6c000-7fd5efbda000 rw-p 00000000 00:00 0 7fd5efbda000-7fd5efbfd000 r-xp 00000000 08:01 1077695 /usr/lib64/R/library/grDevices/libs/grDevices.so 7fd5efbfd000-7fd5efdfc000 ---p 00023000 08:01 1077695 /usr/lib64/R/library/grDevices/libs/grDevices.so 7fd5efdfc000-7fd5efdfd000 r--p 00022000 08:01 1077695 /usr/lib64/R/library/grDevices/libs/grDevices.so 7fd5efdfd000-7fd5efdfe000 rw-p 00023000 08:01 1077695 /usr/lib64/R/library/grDevices/libs/grDevices.so 7fd5eff2e000-7fd5f0165000 rw-p 00000000 00:00 0 7fd5f0165000-7fd5f016c000 r-xp 00000000 08:01 1078260 /usr/lib64/R/library/methods/libs/methods.so 7fd5f016c000-7fd5f036b000 ---p 00007000 08:01 1078260 /usr/lib64/R/library/methods/libs/methods.so 7fd5f036b000-7fd5f036c000 r--p 00006000 08:01 1078260 /usr/lib64/R/library/methods/libs/methods.so 7fd5f036c000-7fd5f036d000 rw-p 00007000 08:01 1078260 /usr/lib64/R/library/methods/libs/methods.so 7fd5f036d000-7fd5f0402000 rw-p 00000000 00:00 0 7fd5f0402000-7fd5f040e000 r-xp 00000000 08:01 789196 /lib64/libnss_files-2.14.90.so 7fd5f040e000-7fd5f060d000 ---p 0000c000 08:01 789196 /lib64/libnss_files-2.14.90.so 7fd5f060d000-7fd5f060e000 r--p 0000b000 08:01 789196 /lib64/libnss_files-2.14.90.so 7fd5f060e000-7fd5f060f000 rw-p 0000c000 08:01 789196 /lib64/libnss_files-2.14.90.so 7fd5f0640000-7fd5f06f1000 rw-p 00000000 00:00 0 7fd5f06f3000-7fd5f089c000 rw-p 00000000 00:00 0 7fd5f089c000-7fd5f6cbf000 r--p 00000000 08:01 157303 /usr/lib/locale/locale-archive 7fd5f6cbf000-7fd5f6cc9000 rw-p 00000000 00:00 0 7fd5f6ccc000-7fd5f6cf3000 rw-p 00000000 00:00 0 7fd5f6cf3000-7fd5f6cfa000 r--s 00000000 08:01 139093 /usr/lib64/gconv/gconv-modules.cache 7fd5f6cfa000-7fd5f6cfc000 rw-p 00000000 00:00 0 7fff473da000-7fff47403000 rw-p 00000000 00:00 0 [stack] 7fff474a2000-7fff474a3000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] *** caught segfault *** address (nil), cause 'memory not mapped' 

Valgrind dump

 partitioning : Initial Cut: 145 METIS_OK partitioning : Initial Cut: 202 METIS_OK partitioning : ==1410== Invalid read of size 4 ==1410== at 0xEFAA3E3: libmetis__CreateCoarseGraphNoMask (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFAB5E8: libmetis__Match_SHEM (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFACB84: libmetis__CoarsenGraph (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFA39FD: libmetis__MultilevelBisect (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFA43D0: libmetis__MlevelRecursiveBisection (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFA4795: METIS_PartGraphRecursive (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xF1BDD85: metis_wrap (metiswrap.c:45) ==1410== by 0x376B8B148C: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B8E1B08: Rf_eval (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B8E478F: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B8E192A: Rf_eval (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B8E490F: ??? (in /usr/lib64/R/lib/libR.so) ==1410== Address 0x397c7a00 is not stack'd, malloc'd or (recently) free'd ==1410== *** caught segfault *** address 0x397c7a00, cause 'memory not mapped' ==1410== ==1410== Process terminating with default action of signal 11 (SIGSEGV) ==1410== General Protection Fault ==1410== at 0x313A505FD0: __snprintf_chk (in /lib64/libc-2.14.90.so) ==1410== by 0x376B979097: Rf_EncodeReal (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B97A317: Rf_EncodeElement (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B89A50D: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B89C19C: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B89A21D: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B89C59D: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B8CC524: R_GetTraceback (in /usr/lib64/R/lib/libR.so) ==1410== by 0x376B915A30: ??? (in /usr/lib64/R/lib/libR.so) ==1410== by 0x313AC0F4FF: ??? (in /lib64/libpthread-2.14.90.so) ==1410== by 0xEFAA3E2: libmetis__CreateCoarseGraphNoMask (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== by 0xEFAB5E8: libmetis__Match_SHEM (in /home/phoxis/Documents/Works/Programming/R/libmetis.so) ==1410== ==1410== HEAP SUMMARY: ==1410== in use at exit: 28,683,682 bytes in 14,598 blocks ==1410== total heap usage: 34,400 allocs, 19,802 frees, 50,987,649 bytes allocated ==1410== ==1410== LEAK SUMMARY: ==1410== definitely lost: 0 bytes in 0 blocks ==1410== indirectly lost: 0 bytes in 0 blocks ==1410== possibly lost: 0 bytes in 0 blocks ==1410== still reachable: 28,683,682 bytes in 14,598 blocks ==1410== suppressed: 0 bytes in 0 blocks ==1410== Rerun with --leak-check=full to see details of leaked memory ==1410== ==1410== For counts of detected and suppressed errors, rerun with: -v ==1410== ERROR SUMMARY: 220 errors from 14 contexts (suppressed: 2 from 2) Segmentation fault (core dumped) 
+6
source share

Source: https://habr.com/ru/post/918465/


All Articles