Re: Off screen finalization

Hi Bill,

I tried visad-2.0 and the exception dissapear but some of the threads that VisAD open with the DisplayImplJ3D continue their execution. So the program doesn't finish.

Is there any way to clear those threads without using System.exit() in main method?

Many Thanks,

Santiago

----- Original Message ----- Cc: <visad@xxxxxxxxxxxxxxxx>
Sent: Tuesday, January 18, 2005 1:50 PM


Hi Santiago,

Thanks for the stack dump. You've found a VisAD bug. There's a
candidate fix in the visad_src-2.0.jar and visad.jar files at:

 ftp://ftp.ssec.wisc.edu/pub/visad-2.0/untested/

Please try:

           display.destroy();
           display.stopThreadPool();

again and let the list know if this does not solve your problem.

Cheers,
Bill

On Tue, 18 Jan 2005, S Santos wrote:

Hi all,



I'm using Visad to make some 3D Graphs. When I try to stop DisplayImplJ3D in
off-screen mode some Threads continue executing. To finalize The Display
what I do is:





            display.destroyUniverse();

            display.stopThreadPool();



I also tried with this sequence:



            display.destroy();

            display.stopThreadPool();



But with this second sequence the program throws this exception:



java.lang.IllegalStateException: Canvas3D: Illegal operation in off-screen
mode

        at javax.media.j3d.Canvas3D.stopRenderer(Canvas3D.java:1664)

        at visad.java3d.VisADCanvasJ3D.stop(VisADCanvasJ3D.java:328)

        at
visad.java3d.DisplayRendererJ3D.destroy(DisplayRendererJ3D.java:158)

        at
visad.java3d.DefaultDisplayRendererJ3D.destroy(DefaultDisplayRendererJ3D.jav
a:103)

        at visad.java3d.DisplayImplJ3D.destroy(DisplayImplJ3D.java:721)

        at Killer.run(Killer.java:23)

        at java.lang.Thread.run(Unknown Source)



Which are the correct steps to stop the environment?





Many thanks



Santiago de la Nava Santos.