Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Discussion (https://www.gnutellaforums.com/general-discussion/)
-   -   Memory Leak (https://www.gnutellaforums.com/general-discussion/16316-memory-leak.html)

Jordan October 12th, 2002 04:49 PM

Memory Leak
 
I've been using Phex for a while doing searches and not having too many problems, but I recently tried to set it up to share my files. It works okay, but eventually dumps a "java.lang.OutOfMemory" error on me.

I turned on -verbose:gc and set my -Xmx256m and I can watch as it slowly increases the amount of memory it takes up until it hits the limit, throws and OutOfMemory error and basically dies. Looks like there same sort of object getting allocated that is never being released in there.

-jdr

GregorK October 12th, 2002 06:34 PM

Hi..

I think this problem seems to only occure on some plattforms. I was never able to reproduce it. What OS are you using?
Can you contact me by email so I can send you a Phex 0.8 beta which has some more debug output that I added to find out what might cause the trouble.

Gregor

20vTurbo October 22nd, 2002 01:14 AM

Hi,
I have the SAME troble on RH 7.3 and j2sdk 1.4.1, can I do some beta test for the next release? ;-)

Hi
20vt

RandyPower January 17th, 2003 06:34 AM

On Linux Mandrake 9.0, sdk 1.4.1, phex 0.8.0.31, I am having a massive memory problem.

It eats and eats memory, although it has never quit on my by itself. I have 1GB RAM, and phex uses about 700MB RAM. When I exit phex (which is rather slow to respond by now), it responds with a couple of OutOfMemory lines and that 700MB is never returned. I have to reboot to get it back. (I don't have a clue why that is. The shell prompt returns, indicating that "java" has exited. Thus, its memory should have been freed.)

If I run with these options:
-verbose:gc -Xmx128m
Phex seems to be much better about its memory usage.

By the way, I was having trouble with mixed up segments of files. In downloading several mpegs simultaneously, some segments are mixed up between the mpegs. I don't necessarily blame phex though, because I can't guarantee that the downloaded files were intact from their sources.

After the mixed up files problem, I deleted phexdownload.xml and all the partial files, then continued to experience the memory problem discussed above.

- RandyPower

GregorK January 17th, 2003 03:32 PM

Hi...

if you press CTRL-\ on the console you run Phex from you get a thread dump. Could you please send me this thread dump when you run into memory problems again?

This problem seems to be only on Linux system. Don't know if it is a problem of the Java VM maybe it is not triggering the garbage collector in time... or of some objects in memory not getting released right on Linux systems or what ever reason. But I hope I can solve the problem soon.

Feedback from you would help a lot.

Thanks,
Gregor

RandyPower January 18th, 2003 06:40 AM

1 Attachment(s)
I have a thread dump ready to send to you, but it is rather large: 112K. As a .zip, it is 9K.

I also included a capture of top's output (at least, what shows in my console window), sorted by memory usage. Maybe this will be helpful too.

Thank you (to you and all other contributors) very much for looking at this issue and for all of your hard work on the project.

GregorK January 20th, 2003 07:20 AM

Hi...

thank you very much for sending me the output. It finally helped me to determine and FIX the problem. It will be released with the next build 0.8.0.33.
The fix will reduce the thread use that you see with 'top' and will also reduce your memory use.
I have no explanation though, why the memory is not freed when closing Phex. This problem might not be related to Phex, it could be a problem with your Java VM or something completly different.

Thanks,
Gregor

RandyPower January 20th, 2003 05:35 PM

Outstanding!
 
This is really great news. I've stopped using Phex temporarily until this is worked out. Any idea how soon we might see the update?

Meanwhile, I'm also going to try IBM's JVM to see if I have different results regarding freeing the memory.

RandyPower January 22nd, 2003 06:10 AM

Updates: Usage of all memory is not due to Phex; Phex & IBM SDK
 
I did not run Phex for the last few days, and my memory consumption still went through the roof.

Although I am finding it difficult to pinpoint exactly what task(s) is using up my memory, I did find that unmounting a very large nfs mount point returned over 300MB of RAM.

I am not an nfs expert (and I realize this is off-topic), I have been monitoring memory usage, and although all of my physical RAM is used, it never dips into virtual RAM. Therefore, I suspect that nfs is being smart by using all available free RAM to cache.

Running Phex exacerbates this RAM usage because all of my "shared" files are accessed over nfs.

-------------------------------------

Secondly, I tried running both Phex 7 and 8 with IBM's SDK v1.4.0. Phex 7 starts, but I get all kinds of NoClassDefFoundError, mostly for org/apache/crimson/tree/XmlDocument.

Phex 0.8.0.32 runs with the IBM sdk with no errors/exceptions that I noticed. Of course, it still chokes with the runaway threads.

GregorK January 22nd, 2003 07:21 AM

Hi..

I just released the new Phex. It should solve the thread problem. If you like you can try to run Phex 0.7 for Java 1.3 with the IBM JDK, it contains the missing classes, everything else is the same.
But I hope you dont need to use 0.7 again with the new Phex 0.8 build.

sorry.. I'm not so much a Unix expert that I could help you with the nfs problem.

Gregor


All times are GMT -7. The time now is 02:42 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.