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