From Troy.Robertson at aad.gov.au  Tue Oct  5 01:25:21 2010
From: Troy.Robertson at aad.gov.au (Troy Robertson)
Date: Tue, 5 Oct 2010 10:25:21 +1100
Subject: [Rd] Recursion error after upgrade to R_2.11.1 [Sec=Unclassified]
Message-ID: <42C7503E0B99F248B06BC65E7D2B4E020187DD72574D@EX2K7-CCR.AAD.GOV.AU>

Resending this in plain text, after realising the html text hadn't been posted (oops).

Hi all,

After an upgrade from R_2.10.1 to R_2.11.1 I am now getting the following error:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?

This occurs in the initialize method of S4 classes where I was initialising attributes eg:
.Object[['realtimeState']] <- list()

I can mostly avoid this new error by altering the code to do:
.Object$realtimeState <- list() OR .Object at .xData$realtimeState <- list()

But there are also times when I need to do .Object[realtimeState] <- list(NULL) in order to specifically set it to NULL (rather than have it removed) which I think is also causing me grief.

My classes all extend .environment and store all non-static data as per above (in environment .xData slot) rather than in normal class slots because I am able to achieve much quicker execution times without all the copy-on-change cost that results from passing these objects containing large amounts of slot-based data.


Can anyone provide a reason for the changes that have brought about the recursion issue?

Is there a better way to achieve the pass-by-reference style objects I am after?


Thanks

Troy

___________________________________________________________________________

    Australian Antarctic Division - Commonwealth of Australia
IMPORTANT: This transmission is intended for the addressee only. If you are not the
intended recipient, you are notified that use or dissemination of this communication is
strictly prohibited by Commonwealth law. If you have received this transmission in error,
please notify the sender immediately by e-mail or by telephoning +61 3 6232 3209 and
DELETE the message.
        Visit our web site at http://www.antarctica.gov.au/
___________________________________________________________________________



[Rd] Recursion error after upgrade to R_2.11.1 [Sec=Unclassified]
Troy Robertson