I am getting an OutOfMemoryError when opening an XML file and it appears to be due to it calculating the difference between the current XML file and the one stored in Subversion. If I make minimal changes, then the error doesn't occur. However, the file is currently very different to the one stored in Subversion. Basically I can't edit the file in IDEA at all currently and if the file is open when I open the project, then IDEA completely hangs - I'm forced to clear the file entry out of the IWS and re-open it.
The error occurs in the latest builds of both Selena and Diana.
I've attached a CPU profile when I open the file. I'm also in the process of uploading a memory snapshot and the hprof heap dump from when the error occurs to the FTP uploads directory.
Exception thrown:
java.lang.OutOfMemoryError: Java heap space
at com.intellij.util.diff.LinkedDiffPaths.copy(LinkedDiffPaths.java:78)
at com.intellij.util.diff.LinkedDiffPaths.incPosition(LinkedDiffPaths.java:71)
at com.intellij.util.diff.LinkedDiffPaths.encodeStep(LinkedDiffPaths.java:59)
at com.intellij.util.diff.IntLCS.encodeStep(IntLCS.java:115)
at com.intellij.util.diff.IntLCS.execute(IntLCS.java:81)
at com.intellij.util.diff.Diff.buildChanges(Diff.java:46)
at com.intellij.openapi.vcs.ex.RangesBuilder.<init>(RangesBuilder.java:19)
at com.intellij.openapi.vcs.ex.RangesBuilder.<init>(RangesBuilder.java:24)
at com.intellij.openapi.vcs.ex.LineStatusTracker.a(LineStatusTracker.java:230)
at com.intellij.openapi.vcs.ex.LineStatusTracker.initialize(LineStatusTracker.java:102)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager$3$1$1.run(LineStatusTrackerManager.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:284)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager$3$1.run(LineStatusTrackerManager.java:6)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:22)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:209)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:7)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:59)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
java_pid12528_
IDEA-19471.zip7925_simonk_05.09.2008_11.33.58_
IDEA-19471.zipIf you want I can send you both versions of the XML file so you can duplicate it - just give me an email address and I will forward them over.