Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

external library throwing gcc-ASAN errors #422

Closed
kriemo opened this issue Dec 16, 2024 · 6 comments · Fixed by #424
Closed

external library throwing gcc-ASAN errors #422

kriemo opened this issue Dec 16, 2024 · 6 comments · Fixed by #424

Comments

@kriemo
Copy link
Member

kriemo commented Dec 16, 2024

gcc-ASAN log

There is a gcc-ASAN error coming from our dependency rtracklayer, which originates in the UCSC library code vendored within rtracklayer (https://github.com/lawremi/rtracklayer/blob/32cd3c296c7609c44cad40eb38ff5e51a7dc95fa/src/ucsc/common.c#L32).

I can work with the rtracklayer maintainers to try to get this fixed. Otherwise we will need to rework read_bigwig and read_gtf to avoid this dependency until the ASAN error is fixed upstream.

This likely impacts dozens of packages depending on rtracklayer and
CRAN wants this fixed for valr by 2025-01-13.

@kriemo
Copy link
Member Author

kriemo commented Dec 16, 2024

Actually this may only throw an error for us on CRAN, as we are the only package on CRAN with compiled code.

rt_rev_deps <- tools::package_dependencies("rtracklayer", reverse = TRUE)$rtracklayer
db <- tools::CRAN_package_db()
cran_rev_deps <- db[db$Package %in% rt_rev_deps, ]
cran_rev_deps[, c("Package", "LinkingTo", "NeedsCompilation")]
#>                       Package       LinkingTo NeedsCompilation
#> 2844                 CNVScope            <NA>               no
#> 3499            crispRdesignR            <NA>               no
#> 6704                    GALLO            <NA>               no
#> 6905                 geneHapR            <NA>               no
#> 9517                   kibior            <NA>               no
#> 10175              locuszoomr            <NA>               no
#> 14017  PlasmaMutationDetector            <NA>               no
#> 14018 PlasmaMutationDetector2            <NA>               no
#> 20957                    valr Rcpp (>= 1.0.0)              yes

Created on 2024-12-16 with reprex v2.1.1

@jayhesselberth
Copy link
Member

jayhesselberth commented Dec 16, 2024

The wig package is an alternative for WIG reading: https://cran.r-project.org/web/packages/wig/

That's not useful, doesn't do bigwig.

@kriemo
Copy link
Member Author

kriemo commented Dec 19, 2024

I'll work on reproducing this error on a linux machine, which will be necessary to show that we have fixed the error. In the meantime I'm skeptical that we will be able to patch this upstream in the core ucsc or vendored rtracklayer library.

To meet the CRAN deadline we may need to remove bigwig reading, at least temporarily. We could then work on implementing minimal support for reading bigwig files, perhaps with a minimal version of https://github.com/rnabioco/RcppLibBigWig as a separate package?

@jayhesselberth
Copy link
Member

Yeah, let's eliminate rtracklayer as a dependency. I guess we should leave read_bigwig() and read_gtf() in the package. Those functions could just throwlifecycle::dreprecate_stop() for now, until we have another solution.

I forgot about RcppLibBIgWig! SHouldn't be hard to whip that into shape for CRAN. WIll look at that over the break.

@kriemo
Copy link
Member Author

kriemo commented Dec 19, 2024 via email

@jayhesselberth
Copy link
Member

Looks like rtracklayer was removed from CRAN, we see a new error in valr on CRAN and this is a 404: https://cloud.r-project.org/web/packages/rtracklayer/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants