2011-01-25 12 views
6

Quando si formatta il codice in netbeans, recentemente ho iniziato a ottenere uno errore "OutOfMemoryError: Java heap space".Netbeans OutOfMemoryError: Java heap space, formattazione del codice

Utilizzo netbeans da più di 2 anni e questo ha iniziato a succedere sul tipico computer su cui sviluppo. Attualmente utilizza la versione 6.9, su una macchina XP, memoria da 4 GB. Ho modificato -J-Xmx a 1024m e ho anche provato a 2048m, e ho ancora errori.

Questo è un piccolo script php, con meno di 100 righe. Non ho avuto problemi nel formattare oltre 10.000 righe senza modificare -J-Xmx o qualsiasi altra cosa. Non sto eseguendo alcun codice o debug o test di unità o altro, solo la sorgente incorporata -> Formato.

Ho provato a rimuovere il codice per vedere se c'era una sezione specifica che causa problemi. Da quello che posso raccogliere, se aggiungo una singola struttura di controllo, indipendentemente da ciò che contiene, ottengo un errore di memoria.

Anche:

if($i == 1) {} 

causa l'errore di memoria. Se controllo l'utilizzo della memoria, Netbeans non ha problemi a utilizzare tutta la memoria che può. Qualsiasi aiuto su questo sarebbe apprezzato.

Ecco la traccia dello stack generato quando ottengo l'errore:

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) 

Sembra che ci sono un sacco di rapporti simili a questo problema: http://statistics.netbeans.org/analytics/exception.do?id=472651

7.0b Installato e reinstallati JRE 6 .. . che ora sta funzionando bene. L'uso di 7 come 6.9 è inutilizzabile quando si utilizza la formattazione del codice. Vorrebbe ancora capire come risolvere questo problema però.

+0

Ho appena avuto questo problema! così pi ** ed! Hai trovato qualche idea su cosa potrebbe essere? O dovrò reinstallare una build notturna o la versione beta 7.0? – zaf

+0

Sono andato alla 7.0 nightly ed era più instabile di 6.1 o 7b. Ciò che funziona per ora è la completa disinstallazione di 6.9 incluse tutte le preferenze. Quindi reinstallare. È un grande dolore, soprattutto se hai un sacco di profili FTP salvati, ma ha funzionato. Altrimenti è facile aprire un progetto esistente. – Jestep

risposta

3

Ho trovato this NetBeans bug che segnala un problema simile al tuo. Si è scoperto che il problema aveva a che fare con SVN ed è stato risolto eliminando una directory della cache SVN. Leggi i "commenti" del bug per i dettagli.

+0

Controllato il bug report. La svncache/contiene 3 file completamente vuoti, quindi non penso che sia il caso in questa situazione. – Jestep

+0

@Jestep - era solo una teoria. Potresti provare a cercare altri bug report, ecc. Via Google ... –

Problemi correlati