Tencent / plato

腾讯高性能分布式图计算框架Plato
Other
1.9k stars 330 forks source link

N-阶度执行异常 #99

Open datian9966 opened 4 years ago

datian9966 commented 4 years ago

作者您好,我在执行N-阶度算法时,执行异常,请帮忙看看 错误信息如下

I0708 15:43:40.730374 75905 dualmode.hpp:257] generate out-degrees from graph cost: 0.454s
Segmentation fault.
Backtrace:
  0x0000000000575fc8
  0x0000000000575157
  0x0000000000575279
  /lib64/libpthread.so.0+0x000000000000f5ee
  0x00000000004608a4
  0x0000000000464342
  0x000000000047853d
  0x0000000000417ba1
  0x0000000000478e00
  0x00000000004e70f9
  0x00000000004e7229
  0x00000000004e737f
  0x00000000004095fe
  /lib64/libc.so.6+0x0000000000022503
  0x000000000040b1b5

每次都是卡在generate out-degrees from graph cost 这句日志信息之后就异常了 actives参数为“all” step参数为“1” 其余都是默认参数 另外 bits参数需要什么特殊设置吗?

ustcyu commented 4 years ago

请提供数据和执行命令,我们来看一下问题

datian9966 commented 4 years ago

@ustcyu 您好

执行命令如下 /xxx/plato-master/3rd/mpich/bin/mpiexec.hydra -hosts xxx -n 10 /xxx/plato-master/bazel-bin/example/nstepdegrees --threads 4 --output hdfs://xxxx/nsd --is_directed=true --bits 6 --type both --actives ALL --input hdfs://xxxx/test2 --part_by_in=true --alpha -1 --step 1

数据情况如下 数据量顶点数量12亿,边数量107亿 数据已经经过编码,且满足从0开始并连续。 从日志中已经可以看到全部的点边已经load完毕,说明编码正确无异常。 同样的数据可以完成cnc、bnc、pagerank等算法。 又试了一次,还是在同样的位置报错了。

I0713 18:43:48.630558 441425 dualmode.hpp:257] generate out-degrees from graph cost: 127.394s
Segmentation fault.
Backtrace:
  0x0000000000575fc8
  0x0000000000575157
  0x0000000000575279
  /xxx/java8/jre/lib/amd64/server/libjvm.so+0x000000000092b230
  /xxx/java8/jre/lib/amd64/server/libjvm.so+0x0000000000931d54
  /xxx/java8/jre/lib/amd64/server/libjvm.so+0x0000000000927ea1
  /lib64/libpthread.so.0+0x000000000000f5ee
  0x00000000004607a8
  0x0000000000460930
  0x00000000004609e2
  0x000000000047046d
  0x00000000004157a1
  0x0000000000470d30
  0x00000000004da259
  0x00000000004da389
  0x00000000004da4df
  0x000000000040976d
  /lib64/libc.so.6+0x0000000000022503
  0x000000000040b1b5

另外,试了一次小批量数据,就是手动自己造的几条数据,可以跑成功。 辛苦作者帮忙排查一下看看什么问题

xuguruogu commented 4 years ago

可否执行以下命令,分别指向什么代码呢?

addr2line -e /xxx/plato-master/bazel-bin/example/nstepdegrees 0x00000000004607a8
addr2line -e /xxx/plato-master/bazel-bin/example/nstepdegrees 0x0000000000460930
addr2line -e /xxx/plato-master/bazel-bin/example/nstepdegrees 0x00000000004609e2
addr2line -e /xxx/plato-master/bazel-bin/example/nstepdegrees 0x000000000047046d