2011-01-25 5 views
6

Cuando formato código en netbeans, recientemente comencé a obtener un "OutOfMemoryError: espacio en heap Java" error.Netbeans OutOfMemoryError: espacio de almacenamiento dinámico de Java, formato de código

He estado usando netbeans durante más de 2 años y esto comenzó a suceder en la máquina típica en la que desarrollo. Actualmente utilizando la versión 6.9, en una máquina XP, memoria de 4Gb. He ajustado -J-Xmx a 1024m e incluso intenté 2048m, y todavía recibo errores.

Este es un pequeño script php, menos de 100 líneas. No he tenido problemas en el pasado al formatear más de 10.000 líneas sin editar -J-Xmx o cualquier otra cosa. No estoy ejecutando ningún código o depuración o prueba de unidad ni nada, solo la fuente incorporada -> Formato.

He intentado eliminar el código para ver si había una sección específica que está causando problemas. Por lo que puedo deducir, si agrego una sola estructura de control, sin importar lo que contenga, aparece un error de memoria.

Incluso:

if($i == 1) {} 

hace que el error de memoria. Si controlo el uso de la memoria, Netbeans no tiene problemas para usar toda la memoria que pueda. Cualquier ayuda en esto sería apreciada.

Aquí está el seguimiento de la pila que se genera cuando se produce el error:

java.lang.OutOfMemoryError: Java heap space 
    at org.netbeans.modules.php.editor.indent.FormatVisitor.addFormatToken(FormatVisitor.java:1002) 
    at org.netbeans.modules.php.editor.indent.FormatVisitor.visit(FormatVisitor.java:859) 
    at org.netbeans.modules.php.editor.parser.astnodes.Program.accept(Program.java:92) 
    at org.netbeans.modules.php.editor.indent.TokenFormatter$1.run(TokenFormatter.java:354) 
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:314) 
    at org.netbeans.modules.php.editor.indent.TokenFormatter.reformat(TokenFormatter.java:344) 
    at org.netbeans.modules.php.editor.indent.PHPFormatter.reformat(PHPFormatter.java:129) 
    at org.netbeans.modules.csl.core.GsfReformatTask$1.run(GsfReformatTask.java:105) 
    at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:154) 
    at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:138) 
    at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:200) 
    at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:197) 
    at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:160) 
    at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:227) 
    at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:66) 
    at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:197) 
    at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:106) 
    at org.netbeans.modules.csl.core.GsfReformatTask.reformat(GsfReformatTask.java:95) 
    at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.runTask(TaskHandler.java:550) 
    at org.netbeans.modules.editor.indent.TaskHandler.runTasks(TaskHandler.java:317) 
    at org.netbeans.modules.editor.indent.IndentImpl.reformat(IndentImpl.java:320) 
    at org.netbeans.modules.editor.indent.FormatterImpl.reformat(FormatterImpl.java:190) 
    at org.netbeans.editor.ActionFactory$FormatAction$1$1.run(ActionFactory.java:1683) 
    at org.netbeans.editor.GuardedDocument.runAtomicAsUser(GuardedDocument.java:344) 
    at org.netbeans.editor.ActionFactory$FormatAction$1.run(ActionFactory.java:1651) 
    at org.netbeans.modules.progress.ui.RunOffEDTImpl$1.run(RunOffEDTImpl.java:160) 
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418) 
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1957) 

Parece que hay un montón de informes similares a este tema: http://statistics.netbeans.org/analytics/exception.do?id=472651

7.0b Instalado y vuelven a instalar JRE 6 .. .que ahora está funcionando bien. Usar 7 como 6.9 no se puede usar cuando se usa el formato de código. Sin embargo, todavía me gustaría descubrir cómo solucionar este problema.

+0

¡Acabo de recibir este problema! así que pi ** ed! ¿Encontraste alguna idea de lo que podría ser? ¿O tendré que volver a instalar una compilación nocturna o la versión beta 7.0? – zaf

+0

Fui a la 7.0 cada noche y era más inestable que 6.1 o 7b. Lo que está funcionando por ahora es desinstalar 6.9 por completo, incluidas todas las preferencias. Luego vuelve a instalar. Es un gran dolor, especialmente si tiene muchos perfiles FTP guardados, pero ha estado funcionando. De lo contrario, es fácil abrir un proyecto existente. – Jestep

Respuesta

3

Encontré this NetBeans bug que informa un problema que suena similar al suyo. Resultó que el problema tenía que ver con SVN y se solucionó borrando un directorio de caché SVN. Lea los "comentarios" del error para los detalles.

+0

Comprueba el informe de errores. El svncache/tiene 3 archivos completamente vacíos, así que no creo que sea el caso en esta situación. – Jestep

+0

@Jestep: era solo una teoría. Podría intentar buscar otros informes de errores, etc. a través de Google ... –

Cuestiones relacionadas