我使用R 2.11.1和XML包3.1-0,當我遇到一個段錯誤時,我正在通過一個來自R2GoogleMaps的示例。htmlParse()R XML包中的segfault錯誤:'內存未映射'
#library(RJSONIO)
library(R2GoogleMaps)
library(XML)
#library(RCurl)
load("b.rda") # find in the sampleDocs folder in source file of R2GoogleMaps
center = c(mean(range(b$lat)), mean(range(b$long)))
code = addOverlay(gpolyline(b))
d = googleMapsDoc(code, center, zoom = 11, dim = c(750, 700), file = "simplePolyline.html")
下面是一個容易複製代碼,得到了同樣的錯誤:
> library(XML)
> a <- htmlParse("http://bm2.genes.nig.ac.jp/RGM2/R_current/library/XML/man/xmlTreeParse.html")
> a
*** caught segfault ***
address 0x55aa44, cause 'memory not mapped'
Traceback:
1: .Call("RS_XML_dumpHTMLDoc", doc, as.integer(indent), as.character(encoding), as.logical(indent), PACKAGE = "XML")
2: saveXML(from)
3: saveXML(from)
4: asMethod(object)
5: as(x, "character")
6: cat(as(x, "character"), "\n")
7: print.XMLInternalDocument(<pointer: 0x1016363f0>)
8: print(<pointer: 0x1016363f0>)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection: 1
aborting ...
Process R segmentation fault at Sat Jul 31 22:07:02 2010
的問題似乎也對htmlParse()
文件是做了saveXML()
。
當我編寫使用htmlParse()
的另一個代碼時,我不記得曾經遇到過這個問題(儘管我不記得是否明確地調用了htmlParse()
對象)。所以我不完全確定這是否是最近的問題。當時和現在(我記得)之間的唯一區別是我已經從源碼安裝了許多OmegaHat packages。
我很好奇,如果有人得到這個錯誤。爲了探究我的筆記本電腦是否存在問題,我已經重新啓動並升級了我的操作系統作爲基本步驟。可能是什麼問題?謝謝。
編輯:只是參考:
> sessionInfo()
R version 2.11.1 (2010-05-31)
x86_64-apple-darwin9.8.0
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets grid methods
[8] base
other attached packages:
[1] XML_3.1-0 digest_0.4.2 reshape_0.8.3 plyr_0.1.9 proto_0.3-8
loaded via a namespace (and not attached):
[1] ggplot2_0.8.7
糟糕,我看到你確實指定了你的XML版本(這似乎是最新的 ) – 2010-08-02 14:11:42
謝謝你。聯繫軟件包創建者可能是最好的選擇。 – apeescape 2010-08-03 22:41:33
從源重新安裝,現在它可以工作。 – apeescape 2010-08-04 06:52:48