| Summary: | Checkstyle Builder hangs in Egit code | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Technology] EGit | Reporter: | Jens Borgland <jens.borgland> | ||||
| Component: | Core | Assignee: | Project Inbox <egit.core-inbox> | ||||
| Status: | RESOLVED INVALID | QA Contact: | |||||
| Severity: | critical | ||||||
| Priority: | P3 | CC: | dariusz.luksza, jens.baumgart, robin.rosenberg | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Jens Borgland
Created attachment 208375 [details]
Thread dump retrieved through JMX (using JConsole)
It seems something time consuming is happening here: org.eclipse.egit.core.synchronize.GitSyncCache.getAllData(GitSyncCache.java:50) org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber.init(GitResourceVariantTreeSubscriber.java:81) org.eclipse.egit.core.internal.GitRepositoryProviderType.getSubscriber(GitRepositoryProviderType.java:48) org.eclipse.team.core.RepositoryProvider.getSubscriber(RepositoryProvider.java:864) net.sf.eclipsecs.core.projectconfig.filters.FilesInSyncFilter.accept(FilesInSyncFilter.java:56) I assume that checkstyle process hangs on some test cases, with one exactly ? From given thread dumps I can only say that synchronization refresh process was started and it is doing some massive diff calculations. Such operations may happen when there is lots of changes to be collected, but AFAIK our test cases doesn't cover such scenario. Any hints when it hangs will be helpful. I've had it running for close to 24 hours now. It doesn't seem to be completely stuck this time (if a repeatedly re-check the status of the thread the WorkingTreeIteration seems to be alternating between computeLength and computeHash) but the performance isn't really what I would expect... It is completely repeatable with the project I'm working on. I tried setting up a new Eclipse workspace and importing the project again (after making a new git clone) but it made no difference. The project is a Java application (approx. 350 KLOC, and of course some other resources like some binaries, XML files etc). My Git clone is about 1.4 GB on disk. Egit works like a charm in all other respects. To me (who doesn't know a thing about how Egit works internally) it seems strange that it would need to do any diff calculations at all? A simple "git status" or similar would provide the list of files that should be included, right? (In reply to comment #3) > I assume that checkstyle process hangs on some test cases, with one exactly ? > > From given thread dumps I can only say that synchronization refresh process was > started and it is doing some massive diff calculations. Such operations may > happen when there is lots of changes to be collected, but AFAIK our test cases > doesn't cover such scenario. Any hints when it hangs will be helpful. Is this still a problem? A lot of work was removed with 342de38e57e3052d3d2f12e93d629bdc63f123be Doesn't hang here, and if it did it would be an issue for checkstyle as it should not hang on a problem, but rather report it. |