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

Martin Maechler
2015-04-15T19:04:30Z

>>>>> 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?