[Bioc-devel] lipidr: Unable to reproduce error (possibly from S4Vectors)

Martin Morgan mtmorg@n@b|oc @end|ng |rom gm@||@com
Wed Jun 17 16:52:19 CEST 2020


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


More information about the Bioc-devel mailing list