Glen, I've gone back to our code, and it looks correct.  I even  
verified it by examining the GroupRetained implementation (grossly  
inefficient, BTW, just as I had thought :-(  ), and it indeed is an  
ArrayList that gets shortened from the top with stuff shifted down to  
fill the deleted object's spot.  See:

https://j3d-core.dev.java.net/source/browse/j3d-core/src/classes/ 
share/javax/media/j3d/GroupRetained.java?rev=1.11&view=markup

So I'm at a loss.  Any chance you could come up with a reduced  
example that exhibits the bug?  I'd really like to see one.

Sean


On Oct 12, 2007, at 6:43 PM, Glen E. P. Ropella wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Sean Luke wrote:
>> This has got to be a bug in SparseFieldProtrayal3D's updateModel
>> method.  I can see all sorts of evil places where there's likely a  
>> bug
>> there -- the number one possibility is that globalTG.removeChild 
>> (t) may
>> be operating in the middle of the for-loop over  
>> globalTG.numChildren(),
>> which is probably not wise.  :-)
>>
>> Unfortunately, I do not have enough time to look at this code and  
>> debug
>> it for a week or more (grant proposal deadline).  Gabriel might have
>> time possibly.
>
> OK.  I'll spend some time trying to track it down.  If I find  
> anything,
> I'll post it.  Thanks!
>
> - --
> glen e. p. ropella, 971-219-3846, http://tempusdictum.com
> If a man can't piss in his own front yard, he's living too close to
> town. -- Tom Russell
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFHD/iRZeB+vOTnLkoRAiHWAJ9Kyye36NFGIklnocSjTuHrDY8LfgCg16pC
> Yya92t5CGO/5N3UCU4RX/+M=
> =1y9Y
> -----END PGP SIGNATURE-----