I will try and write something small to highlight the problems.  However, two places where I currently must execute vtk code outside the EDT is the following.<div>1.  My program reads data from disk in the form of a vtkPolyData, and I want to store the data as binary vtkImageData&#39;s.  This conversion from vtkPolyData to vtkImageData is time consuming, and will freeze the UI if I do it on the EDT.  Here is an example snippet.</div>
<div><br></div><div><div>        ExecutorService loadingThreadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());</div><div>        for (int i = 0; i &lt; numOrgans; i++) {</div><div>            vtkPolyData data = thePolyReader.GetOutput(i);</div>
<div>            vtkPolyData dataCopy = new vtkPolyData();</div><div>            dataCopy.DeepCopy(data);</div><div>            String organName = // get organ name</div><div>            if (organName == null || organName.isEmpty()) {</div>
<div>                dataCopy.Delete();</div><div>                continue;</div><div>            }</div><div>            loadingThreadPool.submit(new LoadOneROI(dataCopy, organName));</div><div>        }</div><div><br></div>
<div><div>    private class LoadOneROI extends Thread {</div><div><br></div><div>        private String organName;</div><div>        private vtkPolyData data;;</div><div><br></div><div>        public LoadOneROI(vtkPolyData data, String organName) {</div>
<div>            this.data = data;</div><div>            this.organName = organName;</div><div>        }</div><div><br></div><div>        public void run() {</div><div>            vtkImageData theImage = createBinaryImage(data);</div>
<div>            ENV.getInstance().getDataManager().setOrgan(organName, theImage);</div><div>            data.Delete();</div><div>        }</div><div>    }</div></div><div><br></div><div>public vtkImageData createBinaryImage(vtkPolyData data) {</div>
<div><div>        vtkLinearExtrusionFilter extruder = new vtkLinearExtrusionFilter();</div><div>        extruder.SetInput(data);</div><div>        extruder.Update();</div><div>        vtkPolyData extruderOutput = extruder.GetOutput();</div>
<div>        extruder.Delete();</div><div><br></div><div>        vtkImageData binaryOrgan = // Get blank binary image of correct size</div><div>        vtkPolyDataToImageStencil pol2Stenc = new vtkPolyDataToImageStencil();</div>
<div>        pol2Stenc.SetTolerance(0);</div><div>        pol2Stenc.SetInput(extruderOutput);</div><div>        pol2Stenc.SetInformationInput(binaryOrgan);</div><div>        pol2Stenc.Update();</div><div>        vtkImageStencilData pol2StencOutput = pol2Stenc.GetOutput();</div>
<div>        extruderOutput.Delete();</div><div>        pol2Stenc.Delete();</div><div><br></div><div>        vtkImageStencil stencil = new vtkImageStencil();</div><div>        stencil.SetInput(binaryOrgan);</div><div>        stencil.ReverseStencilOn();</div>
<div>        stencil.SetStencil(pol2StencOutput);</div><div>        stencil.Update();</div><div>        pol2StencOutput.Delete();</div><div><br></div><div>        final vtkImageData stencilOutput = stencil.GetOutput();</div>
<div>        stencil.Delete();</div></div><div><br></div><div>        return stencilOutput;</div><div>    }</div><div><br></div><div>2.  I need to be able to create a vtkPolyData from a binary vtkImageData, and this also can take too long (depending on the complexity and size of the vtkPolyData) and will cause the UI to hang if it&#39;s done on the EDT.</div>
<div><br></div><div><div>    private class OrganViewer extends SwingWorker&lt;vtkPolyData, Void&gt; {</div><div>        private String organ;</div><div><br></div><div>        public OrganViewer(String organ) {</div><div>            this.organ = organ;</div>
<div>        }</div><div><br></div><div>        public String getOrgan() {</div><div>            return organ;</div><div>        }</div><div><br></div><div>        public vtkPolyData doInBackground() {</div><div>            currentlyBuildingModes.add(organ);</div>
<div>            vtkPolyData organMesh = getOrganMesh(organ);</div><div>            return organMesh;</div><div>        }</div><div>        public void done() {</div><div>            vtkPolyData organMesh = null;</div><div>
            try {</div><div>                organMesh = get();</div><div>            }</div><div>            catch (Exception e) {</div><div>                // If this gets here that means that the</div><div>                // swing worker was cancelled, so in that case</div>
<div>                // just return</div><div>                return;</div><div>            }</div><div>            vtkPolyDataMapper mapper = new vtkPolyDataMapper();</div><div>            mapper.SetInput(organMesh);</div>
<div><br></div><div>            vtkActor actor = new vtkActor();</div><div>            actor.SetMapper(mapper);</div><div>            actor.GetProperty().SetRepresentationToSurface();</div><div><br></div><div>            renWin.GetRenderer().AddActor(actor);</div>
<div>            currentActors.put(organ, actor);</div><div>            currentlyBuildingModes.remove(organ);</div><div>            Render();</div><div>        }</div><div>    }</div></div><div><br></div><div><div>public synchronized vtkPolyData getOrganMesh(String organ) {</div>
<div>        vtkMarchingCubes marching = new vtkMarchingCubes();</div><div>        vtkImageData image = binaryOrgans.get(organ);</div><div>        marching.SetInput(image);</div><div>        marching.ComputeGradientsOff();</div>
<div>        marching.ComputeNormalsOff();</div><div>        marching.ComputeScalarsOff();</div><div>        marching.SetValue(0, 0.5);</div><div>        marching.Update();</div><div>        vtkPolyData marchingOutput = marching.GetOutput();</div>
<div><br></div><div>        if (marchingOutput.GetNumberOfPoints() == 0)</div><div>            return marchingOutput;</div><div>        </div><div>        // The decimation makes the render time much faster</div><div>        vtkDecimatePro decimate = new vtkDecimatePro();</div>
<div>        decimate.SetInput(marchingOutput);</div><div>        decimate.SetTargetReduction(0.6);</div><div>        decimate.Update();</div><div>        vtkPolyData decimateOutput = decimate.GetOutput();</div><div><br></div>
<div>        vtkSmoothPolyDataFilter smooth = new vtkSmoothPolyDataFilter();</div><div>        smooth.SetInput(decimateOutput);</div><div>        smooth.SetNumberOfIterations(200);</div><div>        smooth.BoundarySmoothingOn();</div>
<div>        smooth.FeatureEdgeSmoothingOn();</div><div>        smooth.SetRelaxationFactor(0.1);</div><div>        smooth.Update();</div><div>        vtkPolyData smoothOutput = smooth.GetOutput();</div><div><br></div><div>
        return smoothOutput;</div><div>    }</div></div><div><br></div><div>There are more instances like this, but these are two main ones.  But again, is there any project that uses Java + VTK?  I would be really curious to see one.</div>
<div><br><div class="gmail_quote">On Tue, Mar 29, 2011 at 4:26 PM, Sebastien Jourdain <span dir="ltr">&lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Multi-threading is not an easy thing to deal with and this is not<br>
related specifically to VTK and Java.<br>
An easy fix, is to execute all VTK code (creation, update, delete)<br>
inside the EDT. But this brings the question: Why do you create VTK<br>
object outside the EDT. If you share that peace of code, I might be<br>
able to fix it. Although you need to be sure that&#39;s the only place<br>
where you do a &quot;new vtkXXX() / b.SetXXX()&quot;  outside the EDT.<br>
<br>
A better approach to everyone could be to create a very basic code<br>
sample that highlight the problem with memory and GC that I could fix<br>
and provide as a demonstration application for the community.<br>
<br>
Seb<br>
<div><div></div><div class="h5"><br>
<br>
On Tue, Mar 29, 2011 at 7:09 PM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt; wrote:<br>
&gt; Honestly, I&#39;m having a lot of trouble with this.  Are there any<br>
&gt; sizable projects out there that use Java + VTK successfully that I might be<br>
&gt; able to have a look at?<br>
&gt;<br>
&gt; On Tue, Mar 29, 2011 at 2:26 PM, Sebastien Jourdain<br>
&gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; If you have few place where you handle VTK object outside the EDT,<br>
&gt;&gt; then you should use a lock (cf. java.util.concurrency) to make sure<br>
&gt;&gt; that either the GC or a working thread is running but nether both. As<br>
&gt;&gt; the GC is going to run in the EDT, you don&#39;t care with the code that<br>
&gt;&gt; is already handle inside the EDT, just the code that create vtkObjects<br>
&gt;&gt; inside another thread.<br>
&gt;&gt;<br>
&gt;&gt; Although, depending on your code design, a call to .Delete() might be<br>
&gt;&gt; fine if you know that you won&#39;t induce any concurrency between an EDT<br>
&gt;&gt; that will try to render images (call update on each filter of the<br>
&gt;&gt; pipeline) and another thread that is removing an object that is<br>
&gt;&gt; referenced inside that pipeline.<br>
&gt;&gt;<br>
&gt;&gt; Seb<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Mar 29, 2011 at 4:16 PM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt; With all this in mind (that I&#39;m using a multithreaded environment).  Do<br>
&gt;&gt; &gt; you<br>
&gt;&gt; &gt; think it makes more sense to use vtk&#39;s garbage collector or just call<br>
&gt;&gt; &gt; .Delete() on every vtk data object I create?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Tue, Mar 29, 2011 at 12:05 PM, Sebastien Jourdain<br>
&gt;&gt; &gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hi Jonathan,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt; I definitely use one thread to create vtkObjects and then other<br>
&gt;&gt; &gt;&gt; &gt; threads<br>
&gt;&gt; &gt;&gt; &gt; access them in a<br>
&gt;&gt; &gt;&gt; &gt; thread safe manner.  I thought this was OK.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; This is OK, but if your objects are part of the pipeline which is<br>
&gt;&gt; &gt;&gt; rendered, then all the VTK objects (of that pipeline) should be<br>
&gt;&gt; &gt;&gt; accessed through the EDT.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; That&#39;s precisely why the delete and most of the calls should be done in<br>
&gt;&gt; &gt;&gt; the EDT.<br>
&gt;&gt; &gt;&gt; But if you have a processing loop (Not the EDT) that create a set of<br>
&gt;&gt; &gt;&gt; VTK object and you call the GC in the EDT, you have a concurrency<br>
&gt;&gt; &gt;&gt; issue here... That&#39;s the only thing that I&#39;m saying.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Seb<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Tue, Mar 29, 2011 at 2:55 PM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; Sorry, I forgot to mention that in all my current test cases I&#39;m<br>
&gt;&gt; &gt;&gt; &gt; calling<br>
&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt; &gt;&gt; &gt; method cleanSystem(false), so I&#39;m never<br>
&gt;&gt; &gt;&gt; &gt; calling vtkGlobalJavaHash.DeleteAll();.  In fact you can see in the<br>
&gt;&gt; &gt;&gt; &gt; stack<br>
&gt;&gt; &gt;&gt; &gt; trace the following line<br>
&gt;&gt; &gt;&gt; &gt; vtk.vtkGlobalJavaHash.GC()I+73<br>
&gt;&gt; &gt;&gt; &gt; so I&#39;m definitely not calling DeleteAll().  For threads, I was under<br>
&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt; &gt;&gt; &gt; impression that vtkGlobalJavaHash.GC() should always be called from<br>
&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt; &gt;&gt; &gt; EDT<br>
&gt;&gt; &gt;&gt; &gt; if I have any objects that are used for rendering (which I have a<br>
&gt;&gt; &gt;&gt; &gt; bunch<br>
&gt;&gt; &gt;&gt; &gt; of).<br>
&gt;&gt; &gt;&gt; &gt;  I spent a lot of time making this program work in a multithreaded<br>
&gt;&gt; &gt;&gt; &gt; environment.  I separated all calls to any rendering objects and do<br>
&gt;&gt; &gt;&gt; &gt; them<br>
&gt;&gt; &gt;&gt; &gt; in<br>
&gt;&gt; &gt;&gt; &gt; the EDT.  VTK calls to non-rendering objects I do in other threads<br>
&gt;&gt; &gt;&gt; &gt; sometimes.  Are you saying that if a VTK object is created in a given<br>
&gt;&gt; &gt;&gt; &gt; thread, it must also be disposed of in that same thread?  I<br>
&gt;&gt; &gt;&gt; &gt; definitely<br>
&gt;&gt; &gt;&gt; &gt; use<br>
&gt;&gt; &gt;&gt; &gt; one thread to create vtkObjects and then other threads access them in<br>
&gt;&gt; &gt;&gt; &gt; a<br>
&gt;&gt; &gt;&gt; &gt; thread safe manner.  I thought this was OK.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Tue, Mar 29, 2011 at 11:41 AM, Sebastien Jourdain<br>
&gt;&gt; &gt;&gt; &gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Do you call that method ? This will remove all the VTK object that<br>
&gt;&gt; &gt;&gt; &gt;&gt; have been created through Java regardless if you are still using<br>
&gt;&gt; &gt;&gt; &gt;&gt; them<br>
&gt;&gt; &gt;&gt; &gt;&gt; or not.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; vtkGlobalJavaHash.DeleteAll();<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Have you got an idea in which thread you are using the VTK objects ?<br>
&gt;&gt; &gt;&gt; &gt;&gt; If not, you do have a problem. VTK is not thread safe therefore you<br>
&gt;&gt; &gt;&gt; &gt;&gt; should make sure (like swing) that any VTK code get executed in the<br>
&gt;&gt; &gt;&gt; &gt;&gt; EDT. (creation, setting, update...)<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Seb<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; PS: On the other hand, if you know what you are doing, you can use<br>
&gt;&gt; &gt;&gt; &gt;&gt; VTK<br>
&gt;&gt; &gt;&gt; &gt;&gt; in a multi-threaded environment with sometime some synchronization<br>
&gt;&gt; &gt;&gt; &gt;&gt; with the EDT.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; On Tue, Mar 29, 2011 at 2:26 PM, Jonathan Morra &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; OK, I&#39;m still getting a lot of JNI errors when I run the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; vtkGarbageCollector<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; that look like the following.  Do you have any idea what&#39;s going<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; on<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; here?<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Here is the code that it is being called from<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; private static class MyVTKClean implements Runnable {<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         private boolean runVTKDelete;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         private int numDelete;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         public MyVTKClean(boolean runVTKDelete) {<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;             this.runVTKDelete = runVTKDelete;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         }<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         public synchronized void run() {<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;             if (runVTKDelete)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;                 numDelete = vtkGlobalJavaHash.DeleteAll();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;             else<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;                 numDelete = vtkGlobalJavaHash.GC();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         }<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         public int getNumDelete() {<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;             return numDelete;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         }<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;     }<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; // I think the VTK clean up has to run<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;     // on the EDT, so we&#39;ll do that here<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;     public synchronized static void cleanSystem(boolean<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; runVTKDelete)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; {<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         System.gc();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         System.runFinalization();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         MyVTKClean run = new MyVTKClean(runVTKDelete);<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         // I&#39;m not sure what to do here, it crashes sometimes<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         // I honestly think we&#39;re going to have to go through the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         // and just manually manage all our own memory.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;         SwingUtilities.invokeLater(run);<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;     }<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Here is a reproduction of the JNI VTK error.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # A fatal error has been detected by the Java Runtime Environment:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; pc=0x000020001ba29400,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; pid=5420, tid=5264<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # JRE version: 6.0_24-b07<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; windows-amd64 compressed oops)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # Problematic frame:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # C  0x000020001ba29400<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # If you would like to submit a bug report, please visit:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #   <a href="http://java.sun.com/webapps/bugreport/crash.jsp" target="_blank">http://java.sun.com/webapps/bugreport/crash.jsp</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # The crash happened outside the Java Virtual Machine in native<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; code.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; # See problematic frame for where to report the bug.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; #<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---------------  T H R E A D  ---------------<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Current thread (0x0000000007e4c000):  JavaThread<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &quot;AWT-EventQueue-0&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_in_native, id=5264,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000008ee0000,0x0000000008fe0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; siginfo: ExceptionCode=0xc0000005,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ExceptionInformation=0x0000000000000008<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000020001ba29400<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Registers:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RAX=0x000007fee9a7ffff, RBX=0x0000000007caf0c8,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RCX=0x0000000007c00d90,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RDX=0x0000000008fde720<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RSP=0x0000000008fde608, RBP=0x0000000007caf0d8,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RSI=0x000000005976e7a0,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RDI=0x0000000007cafff0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R8=0x0000000000000000, R9=0x0000000000000009,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R10=0x0000000006ba18b0,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R11=0x0000000007cafff0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R12=0x0000000007caf0d8, R13=0x0000000008fde720,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R14=0x0000000007bdd2d0,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R15=0x0000000000000002<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RIP=0x000020001ba29400, EFLAGS=0x0000000000010246<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Register to memory mapping:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RAX=0x000007fee9a7ffff<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee9a7ffff is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RBX=0x0000000007caf0c8<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007caf0c8 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RCX=0x0000000007c00d90<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007c00d90 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RDX=0x0000000008fde720<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde720 is pointing into the stack for thread:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007e4c000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &quot;AWT-EventQueue-0&quot; prio=6 tid=0x0000000007e4c000 nid=0x1490<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; runnable<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x0000000008fde000]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;    java.lang.Thread.State: RUNNABLE<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RSP=0x0000000008fde608<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde608 is pointing into the stack for thread:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007e4c000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &quot;AWT-EventQueue-0&quot; prio=6 tid=0x0000000007e4c000 nid=0x1490<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; runnable<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x0000000008fde000]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;    java.lang.Thread.State: RUNNABLE<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RBP=0x0000000007caf0d8<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007caf0d8 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RSI=0x000000005976e7a0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000005976e7a0 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; RDI=0x0000000007cafff0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007cafff0 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R8 =0x0000000000000000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000000000000 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R9 =0x0000000000000009<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000000000009 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R10=0x0000000006ba18b0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000006ba18b0 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R11=0x0000000007cafff0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007cafff0 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R12=0x0000000007caf0d8<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007caf0d8 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R13=0x0000000008fde720<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde720 is pointing into the stack for thread:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007e4c000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &quot;AWT-EventQueue-0&quot; prio=6 tid=0x0000000007e4c000 nid=0x1490<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; runnable<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x0000000008fde000]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;    java.lang.Thread.State: RUNNABLE<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R14=0x0000000007bdd2d0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000007bdd2d0 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; R15=0x0000000000000002<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000000000002 is pointing to unknown location<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Top of Stack: (sp=0x0000000008fde608)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde608:   000007fee995d99b 0000000007caf0c0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde618:   0000000007caf0c0 000000005976e7a0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde628:   0000000000000000 000000005976e7a0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde638:   0000000007caf0b0 000000005976e7a0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde648:   0000000007caf0b0 0000000000000000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde658:   0000000008fde720 00000000bb8bd928<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde668:   0000000000000000 0000000000000000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde678:   000007fee9960ab3 0000000008fde720<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde688:   0000000007cafff0 0000000000000000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde698:   0000000000000000 0000000007e4c000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6a8:   0000000008fde950 00000000bb8bd928<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6b8:   0000000000000000 0000000058511290<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6c8:   000007fee9960e6f 0000000058511290<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6d8:   0000000008fde928 00000000bca11e68<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6e8:   0000000002407f03 00000000c0c06c78<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000008fde6f8:   0000000008fde700 000000006df196a0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Instructions: (pc=0x000020001ba29400)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000020001ba293f0:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [error occurred during error reporting (printing registers, top of<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; instructions near pc), id 0xc0000005]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Stack: [0x0000000008ee0000,0x0000000008fe0000],<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  sp=0x0000000008fde608,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  free space=1017k<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C=native<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; code)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C  0x000020001ba29400<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  vtk.vtkObjectBase.VTKDeleteReference(J)V+0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  vtk.vtkGlobalJavaHash.GC()I+73<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  prefs.ENV$MyVTKClean.run()V+18<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.event.InvocationEvent.dispatch()V+47<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.EventQueue$1.run()Ljava/lang/Void;+12<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.EventQueue$1.run()Ljava/lang/Object;+1<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; v  ~StubRoutines::call_stub<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.security.AccessControlContext$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28<br>

&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; j  java.awt.EventDispatchThread.run()V+9<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; v  ~StubRoutines::call_stub<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---------------  P R O C E S S  ---------------<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Java Threads: ( =&gt; current thread )<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000009609800 JavaThread &quot;Timer-4&quot; [_thread_in_native,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=5844,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000051110000,0x0000000051210000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x000000000960c800 JavaThread &quot;SwingWorker-pool-4-thread-1&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked, id=6424,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000053a00000,0x0000000053b00000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x000000000960b000 JavaThread &quot;pool-1-thread-1&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=3136,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x000000000bd50000,0x000000000be50000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000009608800 JavaThread &quot;DestroyJavaVM&quot; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=5108,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x00000000022e0000,0x00000000023e0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000009608000 JavaThread &quot;TimerQueue&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6340, stack(0x000000000a8f0000,0x000000000a9f0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000007f2c000 JavaThread &quot;Timer-2&quot; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6600,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x00000000090e0000,0x00000000091e0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000007f2b000 JavaThread &quot;Timer-1&quot; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=3288,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000008c40000,0x0000000008d40000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000061b0000 JavaThread &quot;ssh-connection 1&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6048, stack(0x00000000086f0000,0x00000000087f0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000080d0000 JavaThread &quot;Transport protocol 1&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_in_native, id=4200,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x000000000a730000,0x000000000a830000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x0000000007e4c800 JavaThread &quot;Timer-0&quot; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=2128,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000008fe0000,0x00000000090e0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; =&gt;0x0000000007e4c000 JavaThread &quot;AWT-EventQueue-0&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_in_native,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=5264, stack(0x0000000008ee0000,0x0000000008fe0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x000000000625f800 JavaThread &quot;AWT-Windows&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_in_native,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6700, stack(0x00000000085f0000,0x00000000086f0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x000000000625e800 JavaThread &quot;AWT-Shutdown&quot; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=2500,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x00000000084f0000,0x00000000085f0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x000000000611b000 JavaThread &quot;Java2D Disposer&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=4280, stack(0x00000000083f0000,0x00000000084f0000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060c7800 JavaThread &quot;Low Memory Detector&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked, id=4272,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000006980000,0x0000000006a80000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060c7000 JavaThread &quot;CompilerThread1&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=2744, stack(0x0000000006880000,0x0000000006980000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060c3000 JavaThread &quot;CompilerThread0&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=5308, stack(0x0000000006780000,0x0000000006880000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060ae800 JavaThread &quot;JDWP Command Reader&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_in_native, id=5568,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000006680000,0x0000000006780000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060ab000 JavaThread &quot;JDWP Event Helper Thread&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked, id=6736,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000006580000,0x0000000006680000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060a5000 JavaThread &quot;JDWP Transport Listener:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; dt_shmem&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked, id=1744,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stack(0x0000000006480000,0x0000000006580000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000003e6800 JavaThread &quot;Attach Listener&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6416, stack(0x0000000006360000,0x0000000006460000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060a0800 JavaThread &quot;Signal Dispatcher&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6608, stack(0x0000000006260000,0x0000000006360000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000003cd800 JavaThread &quot;Finalizer&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=5328, stack(0x0000000005f60000,0x0000000006060000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000003ca000 JavaThread &quot;Reference Handler&quot; daemon<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [_thread_blocked,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; id=6568, stack(0x0000000005e60000,0x0000000005f60000)]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Other Threads:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000003c3800 VMThread [stack:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000005d60000,0x0000000005e60000]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [id=6624]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   0x00000000060cd800 WatcherThread [stack:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000006a80000,0x0000000006b80000] [id=968]<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; VM state:not at safepoint (normal execution)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; VM Mutex/Monitor currently owned by a thread: None<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Heap<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  PSYoungGen      total 18944K, used 491K [0x00000000ead60000,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000ec280000, 0x0000000100000000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   eden space 16256K, 3% used<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x00000000ead60000,0x00000000eaddae10,0x00000000ebd40000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   from space 2688K, 0% used<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x00000000ebfe0000,0x00000000ebfe0000,0x00000000ec280000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   to   space 2688K, 0% used<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x00000000ebd40000,0x00000000ebd40000,0x00000000ebfe0000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  PSOldGen        total 43392K, used 10564K [0x00000000c0800000,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000c3260000, 0x00000000ead60000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   object space 43392K, 24% used<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x00000000c0800000,0x00000000c1251378,0x00000000c3260000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;  PSPermGen       total 23616K, used 23499K [0x00000000bb600000,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000bcd10000, 0x00000000c0800000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;   object space 23616K, 99% used<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; [0x00000000bb600000,0x00000000bccf2d70,0x00000000bcd10000)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Dynamic libraries:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000000400000 - 0x000000000042e000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\java.exe<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000775d0000 - 0x0000000077779000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\SYSTEM32\ntdll.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000773b0000 - 0x00000000774cf000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\kernel32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcac0000 - 0x000007fefcb2b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\KERNELBASE.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe6b0000 - 0x000007fefe78b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\ADVAPI32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefce70000 - 0x000007fefcf0f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\msvcrt.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefece0000 - 0x000007fefecff000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\SYSTEM32\sechost.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe090000 - 0x000007fefe1bd000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\RPCRT4.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d890000 - 0x000000006df94000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\server\jvm.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000774d0000 - 0x00000000775ca000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\USER32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefd290000 - 0x000007fefd2f7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\GDI32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefd280000 - 0x000007fefd28e000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\LPK.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefed00000 - 0x000007fefedc9000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\USP10.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9d90000 - 0x000007fef9dcb000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WINMM.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe790000 - 0x000007fefe7be000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\IMM32.DLL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe390000 - 0x000007fefe499000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\MSCTF.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d800000 - 0x000000006d80e000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\verify.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d450000 - 0x000000006d477000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\java.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d3b0000 - 0x000000006d3ba000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\hpi.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x00000000777a0000 - 0x00000000777a7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\PSAPI.DLL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d4c0000 - 0x000000006d4f4000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\jdwp.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d6d0000 - 0x000000006d6d8000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\npt.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d850000 - 0x000000006d862000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\zip.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d300000 - 0x000000006d30a000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\dt_shmem.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef1360000 - 0x000007fef13cb000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkCommonJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee9900000 - 0x000007fee9b6f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkCommon.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef4bf0000 - 0x000007fef4c32000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtksys.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefd1d0000 - 0x000007fefd21d000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WS2_32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcde0000 - 0x000007fefcde8000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\NSI.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000072850000 - 0x00000000728ed000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\MSVCR90.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000074590000 - 0x0000000074663000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_08e4299fa83d7e3c\MSVCP90.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef0410000 - 0x000007fef0419000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WSOCK32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feedb20000 - 0x000007feedbbc000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkFilteringJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee95e0000 - 0x000007fee98f2000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkFiltering.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9f90000 - 0x000007fef9f9f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkGenericFilteringJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef1320000 - 0x000007fef1356000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkGenericFiltering.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee8fe0000 - 0x000007fee95d6000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkGraphics.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef0a60000 - 0x000007fef0a91000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkverdict.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feef720000 - 0x000007feef7b2000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkGraphicsJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef1290000 - 0x000007fef12df000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkHybridJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee8d30000 - 0x000007fee8fd1000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkHybrid.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee88d0000 - 0x000007fee8d22000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkRendering.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe4a0000 - 0x000007fefe6a3000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\ole32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe7c0000 - 0x000007fefe897000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\OLEAUT32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee8600000 - 0x000007fee88ce000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkImaging.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee8150000 - 0x000007fee85f9000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkIO.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef4bc0000 - 0x000007fef4be3000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkDICOMParser.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feed060000 - 0x000007feed110000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkNetCDF.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9f70000 - 0x000007fef9f8d000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkNetCDF_cxx.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feed560000 - 0x000007feed5f3000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkmetaio.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef0a40000 - 0x000007fef0a55000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkzlib.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef0a10000 - 0x000007fef0a33000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkpng.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feef6b0000 - 0x000007feef6d7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkjpeg.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feee410000 - 0x000007feee461000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtktiff.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feee3e0000 - 0x000007feee403000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkexpat.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef0580000 - 0x000007fef059f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\AVIFIL32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9d20000 - 0x000007fef9d38000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\MSACM32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feee350000 - 0x000007feee379000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\MSVFW32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefd300000 - 0x000007fefe088000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\SHELL32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcdf0000 - 0x000007fefce61000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\SHLWAPI.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefb4e0000 - 0x000007fefb6d4000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9eb0000 - 0x000007fef9ebf000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkftgl.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee9cc0000 - 0x000007fee9ddd000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\OPENGL32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feedaf0000 - 0x000007feedb1d000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\GLU32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee9bc0000 - 0x000007fee9cb1000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\DDRAW.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9420000 - 0x000007fef9428000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\DCIMAN32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefe8a0000 - 0x000007fefea77000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\SETUPAPI.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcb30000 - 0x000007fefcb66000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\CFGMGR32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcdc0000 - 0x000007fefcdda000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\DEVOBJ.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefaed0000 - 0x000007fefaee8000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\dwmapi.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feed4e0000 - 0x000007feed554000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkfreetype.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7f50000 - 0x000007fee814f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\d3d9.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefb9d0000 - 0x000007fefb9dc000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\VERSION.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef8870000 - 0x000007fef8877000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\d3d8thk.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feedaa0000 - 0x000007feedae5000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkexoIIc.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feefc40000 - 0x000007feefc57000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\AVICAP32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feec740000 - 0x000007feec7c1000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkRenderingJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d490000 - 0x000000006d497000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\jawt.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d0a0000 - 0x000000006d263000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\awt.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef8bc0000 - 0x000007fef8c31000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WINSPOOL.DRV<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feed010000 - 0x000007feed05e000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkIOJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feec6f0000 - 0x000007feec732000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkImagingJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feed4b0000 - 0x000007feed4d3000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkVolumeRenderingJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7ad0000 - 0x000007fee7f48000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkVolumeRendering.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7a70000 - 0x000007fee7ac2000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkWidgetsJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee78e0000 - 0x000007fee7a6e000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkWidgets.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee9b90000 - 0x000007fee9bb8000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkgdcmJava.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7820000 - 0x000007fee78df000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\vtkgdcm.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7710000 - 0x000007fee781e000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmMSFF.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee76e0000 - 0x000007fee7710000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmIOD.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7660000 - 0x000007fee76d5000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmDSED.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feef470000 - 0x000007feef484000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmCommon.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007feec230000 - 0x000007feec246000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmzlib.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7630000 - 0x000007fee7653000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmexpat.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee74d0000 - 0x000007fee762b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmDICT.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee74a0000 - 0x000007fee74cb000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmjpeg8.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7470000 - 0x000007fee749b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmjpeg12.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7440000 - 0x000007fee746c000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmjpeg16.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7410000 - 0x000007fee7437000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmopenjpeg.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee73d0000 - 0x000007fee7409000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmcharls.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefb300000 - 0x000007fefb356000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\uxtheme.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefc940000 - 0x000007fefc94f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\CRYPTBASE.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d340000 - 0x000000006d3a6000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\fontmanager.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d6a0000 - 0x000000006d6b7000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\net.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefc240000 - 0x000007fefc295000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\mswsock.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefc230000 - 0x000007fefc237000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\System32\wship6.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000000006d6c0000 - 0x000000006d6cb000 C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\Java\jdk1.6.0_24\jre\bin\nio.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fee7360000 - 0x000007fee73cf000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Users\...\dist\64\gdcmjni.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefc2e0000 - 0x000007fefc2f7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\CRYPTSP.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefbfa0000 - 0x000007fefbfe7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\rsaenh.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefbd50000 - 0x000007fefbd6e000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\USERENV.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefca10000 - 0x000007fefca1f000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\profapi.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefa4e0000 - 0x000007fefa4f5000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\NLAapi.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef89e0000 - 0x000007fef89f5000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\napinsp.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef89c0000 - 0x000007fef89d9000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\pnrpnsp.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef89b0000 - 0x000007fef89c0000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\wshbth.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefc0c0000 - 0x000007fefc11b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\DNSAPI.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef89a0000 - 0x000007fef89ab000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\System32\winrnr.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefbc40000 - 0x000007fefbc47000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\System32\wshtcpip.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9f30000 - 0x000007fef9f57000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\IPHLPAPI.DLL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9f60000 - 0x000007fef9f6b000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WINNSI.DLL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef8990000 - 0x000007fef8998000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\rasadhlp.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fef9ec0000 - 0x000007fef9f13000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\System32\fwpuclnt.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcd80000 - 0x000007fefcdba000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\WINTRUST.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcb70000 - 0x000007fefccd7000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\CRYPT32.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x000007fefcab0000 - 0x000007fefcabf000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\MSASN1.dll<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 0x0000000069500000 - 0x000000006a195000<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; C:\Windows\system32\nvoglv64.DLL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; VM Arguments:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; jvm_args: -Xdebug -Xrunjdwp:transport=dt_shmem,address=javadebug<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; -Dfile.encoding=UTF-8 -Dsun.java2d.ddoffscreen=false<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; -Dsun.java2d.gdiblit=false<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; java_command: Application yes no<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Launcher Type: SUN_STANDARD<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Environment Variables:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; PATH=C:\Program Files (x86)\MiKTeX<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 2.8\miktex\bin;C:\Ruby19\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\strawberry\c\bin;C:\strawberry\perl\bin;c:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files\MySQL\MySQL<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Server<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 5.1\bin;C:\Users\jmorra\Downloads\dcm4che\dcm4che-2.0.21\bin;C:\Users\...\dist\64;C:\Program<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Files (x86)\Calibre2\;C:\Program Files (x86)\SSH Communications<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Security\SSH<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Secure Shell<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; USERNAME=jmorra<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; OS=Windows_NT<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; GenuineIntel<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; ---------------  S Y S T E M  ---------------<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; OS: Windows 7 Build 7601 Service Pack 1<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 23<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; stepping<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Memory: 4k page, physical 4158344k(884196k free), swap<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 8314844k(3659748k<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; free)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; vm_info: Java HotSpot(TM) 64-Bit Server VM (19.1-b02) for<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; windows-amd64<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; JRE<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; (1.6.0_24-b07), built on Feb  2 2011 16:25:45 by &quot;java_re&quot; with MS<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; VC++<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; 8.0<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; (VS2005)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; time: Tue Mar 29 11:21:13 2011<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; elapsed time: 50 seconds<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; On Tue, Mar 29, 2011 at 8:27 AM, Sebastien Jourdain<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; As I said, since a double[] is not a vtkObject, your are good to<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; go<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; with image.GetSpacing(), and there is no arm in that.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; It is not that it make java difficult to use, it will induce more<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; lines. But don&#39;t make me wrong this problem occurs ONLY when you<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; bind<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; two vtkObject together whithout any Java instance holding the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; reference in between.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; BAD =&gt; a.SetX(b.GetY());<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; But you can do<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; z = a.GetX().GetY().GetZ();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; b.SetZ(z);<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; or that too<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; b.SetZ(z = a.GetX().GetY().GetZ());<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; Seb<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; On Tue, Mar 29, 2011 at 11:10 AM, Jonathan Morra<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; Thanks for your help.  For number 3, image.GetSpacing() is a<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; VTK<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; call,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; however it returns a java double[], so I thought that it was<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; OK.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;  All<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; these<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; memory restrictions in Java make it very difficult to use, is<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; there<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; any<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; plans to improve the usage of VTK in Java?<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; Thanks again!<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; On Tue, Mar 29, 2011 at 5:26 AM, Sebastien Jourdain<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; Hi Jonathan,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; I directly reply on the context of your mail,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; On Tue, Mar 29, 2011 at 2:33 AM, Jonathan Morra<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &lt;<a href="mailto:jonmorra@gmail.com">jonmorra@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; Since I&#39;m using vtkJavaGarbageCollector I&#39;m already using<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; vtkGlobalJavaHash.GC();.  The main questions that I<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; currently<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; still<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; need<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; answered are here<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; 1.  should I have to call System.gc(); and<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; System.runFinalization();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; frequently with VTK+Java?  It appears the memory is managed<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; better<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; when<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; calling these lines every time vtkGlobalJavaHash.GC() is<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; called,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; but<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; I<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; don&#39;t<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; know if this is necessary.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; System.gc(); is the only one that you should really care<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; about.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; But<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; Java does not offer any guarantee if this method will do<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; something<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; or<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; not.  Moreover, the GC will stop all the thread to do its job.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; So<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; it<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; is basically up to you.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; 2.  Is it ok to reuse Java variables?  Such as<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; vtkImageData image = filter.GetOuput();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; // Do Stuff<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; image = filter2.GetOuput();<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; yes<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; 3.   Is it OK to move around java objects without an<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; intermediate<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; reference?<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;  Such as<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; image1.SetOutputSpacing(image2.GetSpacing());<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; what do you mean by Java object ? for me as the Set/Get do<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; have a<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; capital letter, I would say they come from the VTK world and<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; if<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; they<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; return a vtkObject, you should use an intermediate variable<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; otherwise<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; if it&#39;s an array of primary type, that is just fine.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; Sorry, forgot one more.  Should I be calling<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; vtkGlobalJavaHash.GC()<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; from<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; the event dispatch thread?<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; I saw that as an option in vtkJavaGarbageCollector, and I&#39;m<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; not<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; sure<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; why<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt; that&#39;s the case.<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; This totally depend on your VTK code, if you insure that all<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; call<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; you are doing on the VTK layer is done through the EDT, then<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; you<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; should, otherwise you shouldn&#39;t. (This is a requirement if the<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; data<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; is<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; shown in a renderer.)<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; Seb<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>