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

Key: IDEA-13862
Type: Bug Bug
Status: Open Open
Assignee: Alexey Kudravtsev
Reporter: Igor Sereda
Votes: 1
Watchers: 1
Operations

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

Large string literal makes IDEA throw StackOverflowException and become unusable

Created: 25 Jul 07 11:11   Updated: 04 Aug 07 21:17
Component/s: Editor. Editing Text, Code Formatting and Code Style, Local History

Environment: Windows XP

Build: 7,016
Severity: High


 Description  « Hide
Steps to reproduce:
1. Open a project and any Java file, write: String s = "";
2. Now open somewhere a large text file. I'm using a 100KB html file.
3. Copy file contents into clipboard and paste into "" to get a 100KB string literal.

Observed: StackOverflowException (see below)

4. Try to edit the file further, for example use Undo to remove the large string.

Observed: IDEA is slow, a lot of CPU is used. Changes are not saved to disk .

5. Close IDEA, edit file manually to remove the large text, open IDEA and this file again.

Observed: The large string is still there! After I manually pressed sync, it offered to load the updated file from disk, but slowness and CPU consumption remained after that.

Speculation: it has something to do with the local history. I'm going to clear local caches to get IDEA into usable state again.



 All   Comments   Work Log   Change History      Sort Order:
Igor Sereda - 25 Jul 07 11:17
exception:

No message
java.lang.StackOverflowError
at com.intellij.psi.impl.source.tree.CompositeElement.getTextLength(CompositeElement.java:7)
at com.intellij.psi.impl.source.tree.CompositeElement.a(CompositeElement.java:166)
at com.intellij.psi.impl.source.tree.CompositeElement.getTextLength(CompositeElement.java:7)
at com.intellij.psi.impl.source.tree.CompositeElement.a(CompositeElement.java:166)
at com.intellij.psi.impl.source.tree.CompositeElement.getTextLength(CompositeElement.java:7)
at com.intellij.psi.impl.source.tree.CompositeElement.a(CompositeElement.java:166)
at com.intellij.psi.impl.source.tree.CompositeElement.getTextLength(CompositeElement.java:7)

... and so on