From dtenenba at fhcrc.org  Wed Jun  6 01:22:17 2012
From: dtenenba at fhcrc.org (Dan Tenenbaum)
Date: Tue, 5 Jun 2012 16:22:17 -0700
Subject: [Rd] 7 arguments passed to .Internal(identical) which requires 6
Message-ID: <CAF42j20RBW9SGRCA1t-uOTB330RoyRN43Yjv5GBR4580ugOxVw@mail.gmail.com>

I know this has come up before on R-help
(http://r.789695.n4.nabble.com/7-arguments-passed-to-Internal-identical-which-requires-6-td4548460.html)
but I have a concise reproducible case that I wanted to share.

Also, please note the Bioconductor scenario which is potentially
seriously impacted by this.
The issue arises when a binary version of a package (like my example
package below) is built under R 2.15.0 Patched but then installed
under R 2.15.0.  Our package AnnotationDbi (which hundreds of other
packages depend on) is impacted by this issue to the extent that
calling virtually any function in it will return something like this:
Error in ls(2) :
  7 arguments passed to .Internal(identical) which requires 6

My concern is that when R 2.15.1 is released and Bioconductor starts
building all its packages under it, that R 2.15.0 users will start to
experience this problem. We can ask all users to upgrade to R 2.15.1
if we have to, but it's not usually the case that a minor point
release MUST be installed in order to run packages built under it
(please correct me if I'm wrong). We would much prefer a workaround or
fix to make an upgrade unnecessary.

Here is a minimal package called 'bad':

DESCRIPTION:
Package: bad
Title: test package
Description: test package
Version: 0.0.1
Author: Bad
Maintainer: Bioconductor Package Maintainer <maintainer at bioconductor.org>
License: Artistic-2.0

NAMESPACE:
exportMethods(ls)
exportClass(A)

R/code.R:
setClass("A", "numeric")
setMethod("ls", "A", function(name, pos, envir, all.names, pattern) {
"here I am" })

If under R 2.15.0 Patched I create a binary package:
R CMD INSTALL --build bad

And then under R 2.15.0 I install it:
R CMD INSTALL bad_0.0.1.tgz

Then, in R-2.15.0 (started with --vanilla):
> library(bad)
> ls(2)
Error in ls(2) :
  7 arguments passed to .Internal(identical) which requires 6

This is on a Mac, but per the link above this occurs on Windows as well.

Any help would be very much appreciated!

Thanks,
Dan

~~~
sessionInfo() for R 2.15.0
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

sessionInfo() for R 2.15.0 Patched:
> sessionInfo()
R version 2.15.0 Patched (2012-06-03 r59505)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base



[Rd] 7 arguments passed to .Internal(identical) which requires 6
Dan Tenenbaum