The last two bugs I posted in this forum is actually the same bug: I have a scenegraph. Somewhere in it I have a transformgroup which is live. Is has a child which is a branchgroup and is NOT live (did a isLive() and a getParent().isLive() to check).
It does not come live even after several minutes. I was under the impression that anything added to a live node will become live itself. If I try to detach() the non-live branchgroup in the bug above I will get the bug below: java.lang.NullPointerException at javax.media.j3d.NodeRetained.clearLive(NodeRetained.java:681) at javax.media.j3d.GroupRetained.clearLive(GroupRetained.java:2539) at javax.media.j3d.BranchGroupRetained.clearLive(BranchGroupRetained.jav a:169) at javax.media.j3d.GroupRetained.checkClearLive(GroupRetained.java:1656) at javax.media.j3d.GroupRetained.checkClearLive(GroupRetained.java:1594) at javax.media.j3d.GroupRetained.doRemoveChild(GroupRetained.java:387) at javax.media.j3d.BranchGroupRetained.do_detach(BranchGroupRetained.jav a:89) at javax.media.j3d.BranchGroupRetained.detach(BranchGroupRetained.java:7 4) at javax.media.j3d.BranchGroup.detach(BranchGroup.java:105) at dk.ifad.simapp.VRObject.parentRemoved(VRObject.java:386) at dk.ifad.simapp.VRAssembler$VREntry.propertyChange(VRAssembler.java:13 7) at dk.ifad.simapp.VRAssembler$VREntry.propertyChange(VRAssembler.java:12 9) at EDU.oswego.cs.dl.util.concurrent.PropertyChangeMulticaster.multicast( PropertyChangeMulticaster.java:316) at EDU.oswego.cs.dl.util.concurrent.PropertyChangeMulticaster.multicast( PropertyChangeMulticaster.java:319) at EDU.oswego.cs.dl.util.concurrent.PropertyChangeMulticaster.fireProper tyChange(PropertyChangeMulticaster.java:337) at dk.ifad.sim.SimComponent.removeParent(SimComponent.java:913) at dk.ifad.sim.SimComponent.remove(SimComponent.java:893) at dk.ifad.sim.hla.encodings.SimComponentEncodings.reflectSimComponents( SimComponentEncodings.java:379) at dk.ifad.sim.hla.hgc.HLASimComponentAttributes$SimComponents.reflect(H LASimComponentAttributes.java:57) at dk.ifad.simnet.hla.HLAAbstractClass$HLAAbstractObject$AttributeReflec tion.reflect(HLAAbstractClass.java:1588) at dk.ifad.simnet.hla.HLAAbstractClass$HLAAbstractObject$AttributeReflec tion.execute(HLAAbstractClass.java:1653) at dk.ifad.sis.Command.run(Command.java:121) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec utor.java:728) at java.lang.Thread.run(Unknown Source) Our application is highly multithreaded, and we manipulate the scenegraph from several threads at once. If there is a guideline on how to use Java3D 1.3 in a threadsafe manner, PLEASE tell us Java3D team!! Since the javadoc mentions nothing of the sort, which normally is an indicator that everything is threadsafe. Do we need to synchronize on a global scenegraph lock?? (I hope not) I really need some feedback from the Java3D team on the multithreading isssue. Regards Nikolai =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".