From maechler at ada-1.stat.math.ethz.ch  Wed Apr 15 21:04:30 2015
From: maechler at ada-1.stat.math.ethz.ch (Martin Maechler)
Date: Wed, 15 Apr 2015 21:04:30 +0200
Subject: [Rd] RObjectTables freezes in R 3.2.0 RC on 32bit systems
In-Reply-To: <CABFfbXvany5FnEi20aeR6BU2NLB54BLNFZhYJNnnSpVFjeZ0Jg@mail.gmail.com>
References: <CABFfbXtH_TLkGTPtFYtvmZvehN1rCXkb8_Ly_g4OJHOmZJK93g@mail.gmail.com>
	<CABFfbXvany5FnEi20aeR6BU2NLB54BLNFZhYJNnnSpVFjeZ0Jg@mail.gmail.com>
Message-ID: <21806.46654.91771.225303@stat.math.ethz.ch>

>>>>> Jeroen Ooms <jeroenooms at gmail.com>
>>>>>     on Tue, 14 Apr 2015 23:11:01 -0700 writes:

    > On Tue, Apr 14, 2015 at 6:29 PM, Jeroen Ooms
    > <jeroenooms at gmail.com> wrote:
    >> Things work as expected up till dbread(), but once the
    >> object-table is attached, R freezes on 32bit whereas it
    >> works as expected on 64bit.

    > Debugging this some more, it looks like the freeze appears
    > at the very end of the attach function, when it calls
    > length(names(value)) on the newly created object-tables
    > environment. At this stage, calling ls(value) gives the
    > expected output, but calling names(value) or length(value)
    > triggers the freeze.

Well, attach() itself has been modified since R 3.1.x; it now
does use  
     length(names(value))    where  value <- .Internal(attach(..))

where as before it used

    length(ls(envir = value, all.names = TRUE))

and the new code is considerably faster for regular cases,
but as you say is not correctly working for the special
RobjectsTables stuff.

Maybe this helps to find a last minute patch to that part in the
R 3.2.0 RC sources ?

    > The NEWS file does mention that R 3.2.0 introduces some
    > changes to names(env) internals. Could it be that this
    > somehow conflicts with the object tables hooks?

    > ______________________________________________
    > R-devel at r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] RObjectTables freezes in R 3.2.0 RC on 32bit systems
Martin Maechler