[Bioc-devel] segfault when using RleList in DataFrames
Hi Leonard, I'm seeing what I think is a related problem in the devel branch. I think it derives from some issue with List-based classes. E.g, a simplified version of your example errors for me (although without segfault):
library(IRanges)
# snip - this produces a possibly related warning on my machine "Warning message: multiple methods tables found for ?unlist?"
x <- RleList(IntegerList(vector("list", 3)))
x
RleList of length 3 Error in show(as.list(head(object, k))) : error in evaluating the argument 'object' in selecting a method for function 'show': Error: evaluation nested too deeply: infinite recursion / options(expressions=)? I first noticed it this morning when working with GRangesList objects, e.g.:
library(GenomicRanges)
# snip - this now twice produces the "Warning message: multiple methods tables found for ?unlist?" message
GRangesList(GRanges())
GRangesList object of length 1: [[1]] Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
sessionInfo()
R Under development (unstable) (2015-11-28 r69714) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.10.5 (Yosemite) locale: [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8 attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets [8] methods base other attached packages: [1] GenomicRanges_1.23.4 GenomeInfoDb_1.7.3 IRanges_2.5.9 [4] S4Vectors_0.9.11 BiocGenerics_0.17.2 loaded via a namespace (and not attached): [1] zlibbioc_1.17.0 XVector_0.11.1 Cheers, Pete
Hi all, I ran into problems when using an RleList as column in a DataFrame object (see example below). Many thanks in advance for your help. Leonard
sessionInfo()
R version 3.2.2 (2015-08-14) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Red Hat Enterprise Linux Server release 6.6 (Santiago) locale: [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=en_US.UTF-8 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 attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets [8] methods base other attached packages: [1] IRanges_2.4.4 S4Vectors_0.8.3 BiocGenerics_0.16.1
df <- DataFrame(ID = 1:3)
x <- RleList(IntegerList(vector("list", 3)))
df$rle <- x
df
DataFrame with 3 rows and 2 columns
*** caught segfault ***
address 0x9b00364, cause 'memory not mapped'
Traceback:
1: .Call(.NAME, ..., PACKAGE = PACKAGE)
2: .Call2("Rle_getStartEndRunAndOffset", x, start, end, PACKAGE = "S4Vectors")
3: S4Vectors:::getStartEndRunAndOffset(x, start(solved_SEW), end(solved_SEW))
4: .local(x, ...)
5: window(x, start = 1L, width = n)
6: window(x, start = 1L, width = n)
7: .local(x, ...)
8: head(x, 3)
9: head(x, 3)
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: