Michael, Thanks for the confirmation of the issue. I see you were trying to tackle it in the latest commits |r67467:67472| which apparently haven’t fixed the bug yet (instead it triggers the error of the existing legacy code in other R packages like flowCore). I can certainly change the code to explicitly pass on all the arguments to callNextMethod as you and Martin suggested. I just wonder if the documentation should drop the sentence of |Calling with no arguments is often the natural way to use callNextMethod| and change the |example code| (at least before the bug is eventually fixed.) so that users won’t be misusing it.
| Mike | On 01/23/2015 10:55 AM, Martin Morgan wrote: > On 01/23/2015 10:52 AM, Michael Lawrence wrote: >> First let me apologize for my failure to read emails. There was a >> long-standing bug in the methods package where arguments passed as >> "..." to a method would be dropped by callNextMethod(). It turns out >> that in all known cases this affects calls to initialize(), probably >> because there are many initialize() methods, and new() calls >> initialize with "...". >> >> This case is a very typical one, and Martin's fix is the right one, >> according to the (unchanged) documentation of callNextMethod(). >> >> It's in general impossible to detect these cases from static analysis, >> since we do not know how the user is calling a method. But catching >> them in initialize() should be easy, with some false positives. Just >> look for callNextMethod(). >> >> Is it OK for me to checkout all of Bioconductor so that I can perform >> that analysis, or will that stress the servers too much? I have a >> package that embeds GNU Global to index and search >> CRAN/Bioconductor-size repositories for these cases. > > Hi Michael -- there is no problem checking out all > (https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks > presumably) of Bioc. > > Thanks! Martin > >> >> Michael >> >> On Thu, Jan 22, 2015 at 6:15 AM, Martin Morgan >> <mtmor...@fredhutch.org> wrote: >>> On 01/22/2015 12:26 AM, Martin Maechler wrote: >>>>>>>>> >>>>>>>>> Mike <wjia...@fhcrc.org> >>>>>>>>> on Tue, 20 Jan 2015 17:16:37 -0800 writes: >>>> >>>> >>>> > I don't think it has been addressed yet in the later >>>> commits of >>>> R-devel. >>>> > And that piece of code in flowCore package was written long >>>> time >>>> ago and >>>> > there is nothing wrong with it as far as I can see. >>>> >>>> You are right. >>>> >>>> I thought Michael Lawrence (member of R Core since last summer!) >>>> was also reading Bioc-devel, so wonder why he has not yet >>>> replied --> CC'ing him >>>> >>>> The changes to R-devel also did break the Matrix package in >>>> exactly the same way. You said >>>> >>>>>> Here is the |initialize|method for |parameterFilter| which causes >>>>>> the >>>>>> various errors from flow package vignettes. >>>>>> >>>>>> |setMethod("initialize", >>>>>> signature=signature(.Object="parameterFilter"), >>>>>> definition=function(.Object, parameters,...) >>>>>> { >>>>>> if (!missing(parameters)) >>>>>> parameters(.Object) <- parameters >>>>>> callNextMethod() >>>>>> }) >>>>>> | >>>> >>>> >>>> and I also had a _no argument_ call >>>> callNextMethod() >>>> inside an initialize method. >>>> >>>> I'm pretty sure that if you change (the same as I) >>>> >>>> callNextMethod() >>>> to >>>> callNextMethod(.Object, ...) >>>> >>>> you'll have a version of the code that works both in current R 3.1.2 >>>> (and older versions) *and* in the R-devel version. >>>> >>> >>> I also pinged Michael?? >>> >>> What's a precise statement of the problem -- no-argument >>> callNextMethod() >>> inside initialize? Any suggestions on ways to discover these without >>> relying >>> on package break during build / check / install? >>> >>> Martin Morgan >>> >>>> Michael L and I were not sure how many other packages or R code this >>>> would influence and he was expecting very very few. >>>> >>>> Best regards, >>>> >>>> Martin Maechler, ETH Zurich >>>> >>>> >>>> > On 01/20/2015 05:06 PM, Dan Tenenbaum wrote: >>>> >> I'm not sure if you were implying that this has already >>>> been fixed >>>> in R-devel. Note that the devel build machines currently have r67501 >>>> installed, which is later than all the commits you cite above, yet >>>> the flow >>>> packages are still broken. >>>> >>>> _______________________________________________ >>>> Bioc-devel@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >>>> >>> >>> >>> -- >>> Computational Biology / Fred Hutchinson Cancer Research Center >>> 1100 Fairview Ave. N. >>> PO Box 19024 Seattle, WA 98109 >>> >>> Location: Arnold Building M1 B861 >>> Phone: (206) 667-2793 > > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel