Home » Eclipse Projects » Plugin Development Environment (PDE) » Strange dependency cycle error 
| Strange dependency cycle error [message #53662] | 
Mon, 06 April 2009 10:28   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: eclipse-news.rizzoweb.com 
 
When trying to export our RCP, we're getting a dependency cycle error,  
saying PluginD > PluginU > PluginD. 
The odd thing is, we can't find any dependency from PluginU to PluginD.  
I've got the plugin dependency visualizer and it doesn't find any such  
path; I've examined each of PluginU's dependencies and can't find any  
that depend on PluginD. 
I can not reference any of PluginD's classes from code in PluginU. 
If I open the Plug-in Dependencies view, root it at PluginD, and set it  
to show dependent plugins, it does list PluginU, but there is definitely  
no reference to PluginD in PluginU's manifest. 
 
Any hints on how to track down the source of this seemingly phantom  
dependency cycle? 
 
TIA, 
Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #53688 is a reply to message #53662] | 
Mon, 06 April 2009 10:29    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Maybe PluginD is a fragment for PluginC? Just a wild guess... 
 
Regards, 
Stefan. 
 
Eric Rizzo schrieb: 
> When trying to export our RCP, we're getting a dependency cycle error,  
> saying PluginD > PluginU > PluginD. 
> The odd thing is, we can't find any dependency from PluginU to PluginD.  
> I've got the plugin dependency visualizer and it doesn't find any such  
> path; I've examined each of PluginU's dependencies and can't find any  
> that depend on PluginD. 
> I can not reference any of PluginD's classes from code in PluginU. 
> If I open the Plug-in Dependencies view, root it at PluginD, and set it  
> to show dependent plugins, it does list PluginU, but there is definitely  
> no reference to PluginD in PluginU's manifest. 
>  
> Any hints on how to track down the source of this seemingly phantom  
> dependency cycle? 
>  
> TIA, 
> Eric
 |  
 |  
  |   |  
| Re: Strange dependency cycle error [message #53736 is a reply to message #53688] | 
Mon, 06 April 2009 10:47    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: eclipse-news.rizzoweb.com 
 
On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
 
Thanks, but neither of these is a fragment or hosts any fragments. 
 
 
> Eric Rizzo schrieb: 
>> When trying to export our RCP, we're getting a dependency cycle error, 
>> saying PluginD > PluginU > PluginD. 
>> The odd thing is, we can't find any dependency from PluginU to 
>> PluginD. I've got the plugin dependency visualizer and it doesn't find 
>> any such path; I've examined each of PluginU's dependencies and can't 
>> find any that depend on PluginD. 
>> I can not reference any of PluginD's classes from code in PluginU. 
>> If I open the Plug-in Dependencies view, root it at PluginD, and set 
>> it to show dependent plugins, it does list PluginU, but there is 
>> definitely no reference to PluginD in PluginU's manifest. 
>> 
>> Any hints on how to track down the source of this seemingly phantom 
>> dependency cycle? 
>> 
>> TIA, 
>> Eric
 |  
 |  
  |   |  
| Re: Strange dependency cycle error [message #53818 is a reply to message #53713] | 
Mon, 06 April 2009 11:36    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Does perhaps PluginU depend on some other PluginZ which is re-exporting  
packages from PluginD. (And PluginU also imports the packages it exports). 
 
If you are brave and really stuck, you can try running the export under  
a debugger to see how build reached the cycle. 
1) In a different workspace, import org.eclipse.pde.build 
2) Set a breakpoint in ClasspathComputer3_0.getClasspath when the  
BundleDescription#getSymbolicName is PluginU 
3) Launch a self-hosted debug instance, you can point the workspace at  
your normal workspace 
4) Export the product, step through the classpath resolution 
 
Cycles are detected in addPrerequisites, you'll be interested in the  
recursive loop between addPrerequisites and addPluginAndPrerequisites. 
The call to PDEState.getDependentBundles is how we get the dependencies. 
 
-Andrew 
 
Eric Rizzo wrote: 
> On 4/6/2009 10:28 AM, Eric Rizzo wrote: 
>> When trying to export our RCP, we're getting a dependency cycle error, 
>> saying PluginD > PluginU > PluginD. 
>> The odd thing is, we can't find any dependency from PluginU to PluginD. 
>> I've got the plugin dependency visualizer and it doesn't find any such 
>> path; I've examined each of PluginU's dependencies and can't find any 
>> that depend on PluginD. 
>> I can not reference any of PluginD's classes from code in PluginU. 
>> If I open the Plug-in Dependencies view, root it at PluginD, and set it 
>> to show dependent plugins, it does list PluginU, but there is definitely 
>> no reference to PluginD in PluginU's manifest. 
>> 
>> Any hints on how to track down the source of this seemingly phantom 
>> dependency cycle? 
>  
> Another data point: Using the "Look for cycles in the dependency graph"  
> link on the Dependencies tab does not find any (tried for both plugins). 
>  
> Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #53891 is a reply to message #53736] | 
Mon, 06 April 2009 14:26    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: eclipse-news.rizzoweb.com 
 
On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
> 
> Thanks, but neither of these is a fragment or hosts any fragments. 
 
I spoke too soon; I had forgotten that our unit tests are located in  
fragments (and since they don't have a fragment.xml, only a manifest.mf,  
I didn't find them when I looked). 
Turns out that one of the unit test fragments is hosted by PluginU, and  
a new test had recently been added that depends on PluginD. Hence the cycle. 
 
Looks like this is a bug or gap in functionality in the Dependency  
Visualization, which I'll report. But does anyone else think that PDE  
should do something to alert you to this problem before an export is  
attempted and in a more useful way? 
 
Eric 
 
 
> 
> 
>> Eric Rizzo schrieb: 
>>> When trying to export our RCP, we're getting a dependency cycle error, 
>>> saying PluginD > PluginU > PluginD. 
>>> The odd thing is, we can't find any dependency from PluginU to 
>>> PluginD. I've got the plugin dependency visualizer and it doesn't find 
>>> any such path; I've examined each of PluginU's dependencies and can't 
>>> find any that depend on PluginD. 
>>> I can not reference any of PluginD's classes from code in PluginU. 
>>> If I open the Plug-in Dependencies view, root it at PluginD, and set 
>>> it to show dependent plugins, it does list PluginU, but there is 
>>> definitely no reference to PluginD in PluginU's manifest. 
>>> 
>>> Any hints on how to track down the source of this seemingly phantom 
>>> dependency cycle? 
>>> 
>>> TIA, 
>>> Eric 
>
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #54048 is a reply to message #53891] | 
Tue, 07 April 2009 03:35    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Eric, 
 
that's why, fragments where my first thought. Actually, I fixed a bug in  
Dependency Visualizer concerning fragments some days ago - however, if  
it still persists with current CVS head, please reopen 270864. 
 
Regards, 
Stefan. 
 
 
Eric Rizzo schrieb: 
> On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
>> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
>> 
>> Thanks, but neither of these is a fragment or hosts any fragments. 
>  
> I spoke too soon; I had forgotten that our unit tests are located in  
> fragments (and since they don't have a fragment.xml, only a manifest.mf,  
> I didn't find them when I looked). 
> Turns out that one of the unit test fragments is hosted by PluginU, and  
> a new test had recently been added that depends on PluginD. Hence the  
> cycle. 
>  
> Looks like this is a bug or gap in functionality in the Dependency  
> Visualization, which I'll report. But does anyone else think that PDE  
> should do something to alert you to this problem before an export is  
> attempted and in a more useful way? 
>  
> Eric 
>  
>
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #54098 is a reply to message #54048] | 
Tue, 07 April 2009 12:03    | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Originally posted by: eclipse-news.rizzoweb.com 
 
On 4/7/2009 3:35 AM, Stefan Roeck wrote: 
> Eric, 
> 
> that's why, fragments where my first thought. Actually, I fixed a bug in 
> Dependency Visualizer concerning fragments some days ago - however, if 
> it still persists with current CVS head, please reopen 270864. 
 
I'm using version 0.1.0.20071004 that I installed from  
 http://download.eclipse.org/eclipse/pde/incubator/visualizat ion/site 
So I won't be seeing any recent changes. Since we're on the topic, is  
there any plan to do a new build of the visualizer and make it available  
on the update site? 
 
 
 
> Eric Rizzo schrieb: 
>> On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
>>> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>>>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
>>> 
>>> Thanks, but neither of these is a fragment or hosts any fragments. 
>> 
>> I spoke too soon; I had forgotten that our unit tests are located in 
>> fragments (and since they don't have a fragment.xml, only a 
>> manifest.mf, I didn't find them when I looked). 
>> Turns out that one of the unit test fragments is hosted by PluginU, 
>> and a new test had recently been added that depends on PluginD. Hence 
>> the cycle. 
>> 
>> Looks like this is a bug or gap in functionality in the Dependency 
>> Visualization, which I'll report. But does anyone else think that PDE 
>> should do something to alert you to this problem before an export is 
>> attempted and in a more useful way? 
>> 
>> Eric 
>> 
>>
 |  
 |  
  |   |  
| Re: Strange dependency cycle error [message #594660 is a reply to message #53662] | 
Mon, 06 April 2009 10:29   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Maybe PluginD is a fragment for PluginC? Just a wild guess... 
 
Regards, 
Stefan. 
 
Eric Rizzo schrieb: 
> When trying to export our RCP, we're getting a dependency cycle error,  
> saying PluginD > PluginU > PluginD. 
> The odd thing is, we can't find any dependency from PluginU to PluginD.  
> I've got the plugin dependency visualizer and it doesn't find any such  
> path; I've examined each of PluginU's dependencies and can't find any  
> that depend on PluginD. 
> I can not reference any of PluginD's classes from code in PluginU. 
> If I open the Plug-in Dependencies view, root it at PluginD, and set it  
> to show dependent plugins, it does list PluginU, but there is definitely  
> no reference to PluginD in PluginU's manifest. 
>  
> Any hints on how to track down the source of this seemingly phantom  
> dependency cycle? 
>  
> TIA, 
> Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594675 is a reply to message #53662] | 
Mon, 06 April 2009 10:46   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
On 4/6/2009 10:28 AM, Eric Rizzo wrote: 
> When trying to export our RCP, we're getting a dependency cycle error, 
> saying PluginD > PluginU > PluginD. 
> The odd thing is, we can't find any dependency from PluginU to PluginD. 
> I've got the plugin dependency visualizer and it doesn't find any such 
> path; I've examined each of PluginU's dependencies and can't find any 
> that depend on PluginD. 
> I can not reference any of PluginD's classes from code in PluginU. 
> If I open the Plug-in Dependencies view, root it at PluginD, and set it 
> to show dependent plugins, it does list PluginU, but there is definitely 
> no reference to PluginD in PluginU's manifest. 
> 
> Any hints on how to track down the source of this seemingly phantom 
> dependency cycle? 
 
Another data point: Using the "Look for cycles in the dependency graph"  
link on the Dependencies tab does not find any (tried for both plugins). 
 
Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594684 is a reply to message #53688] | 
Mon, 06 April 2009 10:47   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
 
Thanks, but neither of these is a fragment or hosts any fragments. 
 
 
> Eric Rizzo schrieb: 
>> When trying to export our RCP, we're getting a dependency cycle error, 
>> saying PluginD > PluginU > PluginD. 
>> The odd thing is, we can't find any dependency from PluginU to 
>> PluginD. I've got the plugin dependency visualizer and it doesn't find 
>> any such path; I've examined each of PluginU's dependencies and can't 
>> find any that depend on PluginD. 
>> I can not reference any of PluginD's classes from code in PluginU. 
>> If I open the Plug-in Dependencies view, root it at PluginD, and set 
>> it to show dependent plugins, it does list PluginU, but there is 
>> definitely no reference to PluginD in PluginU's manifest. 
>> 
>> Any hints on how to track down the source of this seemingly phantom 
>> dependency cycle? 
>> 
>> TIA, 
>> Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594701 is a reply to message #53736] | 
Mon, 06 April 2009 11:04   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
I had that once, too and it also drove me nuts for hours. In the end it helped to close and reopen the projects... Give it a try! 
 
Michael 
 
PS.: Sometimes the caching of data should be really forbidden!
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594706 is a reply to message #53713] | 
Mon, 06 April 2009 11:36   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Does perhaps PluginU depend on some other PluginZ which is re-exporting  
packages from PluginD. (And PluginU also imports the packages it exports). 
 
If you are brave and really stuck, you can try running the export under  
a debugger to see how build reached the cycle. 
1) In a different workspace, import org.eclipse.pde.build 
2) Set a breakpoint in ClasspathComputer3_0.getClasspath when the  
BundleDescription#getSymbolicName is PluginU 
3) Launch a self-hosted debug instance, you can point the workspace at  
your normal workspace 
4) Export the product, step through the classpath resolution 
 
Cycles are detected in addPrerequisites, you'll be interested in the  
recursive loop between addPrerequisites and addPluginAndPrerequisites. 
The call to PDEState.getDependentBundles is how we get the dependencies. 
 
-Andrew 
 
Eric Rizzo wrote: 
> On 4/6/2009 10:28 AM, Eric Rizzo wrote: 
>> When trying to export our RCP, we're getting a dependency cycle error, 
>> saying PluginD > PluginU > PluginD. 
>> The odd thing is, we can't find any dependency from PluginU to PluginD. 
>> I've got the plugin dependency visualizer and it doesn't find any such 
>> path; I've examined each of PluginU's dependencies and can't find any 
>> that depend on PluginD. 
>> I can not reference any of PluginD's classes from code in PluginU. 
>> If I open the Plug-in Dependencies view, root it at PluginD, and set it 
>> to show dependent plugins, it does list PluginU, but there is definitely 
>> no reference to PluginD in PluginU's manifest. 
>> 
>> Any hints on how to track down the source of this seemingly phantom 
>> dependency cycle? 
>  
> Another data point: Using the "Look for cycles in the dependency graph"  
> link on the Dependencies tab does not find any (tried for both plugins). 
>  
> Eric
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594728 is a reply to message #53736] | 
Mon, 06 April 2009 14:26   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
> 
> Thanks, but neither of these is a fragment or hosts any fragments. 
 
I spoke too soon; I had forgotten that our unit tests are located in  
fragments (and since they don't have a fragment.xml, only a manifest.mf,  
I didn't find them when I looked). 
Turns out that one of the unit test fragments is hosted by PluginU, and  
a new test had recently been added that depends on PluginD. Hence the cycle. 
 
Looks like this is a bug or gap in functionality in the Dependency  
Visualization, which I'll report. But does anyone else think that PDE  
should do something to alert you to this problem before an export is  
attempted and in a more useful way? 
 
Eric 
 
 
> 
> 
>> Eric Rizzo schrieb: 
>>> When trying to export our RCP, we're getting a dependency cycle error, 
>>> saying PluginD > PluginU > PluginD. 
>>> The odd thing is, we can't find any dependency from PluginU to 
>>> PluginD. I've got the plugin dependency visualizer and it doesn't find 
>>> any such path; I've examined each of PluginU's dependencies and can't 
>>> find any that depend on PluginD. 
>>> I can not reference any of PluginD's classes from code in PluginU. 
>>> If I open the Plug-in Dependencies view, root it at PluginD, and set 
>>> it to show dependent plugins, it does list PluginU, but there is 
>>> definitely no reference to PluginD in PluginU's manifest. 
>>> 
>>> Any hints on how to track down the source of this seemingly phantom 
>>> dependency cycle? 
>>> 
>>> TIA, 
>>> Eric 
>
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594764 is a reply to message #53891] | 
Tue, 07 April 2009 03:35   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
Eric, 
 
that's why, fragments where my first thought. Actually, I fixed a bug in  
Dependency Visualizer concerning fragments some days ago - however, if  
it still persists with current CVS head, please reopen 270864. 
 
Regards, 
Stefan. 
 
 
Eric Rizzo schrieb: 
> On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
>> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
>> 
>> Thanks, but neither of these is a fragment or hosts any fragments. 
>  
> I spoke too soon; I had forgotten that our unit tests are located in  
> fragments (and since they don't have a fragment.xml, only a manifest.mf,  
> I didn't find them when I looked). 
> Turns out that one of the unit test fragments is hosted by PluginU, and  
> a new test had recently been added that depends on PluginD. Hence the  
> cycle. 
>  
> Looks like this is a bug or gap in functionality in the Dependency  
> Visualization, which I'll report. But does anyone else think that PDE  
> should do something to alert you to this problem before an export is  
> attempted and in a more useful way? 
>  
> Eric 
>  
>
 |  
 |  
  |  
| Re: Strange dependency cycle error [message #594780 is a reply to message #54048] | 
Tue, 07 April 2009 12:03   | 
 
Eclipse User  | 
 | 
 | 
   | 
 
On 4/7/2009 3:35 AM, Stefan Roeck wrote: 
> Eric, 
> 
> that's why, fragments where my first thought. Actually, I fixed a bug in 
> Dependency Visualizer concerning fragments some days ago - however, if 
> it still persists with current CVS head, please reopen 270864. 
 
I'm using version 0.1.0.20071004 that I installed from  
 http://download.eclipse.org/eclipse/pde/incubator/visualizat ion/site 
So I won't be seeing any recent changes. Since we're on the topic, is  
there any plan to do a new build of the visualizer and make it available  
on the update site? 
 
 
 
> Eric Rizzo schrieb: 
>> On 4/6/2009 10:47 AM, Eric Rizzo wrote: 
>>> On 4/6/2009 10:29 AM, Stefan Roeck wrote: 
>>>> Maybe PluginD is a fragment for PluginC? Just a wild guess... 
>>> 
>>> Thanks, but neither of these is a fragment or hosts any fragments. 
>> 
>> I spoke too soon; I had forgotten that our unit tests are located in 
>> fragments (and since they don't have a fragment.xml, only a 
>> manifest.mf, I didn't find them when I looked). 
>> Turns out that one of the unit test fragments is hosted by PluginU, 
>> and a new test had recently been added that depends on PluginD. Hence 
>> the cycle. 
>> 
>> Looks like this is a bug or gap in functionality in the Dependency 
>> Visualization, which I'll report. But does anyone else think that PDE 
>> should do something to alert you to this problem before an export is 
>> attempted and in a more useful way? 
>> 
>> Eric 
>> 
>>
 |  
 |  
  |   |   
Goto Forum:
 
 Current Time: Tue Nov 04 08:15:11 EST 2025 
 Powered by  FUDForum. Page generated in 0.34703 seconds  
 |