This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Spurious error badges using autoproject | ||
---|---|---|---|
Product: | projects | Reporter: | Jesse Glick <jglick> |
Component: | Autoproject | Assignee: | Jesse Glick <jglick> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | issues, richunger |
Priority: | P3 | ||
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 121950 | ||
Attachments: | Test project |
Description
Jesse Glick
2008-06-20 23:44:50 UTC
Created attachment 63190 [details]
Test project
In my actual sources, the error badge autocorrection actually creates an infinite loop (the autocorrection doesn't work, and keeps being attempted): http://www.netbeans.org/issues/show_bug.cgi?id=136047 Unfortunately, I haven't managed to create a test case to reproduce this outside of using the entire sfdc (closed source) tree. However, there's a pretty good chance that eliminating the initial problem here will prevent the loop. Still, the fact that error badge autocorrection doesn't contain a guaranteed termination condition seems pretty bad. The problem seems to be that there is a cyclic dependency (based on the queries results) between src2 and src2b: src2 depends on /tmp/patchery/build/clz2:/tmp/patchery/build/clz1 which maps to /tmp/patchery/src2:/tmp/patchery/src2b:/tmp/patchery/src1 src2b depends on /tmp/patchery/build/clz2:/tmp/patchery/build/clz1 which maps to /tmp/patchery/src2:/tmp/patchery/src2b:/tmp/patchery/src1 The source classpath of src2 does not contain src2b and vice versa, so these two source roots are not part of the same compilation unit. There is no reasonable order in which these two source roots should be compiled, so the order is undefined inside the IDE, which leads into semi-incorrect error badges. The source roots either needs to represent one compilation unit (i.e. have common source path) or it needs to be possible to order the source roots. I'll see if that works. Basically what is wanted is for the following properties to be changed: /tmp/patchery/src2#source=/tmp/patchery/src2:/tmp/patchery/src2b /tmp/patchery/src2b#source=/tmp/patchery/src2:/tmp/patchery/src2b /tmp/patchery/src3#source=/tmp/patchery/src3:/tmp/patchery/src3b /tmp/patchery/src3b#source=/tmp/patchery/src3:/tmp/patchery/src3b The use cases in our real source depot for this are all of the form "src" and "src-gen" compiling to the same "classes" dir. It is always the case that src-gen is compiled first, and uses as a basis for the src tree (an antlr-generated parser, for instance). Probably there are better ways to lay this out, but this is the way the ant script is written, and I'm not really in a position to change that. Should be fixed in contrib #5ebf4711ac53 for this case at least; changing project to report src2 & src2b as one compilation unit, also src3 & src3b. |