关于 Segmentation fault(Core Dump)

2018-06-05  本文已影响71人  平仄_pingze

执行python程序时,可能会遇到Segmentation fault(Core Dump)异常。实际表现为打印这句话,并立刻退出程序(在fork进程中遇到不会退出)。

这个错误一般是python调用的C代码出现了异常,多为内存不当操作(比如越界访问数组)。通常是使用了numpy、scipy等底层为C的库时容易出现。

举个例子:
scipy的稀疏矩阵中,如果某行的一个值超出了设定的最大维度,则使用这个矩阵运算时,就会报出Segmentation fault(Core Dump)

csc1 = gensim.matutils.corpus2csc([
        [(0,1), (3,5), (5,6)],
        [(1,2), (11,2)] # 越界
    ], num_terms=10)
csc1 = csc1.T # 报错
上一篇下一篇

猜你喜欢

热点阅读