javaheap-memoryjdeveloper

JDeveloper Heap Out of Memory


I am getting the following error when I open a particular project in JDeveloper

Uncaught exception
java.lang.OutOfMemoryError: Java heap space
  j.util.Arrays.copyOf(Arrays.java:2882)
  j.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
  j.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
  j.lang.StringBuffer.append(StringBuffer.java:224)
  org.tmatesoft.svn.core.SVNErrorMessage.getFullMessage(SVNErrorMessage.java:257)
  org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:58)
  org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaFactory.open(SVNAdminAreaFactory.java:163)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:364)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:272)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:265)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.openAnchor(SVNWCAccess.java:145)
  org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:320)
  org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:296)
  org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:278)
  org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:480)
  org.tigris.subversion.svnclientadapter.svnkit.SvnKitClientAdapter.getStatus(SvnKitClientAdapter.java:141)
  org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:466)
  o.ji.vcs.svn.SVNURLInfoCacheSimpleStrategy.getURLInfo(SVNURLInfoCacheSimpleStrategy.java:79)
  o.ji.vcs.svn.SVNURLInfoCache.getLastChangedRevision(SVNURLInfoCache.java:69)
  o.ji.vcs.svn.SVNOverlayProducer.createTooltip(SVNOverlayProducer.java:240)
  o.ji.vcs.svn.SVNOverlayProducer.getDecoratedOverlay(SVNOverlayProducer.java:144)
  o.ji.vcs.svn.SVNOverlayProducer.produceOverlay(SVNOverlayProducer.java:113)
  o.j.vcs.spi.VCSOverlayItemProducer.produceOverlays(VCSOverlayItemProducer.java:83)
  o.j.vcs.spi.VCSOverlayItemProducer.getOverlayItems(VCSOverlayItemProducer.java:65)
  o.j.vcs.spi.VCSNodeOverlayTracker.getOverlays(VCSNodeOverlayTracker.java:288)
  o.i.explorer.IconOverlayTracker.processPendingNodes(IconOverlayTracker.java:574)
  o.i.explorer.IconOverlayTracker.access$1400(IconOverlayTracker.java:69)
  o.i.explorer.IconOverlayTracker$7.run(IconOverlayTracker.java:487)
  j.util.TimerThread.mainLoop(Timer.java:512)
  j.util.TimerThread.run(Timer.java:462)

I have updated the jdev.conf file to include the following, but still receive the error:

AddVMOption  -XX:MaxPermSize=512M
AddVMOption -Xmx512M
AddVMOption -Xms512M

Furthermore, this project opens just fine without issue on a colleague's computer, where the jdev.conf file -XX:MaxPermSize=512M switch is set to 256M and the other 2 switches are not present.

I've spent the afternoon playing with different settings, trying to discover the difference, and I am left stumped. Is there something I'm missing? When I try to bump the setting to higher memory limits, JDeveloper fails to start the Java machine (I suspect that is related to memory allocated to Java itself), though it shouldn't be necessary, as the app works fine on my coworker's computer with half the memory allocated to JDeveloper.


Solution

  • Egh. Simple, REALLY obvious solution that we just somehow overlooked. He is running an older version of JDeveloper. Installed that version, everything works.