[vtkusers] Java vtkPanel

Kenji Tsumura kenji.tsumura at neosoftmedical.com
Tue Apr 19 10:54:45 EDT 2016


Hi Seb,

I tried using vtkPanel. The memory leak still persists.
Please find the attached source code and captured memory profile.

My environtment:
VTK 7.0.0
CMake 3.1.1
Visual Studio Professional 2013
Eclipse Luna 4.4.1 (for my java application)

As for library loader, the class just called bunch of System.loadLibrary.

Are there anything I can try?
Thank you,

Kenji


From: Sebastien Jourdain [mailto:sebastien.jourdain at kitware.com]
Sent: Monday, April 18, 2016 5:19 PM
To: Kenji Tsumura
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] Java vtkPanel

Hum,

Out of curiosity can you try using vtkPanel instead and calling its Java implementation of the delete() function and see if you can see it disappear or not within you tool (NetBean?)?

I'm wondering which piece keep a ref on it...

Seb

On Mon, Apr 18, 2016 at 4:06 PM, Kenji Tsumura <kenji.tsumura at neosoftmedical.com<mailto:kenji.tsumura at neosoftmedical.com>> wrote:
Hi Seb,

Thank you for the advice.
So I change my test code as you suggested, but the problem still persists.

                JFrameRenderer.this.remove(renderWindowPanel);
                // renderWindowPanel.Delete();
                renderWindowPanel = null;
                vtkObject.JAVA_OBJECT_MANAGER.gc(false);

The attached shows the renderWindowPanel has not been released after 6 times of button click that triggers replacing the renderWindowPanel object.
Do I miss something?

Thank you,

Kenji

From: Sebastien Jourdain [mailto:sebastien.jourdain at kitware.com<mailto:sebastien.jourdain at kitware.com>]
Sent: Monday, April 18, 2016 4:32 PM
To: Kenji Tsumura
Cc: vtkusers at vtk.org<mailto:vtkusers at vtk.org>
Subject: Re: [vtkusers] Java vtkPanel

Hi Kenji,

You can look at what we are doing with the delete() method of vtkPanel (knowing that we leak on Linux instead of crashing).
But I'm guessing I see 3 possible issue in your code.

1) You should try to detach your renderWindowPanel instance from the parent JFrame.
2) Then you should set it to null before calling vtkObject.JAVA_OBJECT_MANAGER.gc(false);
3) And in any case, you should not call Delete() on it.

I'm thinking your code may cleanup its memory but not the first time you do it. After 3 times, you only cleared the first allocated memory.

Hope that helps,

Seb

PS: If ever you want to contribute your native library loader, please feel free to do so, I can facilitate the process. ;-)

On Mon, Apr 18, 2016 at 2:30 PM, Kenji Tsumura <kenji.tsumura at neosoftmedical.com<mailto:kenji.tsumura at neosoftmedical.com>> wrote:
Hi,

I have a Java application that use vtkPanel. Precisely, I made a class that extends vtkRenderWindowPanel. When an object of the class is no more used, I would like to dispose the object. But I couldn’t dispose it no matter how.  Java VisualVM indicates the object is JNI global reference. So  how can I dispose it? I used the Delete method and called vtkObject.JAVA_OBJECT_MANAGER.gc(false), but it didn’t work (it works for other VTK objects). The attached file is a simple test code that demonstrates vtkRenderWindowPanel is never disposed.

I have seen similar post in the past, but never be answered in the way I hope. So I decided to post. I would appreciate any advice.
Thank you,

Kenji

“The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.

Disclaimer: The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.

_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers

Disclaimer: The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.

Disclaimer: The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160419/1efec948/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: java_memory2.jpg
Type: image/jpeg
Size: 118920 bytes
Desc: java_memory2.jpg
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160419/1efec948/attachment-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: JFrameRenderer.java
Type: application/octet-stream
Size: 3777 bytes
Desc: JFrameRenderer.java
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160419/1efec948/attachment-0001.obj>


More information about the vtkusers mailing list