| Summary: | Eclipse hangs when adding an "output location" filter | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Thomas . <spam-receiver> | ||||
| Component: | cdt-core | Assignee: | Project Inbox <cdt-core-inbox> | ||||
| Status: | RESOLVED NOT_ECLIPSE | QA Contact: | Doug Schaefer <cdtdoug> | ||||
| Severity: | critical | ||||||
| Priority: | P3 | CC: | aleherb+eclipse, malaperle | ||||
| Version: | 8.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Thomas .
Created attachment 207786 [details]
Thread Dump generated with JVisualVM
Thread dump taken when Eclipse was hanging (i.e. hourglass, not-responding UI, white menu bar).
I can't reproduce that with a simple project. Is it a big project? (In reply to comment #2) > I can't reproduce that with a simple project. Is it a big project? I would say so: appr. 20000 source files; C, C++, Pascal, Java, Shell etc. The task "Sarching for Binaries" always is stuck on the same file, and it was stuck when I created the thread dump. "Stuck" here means that the task is visible in the "progress" view and the progress indicator keeps running through the bar without any percentage. When I pres the "cancel" button for this task, the "(cancel requested)" appears, but it actually never cancels. Furthermore, when I close Eclipse, it seems to close normally. But when I later logoff from the computer, Windows tells me that a "SWT_Window_Eclipse" cannot be closed--whatever window that is... Cor(In reply to comment #3) > (In reply to comment #2) > > I can't reproduce that with a simple project. Is it a big project? > > I would say so: appr. 20000 source files; C, C++, Pascal, Java, Shell etc. > Correction: It's about 20,000 C/C++ files and 55,000 files in total incl. various other languages, resources etc. The thread dump does not indicate a deadlock. The binary search job seems to be stuck at java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(Unknown Source) at org.eclipse.cdt.internal.core.model.CModelManager.createBinaryFile(CModelManager.java:701) at org.eclipse.cdt.internal.core.model.BinaryRunner$Visitor.visit(BinaryRunner.java:220) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:65) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:75) at org.eclipse.cdt.internal.core.model.BinaryRunner$1.run(BinaryRunner.java:122) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Is the file it is trying to read from special in some way? Is it on a remote share? Can it be opened in a text editor? (In reply to comment #5) > The thread dump does not indicate a deadlock. The binary search job seems to > be stuck at > > java.lang.Thread.State: RUNNABLE > at java.io.FileInputStream.readBytes(Native Method) > at java.io.FileInputStream.read(Unknown Source) > at > org.eclipse.cdt.internal.core.model.CModelManager.createBinaryFile(CModelManager.java:701) > at > org.eclipse.cdt.internal.core.model.BinaryRunner$Visitor.visit(BinaryRunner.java:220) > at > org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:65) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) > at > org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:75) > at > org.eclipse.cdt.internal.core.model.BinaryRunner$1.run(BinaryRunner.java:122) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) > > > Is the file it is trying to read from special in some way? Is it on a remote > share? Can it be opened in a text editor? Well, yes. Further investigation shows: The file in question is hosted on a ClearCase Windows mount. Unlike similar files in the same folder, the specific file cannot be opened on Windows (Explorer, CC Explorer, Eclipse etc.). The same file is accessible via the respective Unix ClearCase mount. Thus, the problem is specific to the file. However, on a lower priority maybe this could be addressed by a timeout supervision or so? (In reply to comment #6) > Thus, the problem is specific to the file. However, on a lower priority maybe > this could be addressed by a timeout supervision or so? We cannot protect all occasions where we read from a file by some timeout policy. That's overkill. |