[Bioc-devel] lipidr: Unable to reproduce error (possibly from S4Vectors)
Ahmed Mohamed
moh@med @end|ng |rom ku|cr@kyoto-u@@c@jp
Mon Jun 22 08:18:09 CEST 2020
Excellent catch Martin.
I was able to confirm the issue using the script below (on Bioc-Devel
Docker). The issue was also resolved by simply reinstalling iheatmapr. It
would be great if iheatmapr is reinstalled manually on the devel build
systems.
remove.packages(c("iheatmapr", "S4Vectors"))
devtools::install_github("Bioconductor/S4Vectors",
ref="e8dffc0157f2c4779fce3c85e5ef601bb0a35d33")
install.packages("iheatmapr")
packageVersion("S4Vectors")
# "0.27.0"
packageVersion("iheatmapr")
# "0.4.12"
library(lipidr)
library(iheatmapr)
example("iheatmap")
# Runs successfully
## Update S4Vector
rm(list = ls())
rstudioapi::restartSession()
devtools::install_github("Bioconductor/S4Vectors")
packageVersion("S4Vectors")
# "0.27.12"
library(iheatmapr)
example("iheatmap")
# Error in .wrap_in_length_one_list_like_object(value, name, x) :
# failed to coerce 'list(value)' to a IheatmapPlots object of length 1
## Reinstall iheatmapr
rm(list = ls())
rstudioapi::restartSession()
install.packages("iheatmapr")
library(iheatmapr)
example("iheatmap")
# Runs successfully
Cheers.
Ahmed.
On Thu, 18 Jun 2020 at 00:52, Martin Morgan <mtmorgan.bioc using gmail.com> wrote:
> You can see package versions on the build system from
>
> https://bioconductor.org/checkResults/devel/bioc-LATEST/index.html
>
> clicking on 'installed pkgs' link in the center top table. iheatmapr is at
> version 0.4.12.
>
> I think what is happening is like
> https://support.bioconductor.org/p/131689/#131695 where S4Vector method
> has been changed but packages that use it have a methods table that is
> cached when the package is installed.
>
> So there are no errors if you do a new install of packages (like on CI or
> the docker) but not if the iheatmapr package has already been installed (as
> I guess on the build system).
>
> This means that the only way to reproduce this would be to install a
> previous version of S4Vectors, then install iheatmapr to capture the old
> methods table, then install the current version of S4Vectors. But at the
> end of the day the solution is (a) for iheatmapr to be updated on the build
> systems and ideally (b) for iheatmapr to bump it's version. A version bump
> would be trivial if it were a Bioconductor package, but could be
> problematic for CRAN. I did bcc the maintainer.
>
> I don't think you should work around this (e.g., by disabling the example)
> because, at least if it were me, I'd forget to reenable this and hence end
> up with less extensive testing of my package (and the overall Bioconductor
> ecosystem).
>
> Maybe @Hervé Pagès will chime in; my diagnosis could be wrong.
>
> Martin
>
> On 6/17/20, 6:56 AM, "Bioc-devel on behalf of Ahmed Mohamed" <
> bioc-devel-bounces using r-project.org on behalf of mohamed using kuicr.kyoto-u.ac.jp>
> wrote:
>
> Thanks Vincent.
>
> I would like to debug the error, but I still cannot reproduce it.
> SessionInfo, below, shows update to date versions! My Travis build also
> works, with Bioc Devel and iheapmapr 0.4.12 (
> https://travis-ci.org/github/ahmohamed/lipidr/jobs/696329028#L2718).
> What
> am I missing?
>
> > sessionInfo()R version 4.0.0 (2020-04-24)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 18.04.4 LTS
>
> Matrix products: default
> BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
> LC_TIME=en_US.UTF-8
> [4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
> LC_MESSAGES=C
> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
> LC_ADDRESS=C
> [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8
> LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel stats4 stats graphics grDevices utils
> datasets methods
> [9] base
>
> other attached packages:
> [1] lipidr_2.3.0 SummarizedExperiment_1.19.5
> DelayedArray_0.15.4
> [4] matrixStats_0.56.0 Matrix_1.2-18
> Biobase_2.49.0
> [7] GenomicRanges_1.41.5 GenomeInfoDb_1.25.2
> IRanges_2.23.10
> [10] S4Vectors_0.27.12 BiocGenerics_0.35.4
> iheatmapr_0.4.12
> [13] BiocManager_1.30.10
>
> loaded via a namespace (and not attached):
> [1] fastcluster_1.1.25 tidyselect_1.1.0 xfun_0.14
> [4] purrr_0.3.4 lattice_0.20-41 colorspace_1.4-1
> [7] vctrs_0.3.1 generics_0.0.2 htmltools_0.5.0
> [10] yaml_2.2.1 rlang_0.4.6 pillar_1.4.4
> [13] glue_1.4.1 RColorBrewer_1.1-2
> GenomeInfoDbData_1.2.3
> [16] lifecycle_0.2.0 plyr_1.8.6 zlibbioc_1.35.0
> [19] munsell_0.5.0 gtable_0.3.0 htmlwidgets_1.5.1
> [22] knitr_1.28 forcats_0.5.0 Rcpp_1.0.4.6
> [25] scales_1.1.1 limma_3.45.7 jsonlite_1.6.1
> [28] XVector_0.29.2 farver_2.0.3 ggplot2_3.3.1
> [31] digest_0.6.25 dplyr_1.0.0 ropls_1.21.0
> [34] grid_4.0.0 tools_4.0.0 bitops_1.0-6
> [37] magrittr_1.5 RCurl_1.98-1.2 tibble_3.0.1
> [40] ggdendro_0.1-20 tidyr_1.1.0 crayon_1.3.4
> [43] pkgconfig_2.0.3 MASS_7.3-51.5 ellipsis_0.3.1
> [46] data.table_1.12.8 rstudioapi_0.11 R6_2.4.1
> [49] compiler_4.0.0
>
>
> On Wed, 17 Jun 2020 at 20:12, Vincent Carey <
> stvjc using channing.harvard.edu>
> wrote:
>
> > I can reproduce the error, which arises from iheatmapr. Note that
> >
> >
> >
> http://bioconductor.org/checkResults/devel/bioc-LATEST/malbec1-R-instpkgs.html
> >
> > shows that iheatmapr is 0.4.12 and on my system example(iheatmap)
> fails
> > with the
> > error you showed. In future please provide sessionInfo() result when
> > reporting a
> > problem.
> >
> > on my system, example(iheatmap) dies in an unexported function
> > main_heatmap. iheatmapr is an ropensci
> > package that depends on S4Vectors. it may only be tested with the
> release
> > version. You
> > can see at
> https://travis-ci.org/github/ropensci/iheatmapr/jobs/698340792 that
> > iheatmapr
> > is passing its tests. i don't know how to determine what packages
> were
> > used in the tests.
> >
> > you might want to condition out your example for now. perhaps you
> can
> > debug iheatmapr against
> > current S4Vectors and suggest the solution to iheatmapr authors
> >
> >
> > On Wed, Jun 17, 2020 at 1:26 AM Ahmed Mohamed <
> mohamed using kuicr.kyoto-u.ac.jp>
> > wrote:
> >
> >> Hi all,
> >>
> >> My package "lipidr" has been failing checks for a while, giving the
> error
> >> below:
> >>
> >> Error in .wrap_in_length_one_list_like_object(value, name, x) :
> >> failed to coerce 'list(value)' to a IheatmapPlots object of
> length 1
> >>
> >> (Full report here:
> >>
> >>
> http://bioconductor.org/checkResults/devel/bioc-LATEST/lipidr/malbec1-checksrc.html
> >> )
> >>
> >> The error seems to originate from S4Vectors package, which lipidr
> depends
> >> on (indirectly through SummarizedExperiment). However, I am
> completely
> >> unable to reproduce this error. This is what I did:
> >> - Installed Bioc-devel docker image
> >> - run the faulty example alone, as well as devtools::check(), both
> without
> >> errors.
> >> - Ran BiocManager::install(update = TRUE) to pick up updates not
> >> propagated
> >> to the docker image
> >> - I even installed S4Vector from GitHub, just in case the git
> checkout is
> >> ahead of Bioc.
> >>
> >> Faulty example:
> >> https://github.com/ahmohamed/lipidr/blob/master/R/plot.R#L345
> >>
> >> Any suggestions would be appreciated.
> >> Thanks.
> >> Ahmed.
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> Bioc-devel using r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >>
> >
> > The information in this e-mail is intended only for
> th...{{dropped:15}}
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list