最近我經常崩潰R。該消息總是報告R作爲錯誤崩潰
*** caught segfault ***
address xxx, cause 'memory not mapped'
重現將是艱難的,在任何情況下,我不能共享大型專有數據集。我的問題是:我能否報告墜機事故以便調查?生成coredump有幫助嗎?似乎關於報告錯誤的常見問題解答部分並不意味着這種意外情況。
最近我經常崩潰R。該消息總是報告R作爲錯誤崩潰
*** caught segfault ***
address xxx, cause 'memory not mapped'
重現將是艱難的,在任何情況下,我不能共享大型專有數據集。我的問題是:我能否報告墜機事故以便調查?生成coredump有幫助嗎?似乎關於報告錯誤的常見問題解答部分並不意味着這種意外情況。
我不會將它們報告給R-core/R-devel,除非你100%確定它是R中的一個錯誤而不是一個包。這個錯誤更可能出現在你正在使用的軟件包中。如果你不能創建一個可重現的bug的例子,那麼軟件包維護者不太可能試圖追捕它。
放大:首先找到一個可重現的例子(如有必要,創建一個批處理文件,多次運行相同的分析,直到發生崩潰)。然後縮小這種情況:您可以使用多少套可用的軟件包,但仍然會導致崩潰?你能用同樣大小的隨機,匿名或隨機數據來做到這一點嗎? –
可以發生此錯誤消息
直到你可以複製它,如果你不想公開你自己的數據,我懷疑有人會關注崩潰報告。
'內存未映射'文本導致強烈懷疑這是系統問題:操作系統,C庫或BLAS中的任何一個都可能處於危險之中。
大型計算機作業令人沮喪 - 但除此之外,沒有其他辦法可以將其提升爲一個可重複使用的最小例子,您也可以使用模擬數據來完成這一任務。
作爲一個開始,嘗試查看問題是否存在於不同的操作系統上,例如,嘗試在Mac或不同的linux風格或windoze上重新運行該問題。
至少你應該添加sessionInfo()到這個問題,並報告發生了什麼:你是從數據庫,文件,寫作等讀? – mdsumner
感謝所有回答。在segfault之後運行sessionInfo()是不可能的。我的代碼使用了大量的包(RODBC,動物園,plyr,reshape,ggplot2),其中一些使用C(動物園,RODBC),或者大量調用C例程(ggplot,調用網格)。我想知道是否有可能確定違規包裹。 – gappy
sessionInfo()報告的類似內容會做,實際運行它沒有技術上的必要性,它只是一種超級懶惰的方式來提供基本信息,所以我想我們應該用一根實際的棒子來打敗你的頭。 – mdsumner