Menu

#668 Go To File causes OutOfMemoryError

4: Serious
closed
5
2008-05-02
2008-05-01
Dan Smith
No

This is a large project. Perhaps files are not being released from the cache after their names are found?

java.lang.OutOfMemoryError: Java heap space
at javax.swing.text.AbstractDocument.createLeafElement(AbstractDocument.java:1260)
at javax.swing.text.DefaultStyledDocument$ElementBuffer.insertElement(DefaultStyledDocument.java:1718)
at javax.swing.text.DefaultStyledDocument$ElementBuffer.insertUpdate(DefaultStyledDocument.java:1405)
at javax.swing.text.DefaultStyledDocument$ElementBuffer.insert(DefaultStyledDocument.java:1275)
at javax.swing.text.DefaultStyledDocument.insertUpdate(DefaultStyledDocument.java:635)
at edu.rice.cs.drjava.model.AbstractDJDocument.insertUpdate(AbstractDJDocument.java:1711)
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:731)
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:693)
at edu.rice.cs.util.text.SwingDocument.insertString(SwingDocument.java:168)
at edu.rice.cs.drjava.model.definitions.DefinitionsDocument.insertString(DefinitionsDocument.java:318)
at javax.swing.text.DefaultEditorKit.read(DefaultEditorKit.java:254)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc$2.make(AbstractGlobalModel.java:3098)
at edu.rice.cs.drjava.model.cache.DocumentCache$DocManager.makeDocument(DocumentCache.java:181)
at edu.rice.cs.drjava.model.cache.DocumentCache$DocManager.getDocument(DocumentCache.java:205)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc.getDocument(AbstractGlobalModel.java:2869)
at edu.rice.cs.drjava.model.AbstractGlobalModel$ConcreteOpenDefDoc.getPackageNameFromDocument(AbstractGlobalModel.java:2974)
at edu.rice.cs.drjava.ui.MainFrame$GoToFileListEntry.getFullPackage(MainFrame.java:1096)
at edu.rice.cs.drjava.ui.MainFrame$ClassNameAndPackageEntry.compareTo(MainFrame.java:1067)
at edu.rice.cs.drjava.ui.MainFrame$ClassNameAndPackageEntry.compareTo(MainFrame.java:1058)
at java.util.Arrays.mergeSort(Arrays.java:1167)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:117)
at edu.rice.cs.drjava.ui.predictive.PredictiveInputModel.setList(PredictiveInputModel.java:614)
at edu.rice.cs.drjava.ui.predictive.PredictiveInputModel.<init>(PredictiveInputModel.java:577)
at edu.rice.cs.drjava.ui.predictive.PredictiveInputFrame.setItems(PredictiveInputFrame.java:304)
at edu.rice.cs.drjava.ui.MainFrame$75.actionPerformed(MainFrame.java:1268)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1641)
at edu.rice.cs.drjava.ui.DefinitionsPane.processKeyEvent(DefinitionsPane.java:589)
at java.awt.Component.processEvent(Component.java:5903)
at java.awt.Container.processEvent(Container.java:2102)
at java.awt.Component.dispatchEventImpl(Component.java:4497)
at java.awt.Container.dispatchEventImpl(Container.java:2160)

System Properties:
DrJava Version 20080415-1537
DrJava Revision 4441

drjava.debug.port = 52552
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries
java.vm.version = 1.6.0_05-b13-52
awt.nativeDoubleBuffering = true
gopherProxySet = false
java.vm.vendor = Apple Inc.
java.vendor.url = http://www.apple.com/
path.separator = :
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg = sun.io
user.country = US
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.dir>
java.runtime.version = 1.6.0_05-b13-120
java.awt.graphicsenv = apple.awt.CGraphicsEnvironment
java.endorsed.dirs = /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/endorsed
os.arch = x86_64
edu.rice.cs.drjava.icon = <anonymized user.dir>/DrJava-20080415.app/Contents/Resources/DrJava.icns
apple.awt.graphics.UseOpenGL = false
java.io.tmpdir = /tmp
line.separator = "\u000a"
java.vm.specification.vendor = Sun Microsystems Inc.
os.name = Mac OS X
apple.laf.useScreenMenuBar = true
sun.jnu.encoding = MacRoman
java.library.path = <anonymized user.dir>/DrJava-20080415.app/Contents/Resources/Java:/System/Library/PrivateFrameworks/JavaApplicationLauncher.framework/Resources:.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.specification.name = Java Platform API Specification
java.class.version = 50.0
sun.management.compiler = HotSpot 64-Bit Server Compiler
os.version = 10.5.2
http.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
user.home = <anonymized user.home>
user.timezone = America/Chicago
java.awt.printerjob = apple.awt.CPrinterJob
file.encoding = MacRoman
java.specification.version = 1.6
java.class.path = <anonymized user.dir>/DrJava-20080415.app/Contents/Resources/Java/drjava.jar
user.name = <anonymized user.name>
apple.awt.graphics.UseQuartz = false
java.vm.specification.version = 1.0
java.home = /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
sun.arch.data.model = 64
user.language = en
java.specification.vendor = Sun Microsystems Inc.
awt.toolkit = apple.awt.CToolkit
java.vm.info = mixed mode
java.version = 1.6.0_05
java.ext.dirs = /Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext
sun.boot.class.path = /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/charsets.jar:/System/Library/PrivateFrameworks/JavaApplicationLauncher.framework/Resources/LauncherSupport.jar
java.vendor = Apple Inc.
file.separator = /
java.vendor.url.bug = http://bugreport.apple.com/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
mrj.version = 1040.1.6.0_05-120
socksNonProxyHosts = local|*.local|169.254/16|*.169.254/16
ftp.nonProxyHosts = local|*.local|169.254/16|*.169.254/16
sun.awt.exception.handler = edu.rice.cs.drjava.ui.DrJavaErrorHandler
sun.cpu.isalist =

#DrJava configuration file
#Thu May 01 15:39:19 CDT 2008
key.open.project = command O
key.find.next = command G
key.find.prev = command shift G
key.goto.line = command L
key.goto.file = command shift L
key.previous.document = command UP
key.next.document = command DOWN
key.begin.document = <none>
key.begin.line = command LEFT
key.previous.word = option LEFT
key.delete.next = shift DELETE
key.delete.previous = shift BACK_SPACE
key.end.document = <none>
key.end.line = command RIGHT
key.next.word = option RIGHT
key.follow.file = <none>
find.replace.match.case = false
find.replace.all.documents = true
interactions.exit.prompt = false
quit.prompt = false
open.folder.recursive = true
indent.level = 4
recent.files = [<anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/ant_tasks/BatchTask.java,<anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/ant_tasks/ForegTask.java,<anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/ant_tasks/FortexTask.java,<anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/ant_tasks/FortifyTask.java,<anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/ant_tasks/FortressTask.java]
recent.projects = [<anonymized user.home>/Code/fortress/fortress.xml]
window.height = 776
window.width = 1219
window.x = 0
window.y = 22
window.state = 6
doc.list.width = 305
last.dir = <anonymized user.home>/Code/fortress/trunk/ProjectFortress/src/com/sun/fortress/interpreter/evaluator/types
last.interactions.dir = <anonymized user.home>/Code/fortress
slave.jvm.xmx = 256
dialog.drjava.error.popup.enabled = false
new.version.notification = all versions
new.version.notification.last = 1209653658806

Used memory: about 66.00 megabytes
Free memory: about 14.50 megabytes
Total memory: about 80.50 megabytes
Total memory can expand to: about 80.50 megabytes

Discussion

  • Mathias Ricken

    Mathias Ricken - 2008-05-01

    Logged In: YES
    user_id=1075744
    Originator: NO

    I'll take a look.

     
  • Mathias Ricken

    Mathias Ricken - 2008-05-01

    Logged In: YES
    user_id=1075744
    Originator: NO

    Dan, please try the latest version on the drjavarice site:
    http://www.cs.rice.edu/~javaplt/drjavarice/drjava-050108.jar

    The dialog now uses a cached package name and doesn't request it directly from the document.

    How large is your project? I've monitored memory use with DrJava as project, and building the list for "Go to File" used a negligible amount of memory.

     
  • Mathias Ricken

    Mathias Ricken - 2008-05-02

    Logged In: YES
    user_id=1075744
    Originator: NO

    Fixed as of revision 4462.

     
  • Mathias Ricken

    Mathias Ricken - 2008-05-02
    • assigned_to: nobody --> mgricken
    • status: open --> closed
     

Log in to post a comment.