我正在使用R 2.11.1和XML包3.1-0,当我遇到段错误时,我正在查看R2GoogleMaps的示例。
#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
问题似乎也是saveXML()
文件上的htmlParse()
。
当我编写另一个使用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
答案 0 :(得分:1)
我认为几乎按照定义,分段错误构成了一个错误。 你的例子对我有用(见下文)。
我会(a)确保您拥有最新版本的XML并且错误 仍然发生在那里; (b)联系XML包的维护者(尝试
祝你好运。维护者( “XML”) )并提供您的示例和sessionInfo()
的结果
=============
库(XML) a&lt; - htmlParse(“http://bm2.genes.nig.ac.jp/RGM2/R_current/library/XML/man/xmlTreeParse.html”)
sessionInfo() R版本2.11.1(2010-05-31) i486-pc-linux-gnu
区域设置:
[1] LC_CTYPE = en_US.UTF-8 LC_NUMERIC = C
[3] LC_TIME = en_US.UTF-8 LC_COLLATE = en_US.UTF-8
[5] LC_MONETARY = C LC_MESSAGES = en_US.UTF-8
[7] LC_PAPER = en_US.UTF-8 LC_NAME = C
[9] LC_ADDRESS = C LC_TELEPHONE = C
[11] LC_MEASUREMENT = en_US.UTF-8 LC_IDENTIFICATION = C
附加基础包:
[1] stats graphics grDevices utils数据集网格方法
[8]基地
其他附件包: [1] XML_3.1-0 reshape_0.8.3 plyr_1.0.3 proto_0.3-8
通过命名空间加载(而不是附加): [1] ggplot2_0.8.8