[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