我需要迭代地获取给定图的最小分割分区,直到子图的 odes 数量低于某个给定的阈值min_node
。这将用作 CHAMELEON 聚类算法的预处理步骤。为此,我将METIS库与 R 一起使用。我为METIS_PartGraphRecursive ()
METIS 库中的函数制作了一个简单的包装器,我用它来通过.C
接口从 R 代码调用。调用包装器函数没问题,并进行分区并返回我处理的结果,并通过消除两个分区之间的边缘来检索子图。然后我通过其中一个子图来进行进一步的分区。此调用使 R 崩溃。崩溃跟踪显示在崩溃报告中下面的部分。(更新)Valgrind 的输出如下所示(正如 Martin Morgan 评论的那样)。
似乎崩溃的原因是 METIS 库中的一些代码。
我正在发布我正在使用的 METIS 包装器,以及我如何称呼这个包装器。
崩溃后,fedora 显示“检测到 R-core-2.15.0-1.fc16 包中的问题”的通知。R 被操作系统使用 SIGABRT 或 SIGSEGV 杀死,并且错误报告工具消息告诉以下内容:
Source Problem
kernel BUG: unable to handle kernel NULL pointer dereference at 00000004
我的系统:
$ uname -r
3.3.7-1.fc16.x86_64
谁能帮我解决这个问题?
测试数据集
> 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
样品运行
从上述点生成的 metis 格式的图形已分区一次,在此特定示例中可以正常工作。但是,如果我采用其中一个分区组件并进一步对其进行重新分区,那么程序就会崩溃。同样,对于具有 600 个点的更大数据集,第一个分区崩溃。
> 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
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;
}
}
R中的.C代码
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))
}
崩溃报告
*** 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 转储
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)