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: Wed May 21 13:52:34 EDT 2025
Powered by FUDForum. Page generated in 0.09831 seconds
|