History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-19471
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Assignee: Dmitry Jemerov
Reporter: Simon Knott
Votes: 0
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

OutOfMemory Error When Opening an XML file

Created: 05 Sep 08 14:42   Updated: 11 Nov 08 21:37
Component/s: XML editing

File Attachments: 1. Zip Archive 7925_simonk_05.09.2008_11.33.10.zip (2.73 Mb)

Environment: Windows XP, JDK6u6
Issue Links:
Duplicate
This issue duplicates:
IDEADEV-14279 File compare memory hungry Normal Open
 

Build: 7,925
Severity: Extreme


 Description  « Hide
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)



 All   Comments   Work Log   Change History      Sort Order:
Simon Knott - 05 Sep 08 17:28
The hprof dump and the memory snapshot are now both uploaded to the FTP site as:

java_pid12528_IDEA-19471.zip
7925_simonk_05.09.2008_11.33.58_IDEA-19471.zip

If 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.