Large memory usage during xdebug sessions.

Howdy

Im seeing some very large mem usage while I am debugging using a php xdebug session.  I think it may be pointing to a mem leak.  I have even bumped my heapsize max to 1G and I am still maxing it out.  I have tried forcing GC but it only seems to clean up 100m to 200m or so then gets filled up quickly.  Sometimes I can stop the debug session and GC and it will clear out, but not always.


Is any one else seeing this issue?


Im on a Mac running 10.6.2 with a 1.6 Jvm

12 comments

Please reduce heap back and take memory snapshot during debug session when memory is nearly full and GC is not helping.

  • heap size is stored in the -Xmx.. option in the last lines of info.plist inside app package
  • to "take memory snapshot" is the one of 3 last buttons in main toolbar
  • upload it to ftp://ftp.intellij.net/.uploads/ and post the name here so we can find and analyse it.

    Also, switching WI to 32 bit java helps. (add -d32 near -Xmx..)

  • 0

    Same here. Exact same environment specs as OP.

    It seems that context analysis is eating away the memory. As long as the active context is relatively small, the variables are displayed with minimum delay. But after a few steps with larger contexts, memory usage goes through the roof, and the "Variables" window keeps displaying "Collecting data..." for ages. After a GC run, heap usage drops to e.g. 1,5 GB of 2GB max, but context analysis still hangs.

    Will provide snapshot as soon as I have reduced the heap size.

    0

    Thanks for feedback, I believe we will be able deduce roots of the problem from the snapshot.

    0

    Uploaded the snapshot as 92.53_mp_26.11.2009_14.12.26.zip.

    Settings were 64bit JVM, Xmx 512 MB. When debugging hit a breakpoint, I got an OOM error from WebIDE with these settings, which I chose to ignore. Took the snapshot immediately after closing the OOM dialog.

    This just occurred to me: is it possible that this problem is due to recursive references in the server-side object graph? In this particular project, we use Doctrine 1.2 (doctrine-project.org) for our PHP ORM. It so happens that Doctrine is notorious for its circular dependencies (simply var_dump()ing any Doctrine-loaded entity is sure to kill your browser...). And I got the feeling that the memory problems started the moment I stepped past the line loading the first entity from the ORM.

    0

    OK, we've got it and investigating...

    0

    Howdy

    I have uploaded 2 files

    92.53_brian_27.11.2009_17.14.15_64bit.zip  for the 64Bit with a 320m heap
    and
    92.53_brian_27.11.2009_17.47.24_32bit.zip for a 32bit with a 320m heap.

    Thanks

    0

    Everyone who's affected, please check with the next EAP build.


    0

    Sounds great. Any ETA on that next EAP?

    Regards,
    Michael

    0

    Expecting it this week or the next one.

    Regards,
    Kirill

    0

    Great, thanks for the quick reply.

    Keep up the great work, looking forward to the 1.0 ...
    I don't think I have to tell you about the degree in which WebIDE has made me enjoy PHP development again...?

    Michael

    0

    Please sign in to leave a comment.