Netbeans OutOfMemoryError: пространство кучи Java, форматирование кода - PullRequest
6 голосов
/ 26 января 2011

Когда я форматировал код в netbeans, я недавно начал получать «OutOfMemoryError: Java heap space» ошибка.

Я использую netbeans уже более 2 лет, и это только начало происходить на типичной машине, на которой я работаю. В настоящее время используется версия 6.9, на машине XP, 4 Гб памяти. Я настроил -J-Xmx на 1024 м и даже пробовал 2048 м, и все равно получаю ошибки.

Это небольшой скрипт php, менее 100 строк. В прошлом у меня не было проблем с форматированием более 10000 строк без редактирования -J-Xmx или чего-либо еще. Я не запускаю ни кода, ни отладки, ни модульного тестирования, ни чего-либо, только встроенный Source -> Format.

Я попытался удалить код, чтобы увидеть, есть ли определенный раздел, который вызывает проблемы. Из того, что я могу извлечь, если я добавляю одну структуру управления, независимо от того, что она содержит, я получаю ошибку памяти.

Даже

if($i == 1) {}

вызывает ошибку памяти. Если я проверю использование памяти, у Netbeans не возникнет проблем с использованием всей доступной памяти. Буду признателен за любую помощь в этом.

Вот трассировка стека, сгенерированная, когда я получаю ошибку:

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)

Похоже, существует множество похожих сообщений на эту проблему: http://statistics.netbeans.org/analytics/exception.do?id=472651

Установил 7.0b и переустановил JRE 6 ... который теперь работает нормально. Использование 7 в качестве 6,9 невозможно при использовании форматирования кода. Хотелось бы еще выяснить, как решить эту проблему.

1 Ответ

3 голосов
/ 26 января 2011

Я обнаружил эту ошибку NetBeans , которая сообщает о проблеме, похожей на вашу.Оказалось, что проблема была связана с SVN и была устранена путем очистки каталога кэша SVN.Прочитайте подробности в комментариях к ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...