在Linux上通过Rpy运行时的R段错误

时间:2010-03-18 19:00:39

标签: r segmentation-fault

我在redhat linux发行版上运行R via Rpy。我会定期遇到此错误消息:

*** caught segfault ***
address (nil), cause 'unknown'

整个程序就在那里死了。它通常发生在我运行大量回归r.lm()时。但是,通过简单地再次运行相同的代码,问题可能会或可能不会消失(因此并不总是可再现)。有谁知道可能导致这种情况的原因,和/或我如何防止它发生?

1 个答案:

答案 0 :(得分:2)

有几种可能性。

  1. 问题在于R代码。要对此进行测试,请在R中运行代码,看看是否可以复制该问题。

  2. 问题在于Rpy。在调试器中运行程序,看看你究竟从Python传递到R,从R传递到Python。猜测,你有某种变量不匹配只会在某些情况下发生。

  3. 问题在于环境。是否需要加载一些其他软件才能运行程序?一旦再次运行它会失败吗? (也许你没有关闭文件的连接?)它是在其他人的机器上还是在你的机器上失败了?

  4. 问题在于数据。你随机产生什么吗?这可以解释问题的间歇性。

  5. 如果您仍然卡住,请阅读一些tips on debugging