Summary: | [buildpath] External class file folders are sometimes empty | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Olivier Thomann <Olivier_Thomann> | ||||
Component: | Core | Assignee: | Jerome Lanneluc <jerome_lanneluc> | ||||
Status: | VERIFIED WORKSFORME | QA Contact: | |||||
Severity: | major | ||||||
Priority: | P3 | CC: | caniszczyk, jerome_lanneluc, philippe_mulet | ||||
Version: | 3.4 | ||||||
Target Milestone: | 3.5 M2 | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Olivier Thomann
2008-04-23 17:29:16 EDT
Sometimes when I close and reopen the project, the PDE container is then properly initialized. This doesn't work all the times. If I know where the external class file folders are populated, I might be able to debug the problem since I do get it regularly. To debug it, see org.eclipse.jdt.internal.core.PackageFragmentRoot.computeFolderChildren(IContainer, boolean, String[], ArrayList, char[][], char[][]) The pkg fragment root should be an instance of ExternalPackageFragmentRoot. Something is wrong since I never enter this method. I'll continue to investigate. Created attachment 97345 [details]
Logs
These are two logs.
classpath_init.txt is a log when the PDE container could not be properly initialized.
classpath_init2.txt is the same log + all the logged event after the project was closed and reopened. After this, the PDE container was properly initialized. Hopefully this will help to track this down.
These 2 logs show that the container intialization was successful. The problem seems to be in the root's chidren calculation. I was expecting that you would hit computeFolderChildren(). But it looks like something went wrong before. So let's start at an earlier point. Can you please put a breakpoint in org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(Object, IProgressMonitor) ? And activate this brekpoint for the external root only. Is this still critical for 3.4 ? This is critical when it happens. It would be nice to be able to reproduce this. According to bugzilla's help, "critical" corresponds to "crashes, loss of data, severe memory leak". This bug doesn't correspond to this description of "critical". "major" seems more appropriate as it corresponds to "major loss of function". Lowering severity then. Also note that there is no other report of this bug, so it is going to be hard to debug as it looks like it is very specific to your setup. Maybe you can start Eclipse with the following VM argument: "-agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=51001" and contact me when it happens. I'll try to connect to your machine and debug it. Olivier, does this still happen? I am not using this setting right now. Closing for now. Please reopen if you see it again. Verified for 3.5M2 using I20080914-2000 |