No, those aren't reference classes. There are some reference classes
in GenomicFeatures (like TxDb) and BSgenome. I don't think they set
explicit finalize methods though.

On Fri, Apr 29, 2016 at 12:58 PM, Hector Corrada Bravo
<hcorr...@gmail.com> wrote:
> I've removed all finalizers on these classes for this version and are still
> seeing it. I'll try with gctorture on and see if I can track it down. Any
> finalizers on GenomicRanges? GNCList or GRanges?
>
> On Fri, Apr 29, 2016 at 3:42 PM, Michael Lawrence
> <lawrence.mich...@gene.com> wrote:
>>
>> I don't think there are any reference classes in GenomeInfoDb. This
>> must be something weird happening to one of the epivizr reference
>> classes. It just shows up in that stack trace under GenomeInfoDb
>> because of the GC. I haven't managed to reproduce it yet though.
>>
>> Michael
>>
>> On Fri, Apr 29, 2016 at 12:15 PM, Michael Lawrence <micha...@gene.com>
>> wrote:
>> > I can look into it. I guess it fails sporadically because of the
>> > garbage collector. Activating GC torture might make this easier to
>> > reproduce.
>> >
>> > On Fri, Apr 29, 2016 at 12:06 PM, Hector Corrada Bravo
>> > <hcorr...@gmail.com> wrote:
>> >> I've seen this type of error for a while and have really struggled to
>> >> track
>> >> it down. I have a package with unit tests that sporadically fail on R
>> >> CMD
>> >> check with errors of this type:
>> >>
>> >> ---
>> >>> test_check("epivizrData")
>> >> 1. Error: new creates a proper object (@test-creation.R#17)
>> >> --------------------
>> >> attempt to apply non-function
>> >> 1: expect_equal(mgr$.seqinfo, GenomeInfoDb::Seqinfo()) at
>> >> testthat/test-creation.R:17
>> >> 2: compare(object, expected, ...)
>> >> 3: compare.default(object, expected, ...)
>> >> 4: all.equal(x, y, ...)
>> >> 5: all.equal.default(x, y, ...)
>> >> 6: GenomeInfoDb::Seqinfo()
>> >> 7: .normargGenome(genome, seqnames)
>> >> 8: rep.int(ugenome, length(seqnames))
>> >> 9: (function (classes, fdef, mtable)
>> >>    {
>> >>        methods <- .findInheritedMethods(classes, fdef, mtable)
>> >>        if (length(methods) == 1L)
>> >>            return(methods[[1L]])
>> >>        else if (length(methods) == 0L) {
>> >>            cnames <- paste0("\"", vapply(classes, as.character, ""),
>> >> "\"",
>> >> collapse = ", ")
>> >>            stop(gettextf("unable to find an inherited method for
>> >> function
>> >> %s for signature %s",
>> >>                sQuote(fdef@generic), sQuote(cnames)), domain = NA)
>> >>        }
>> >>        else stop("Internal error in finding inherited methods; didn't
>> >> return a unique method",
>> >>            domain = NA)
>> >>    })(list("character"), structure(function (x, times)
>> >>    standardGeneric("rep.int"), generic = structure("rep.int", package =
>> >> "base"), package = "base", group = list(), valueClass = character(0),
>> >> signature = c("x",
>> >>    "times"), default = structure(function (x, times)
>> >>    .Internal(rep.int(x, times)), target = structure("ANY", class =
>> >> structure("signature", package = "methods"), .Names = "x", package =
>> >> "methods"), defined = structure("ANY", class = structure("signature",
>> >> package = "methods"), .Names = "x", package = "methods"), generic =
>> >> structure("rep.int", package = "base"), class =
>> >> structure("derivedDefaultMethod", package = "methods")), skeleton =
>> >> (structure(function (x,
>> >>        times)
>> >>    .Internal(rep.int(x, times)), target = structure("ANY", class =
>> >> structure("signature", package = "methods"), .Names = "x", package =
>> >> "methods"), defined = structure("ANY", class = structure("signature",
>> >> package = "methods"), .Names = "x", package = "methods"), generic =
>> >> structure("rep.int", package = "base"), class =
>> >> structure("derivedDefaultMethod", package = "methods")))(x,
>> >>        times), class = structure("standardGeneric", package =
>> >> "methods")),
>> >> <environment>)
>> >> 10: .findInheritedMethods(classes, fdef, mtable)
>> >> 11: .inheritedArgsExpression(m@target, m@defined, body(m))
>> >> 12: extends(target[[i]], defined[[i]], fullInfo = TRUE)
>> >> 13: target[[i]]
>> >> 14: (function (x)
>> >>    x$.self$finalize())(<environment>)
>> >> ---
>> >>
>> >> I do not define any finalize method on classes defined on my package.
>> >> This
>> >> stems from a finalizer on a class defined in a package imported by my
>> >> package (GenomeInfoDb), which I'm guessing is detached from the
>> >> environment
>> >> before this finalize function is called.
>> >>
>> >> Any ideas on how to avoid this error?
>> >>
>> >> Package source here:
>> >> https://github.com/bioconductor-mirror/epivizrData
>> >>
>> >>         [[alternative HTML version deleted]]
>> >>
>> >> _______________________________________________
>> >> Bioc-devel@r-project.org mailing list
>> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> >>
>
>

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to