2011-01-25 37 views
6

Khi tôi định dạng mã trong netbeans, gần đây tôi đã bắt đầu nhận được lỗi "OutOfMemoryError: Java heap".Netbeans OutOfMemoryError: Vùng heap Java, định dạng mã

Tôi đã sử dụng netbeans trong hơn 2 năm và điều này chỉ mới bắt đầu xảy ra trên máy điển hình mà tôi phát triển. Hiện đang sử dụng phiên bản 6.9, trên máy XP, bộ nhớ 4Gb. Tôi đã điều chỉnh -J-Xmx đến 1024m và thậm chí đã thử 2048m và vẫn gặp lỗi.

Đây là một tập lệnh php nhỏ, ít hơn 100 dòng. Tôi đã không có vấn đề trong quá khứ định dạng 10.000 + dòng mà không cần chỉnh sửa -J-Xmx hoặc bất cứ điều gì khác. Tôi không chạy bất kỳ mã hoặc gỡ lỗi hoặc thử nghiệm đơn vị hoặc bất cứ điều gì, chỉ cần được xây dựng trong Nguồn -> Định dạng.

Tôi đã thử xóa mã để xem có phần cụ thể đang gây ra sự cố hay không. Từ những gì tôi có thể thu thập, nếu tôi thêm một cấu trúc điều khiển duy nhất, bất kể nó có chứa gì, tôi sẽ gặp lỗi bộ nhớ.

Thậm chí:

if($i == 1) {} 

gây ra lỗi bộ nhớ. Nếu tôi kiểm tra việc sử dụng bộ nhớ, Netbeans không có vấn đề gì khi sử dụng hết bộ nhớ có thể. Bất kỳ trợ giúp về điều này sẽ được đánh giá cao.

Dưới đây là stack trace tạo ra khi tôi nhận được lỗi:

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) 

Hình như có một tấn của báo cáo tương tự về vấn đề này: http://statistics.netbeans.org/analytics/exception.do?id=472651

cài đặt 7.0b và cài đặt lại JRE 6 .. hiện đang hoạt động tốt. Sử dụng 7 là 6.9 không sử dụng được khi sử dụng định dạng mã. Vẫn muốn tìm ra cách khắc phục vấn đề này.

+0

Tôi vừa gặp sự cố này! vì vậy pi ** ed! Bạn có tìm thấy bất kỳ ý tưởng nó có thể là gì? Hoặc tôi sẽ phải cài đặt lại bản dựng hàng đêm hoặc phiên bản beta 7.0? – zaf

+0

Tôi đã đi đến 7.0 đêm và nó đã không ổn định hơn 6.1 hoặc 7b. Những gì đang làm việc bây giờ là gỡ bỏ hoàn toàn 6.9 bao gồm tất cả các ưu tiên. Sau đó cài đặt lại. Đó là một nỗi đau lớn đặc biệt là nếu bạn có một loạt các lưu hồ sơ FTP, nhưng nó đã được làm việc. Nếu không, thật dễ dàng để mở một dự án hiện có. – Jestep

Trả lời

3

Tôi đã tìm thấy this NetBeans bug báo cáo sự cố có vẻ giống với sự cố của bạn. Nó bật ra rằng vấn đề là để làm với SVN, và được chữa khỏi bằng cách xóa một thư mục bộ nhớ cache SVN. Đọc qua "nhận xét" của lỗi để biết chi tiết.

+0

Đã kiểm tra báo cáo lỗi. Các svncache/có 3 tập tin hoàn toàn trống rỗng trong nó, vì vậy tôi không nghĩ rằng đó là trường hợp trong tình huống này. – Jestep

+0

@ Jestep - đó chỉ là một lý thuyết. Bạn có thể thử tìm kiếm các báo cáo lỗi khác, v.v ... qua Google ... –

Các vấn đề liên quan