[vtkusers] JVM Crashes while Call vtkGlobalJavaHash.DeleteAll() in Ubuntu...
Sathish Kumar
kingvsk at aol.com
Fri May 6 01:20:40 EDT 2011
Hi Sebastien,
I tried your code. But the JVM Carsh is done while starting the app.
(JVM crash occurred While I press the button named "Dicom Multi Planner
Reconstruction (2D)" in main form).
Here with I attached the java crash report. Any suggestion?
Thanks,
Sathish,
On Thursday 05 May 2011 07:03 PM, Sebastien Jourdain wrote:
> For your linux issue, I really have to try it on my linux, but so far
> I've tried your stuff at home on my Mac and as I was able to reproduce
> the leak with the GC, I had no need to go on Linux.
>
> On Thu, May 5, 2011 at 2:04 AM, Sathish Kumar <kingvsk at aol.com
> <mailto:kingvsk at aol.com>> wrote:
>
> Hi Sebastien,
>
> Thanks for your suggestions. But that too not solve my problem. If
> possible please send the whole code you corrected.
>
> I have one more question that the same code works great in windows
> and Mac. The problem is only with linux. Is there any specific
> reason for that?
>
> --
> Sathish
>
>
> On Thursday 05 May 2011 02:39 AM, Sebastien Jourdain wrote:
>> Hi Sathish,
>>
>> after some digging on what was going on with your code, I've
>> figured out that the memory leak you were facing while using the
>> VTK garbage collector was mainly due to Java who keep a reference
>> to any graphical components that have been shown at some point.
>>
>> And in your case, your graphical frame keep a reference to all
>> your VTK objects (readers, filters, renderers...). And because of
>> that, VTK could never release them.
>>
>> In order to solve your specific issue you have to have some code
>> like that in your WindowClosed listener:
>>
>> private void formWindowClosed(java.awt.event.WindowEvent evt) {
>> this.myVtkObjectA = null;
>> // [...]
>> this.myVtkObjectZ = null;
>>
>> // but also remove the content of you renderer that will keep
>> // the whole pipeline alive in the C++ layer if not cleared
>> this.myVtkPanel.RemoveAllViewProps();
>> this.myVtkPanel.GetRenderer().RemoveAllLights();
>>
>> this.myVtkPanel.GetRenderWindow().RemoveRenderer(this.myVtkPanel.GetRenderer());
>> }
>>
>> As you may see for vtkPanel we have a similar issue where its
>> internal component won't be released, and for now in order to
>> reduce the memory leak you need to execute the lines that I've
>> put above with "myVtkPanel".
>>
>> But in a near future, we will add a Delete() method on the
>> vtkPanel to fully release its internal objects so the code block
>> could be reduced to : this.myVtkPanel.Delete();
>>
>> Moreover, Jeff and I are working of documenting the Java part of
>> VTK and providing some tools to help identifying the cause of
>> memory leak in Java as well as improving the concurrency
>> support/management. So if some community member has Java/VTK
>> testing code that produce error/crash because of concurrency or
>> memory leak that could be used as test, please send them to us so
>> we can make sure that the improvement that we are making will
>> solve your issue.
>>
>> Thanks,
>>
>> Seb
>>
>>
>> On Wed, Apr 27, 2011 at 8:30 AM, Sebastien Jourdain
>> <sebastien.jourdain at kitware.com
>> <mailto:sebastien.jourdain at kitware.com>> wrote:
>>
>> Hi Sathish,
>>
>> Do you think you can share your source code (offlist) so I
>> can give a look and understand why you are facing this issue.
>>
>> Thanks,
>>
>> Seb
>>
>> On Wed, Apr 27, 2011 at 2:07 AM, Sathish kumar
>> <kingvsk at aol.com <mailto:kingvsk at aol.com>> wrote:
>>
>> Hi Sebastien,
>>
>> Thanks for your response.
>>
>> I developed a simple application that loads a list of
>> dicom images and construct them as 3D. It works fine. I
>> call VTK from my Java Application. If I press a button
>> from main window, then the VTK output will load in
>> another Jframe window. Once I close the output window the
>> VTK should release all the memory. But i doesn't do that.
>> It will be released only when I close my main
>> application. (Please refer the attachment).
>>
>> My Requirement is while I close the 3D window The VTK
>> memory should be released.
>>
>> With Regards,
>>
>> Sathish Kumar V
>>
>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110506/08cfa71d/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hs_err_pid3473.log
Type: text/x-log
Size: 40342 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110506/08cfa71d/attachment.bin>
More information about the vtkusers
mailing list