R XML包中的htmlParse()段错误:'内存未映射'

时间:2010-08-01 05:54:07

标签: memory r segmentation-fault html-parsing

我正在使用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

1 个答案:

答案 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