Thanks for the information, Tom.
James, please let me know if you are able to corroborate Tom's theory on
your systems. If it solves your problem I will look into merging Tom's
changes into core VisAD.
Thanks,
Curtis
On Tue, Jun 3, 2008 at 10:07 AM, Kunicki, Tom <kunicki@xxxxxxxxx> wrote:
> Hello,
>
>
>
> I've experienced this issue with Java 1.6, Java3D 1.5.1 and VisAD 2.0
> (~2003 source).
>
>
>
> It appears that Java 1.6 and Java3D 1.5.1 are more sensitive to Swing/UI
> calls taking place outside of the event dispatch thread (EDT). The
> underlying issue appears to be with the instantiation of
> visad.DisplayEvent. Somewhere in the instantiation of DisplayEvent a Swing
> call is made which can hang the application if done outside the EDT (I think
> the instantiation of java.awt.MouseEvent in DisplayEvent was the issue as it
> makes calls on the underlying component passed into the MouseEvent
> constructor).
>
>
>
> I resolved the issue by modifying VisADCanvasJ3D and DisplayImpl so that
> DisplayEvent is only instantiated on the EDT. Attached are the DisplayImpl
> and VisADCanvasJ3D with DisplayEvent creation wrapped in java.lang.Runnable
> instances dispatched on the EDT (if required). I would have posted diffs
> but we are using an older version of VisAD as we had issues upgrading years
> back (not a priority to resolve). I am not entirely comfortable with the
> changes but we've been using them heavily for the past few months (they
> appear to be robust with the way we are using VisAD, mileage may vary).
>
>
>
> Tom
>
>
>
> *From:* visad-bounces@xxxxxxxxxxxxxxxx [mailto:
> visad-bounces@xxxxxxxxxxxxxxxx] *On Behalf Of *Curtis Rueden
> *Sent:* Monday, June 02, 2008 5:29 PM
> *To:* James Fishbaugh
> *Cc:* VisAD mailing list
> *Subject:* Re: [visad] visad with java 1.6
>
>
>
> Hi James,
>
> Without a test case it is difficult to diagnose anything. Does the
> ScaleTest example program work on your machines? It calls the
> setAspectCartesian method. I tried it on my Linux VM with Java 1.6.0_05 +
> Java3D 1.5.1 with both Java2D and Java3D, and was unable to force a hang or
> crash.
>
> If ScaleTest does not hang on your machine, perhaps you could try creating
> a small program that uses setAspectCartesian that does, and then I can test
> it on my system. If you are unable to create such a program, then your idea
> of compiling the latest VisAD code and digging into the problem with your
> application on your system is probably your best bet.
>
> -Curtis
>
> On Mon, Jun 2, 2008 at 3:24 PM, James Fishbaugh <jfishbaugh@xxxxxxxxx>
> wrote:
>
> Curtis,
>
> Besides the visAD calls I described in my first email, I'm not sure
> what specifics I can give you. We did trace the call
> "setAspectCartesian" into the visAD code and it froze on a call to
> "synchronize" (not too surprising) waiting on a map lock.
>
> James
>
>
>
> NOTICE: This e-mail communication may contain privileged or other
> confidential information for the sole use of the designated recipients. If
> you have received it in error, please advise the sender by reply email and
> immediately delete the message and any attachments without reviewing,
> copying or disclosing the contents.
>
> _______________________________________________
> visad mailing list
> visad@xxxxxxxxxxxxxxxx
> For list information, to unsubscribe, visit:
> http://www.unidata.ucar.edu/mailing_lists/
>
>