Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Plugin Development Environment (PDE) » Strange dependency cycle error
Strange dependency cycle error [message #53662] Mon, 06 April 2009 14:28 Go to next message
Eclipse UserFriend
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 14:29 Go to previous messageGo to next message
Stefan   is currently offline Stefan Friend
Messages: 316
Registered: July 2009
Senior Member
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 #53713 is a reply to message #53662] Mon, 06 April 2009 14:46 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: eclipse-news.rizzoweb.com

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 #53736 is a reply to message #53688] Mon, 06 April 2009 14:47 Go to previous messageGo to next message
Eclipse UserFriend
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 #53790 is a reply to message #53736] Mon, 06 April 2009 15:04 Go to previous messageGo to next message
Michael Moser is currently offline Michael MoserFriend
Messages: 914
Registered: July 2009
Senior Member
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 #53818 is a reply to message #53713] Mon, 06 April 2009 15:36 Go to previous messageGo to next message
Andrew Niefer is currently offline Andrew NieferFriend
Messages: 990
Registered: July 2009
Senior Member
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 18:26 Go to previous messageGo to next message
Eclipse UserFriend
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 07:35 Go to previous messageGo to next message
Stefan   is currently offline Stefan Friend
Messages: 316
Registered: July 2009
Senior Member
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 16:03 Go to previous messageGo to next message
Eclipse UserFriend
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 #54125 is a reply to message #54098] Wed, 08 April 2009 04:28 Go to previous message
Chris Aniszczyk is currently offline Chris AniszczykFriend
Messages: 674
Registered: July 2009
Senior Member
Eric Rizzo wrote:
> On 4/7/2009 3:35 AM, Stefan Roeck wrote:
> 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?

We're working on a new build and the plan is to make it available on the
"update site" :)


Cheers,

Chris Aniszczyk | EclipseSource Austin | +1 860 839 2465
http://twitter.com/eclipsesource | http://twitter.com/caniszczyk
Re: Strange dependency cycle error [message #594660 is a reply to message #53662] Mon, 06 April 2009 14:29 Go to previous message
Stefan   is currently offline Stefan Friend
Messages: 316
Registered: July 2009
Senior Member
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 14:46 Go to previous message
Eric Rizzo is currently offline Eric RizzoFriend
Messages: 3070
Registered: July 2009
Senior Member
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 14:47 Go to previous message
Eric Rizzo is currently offline Eric RizzoFriend
Messages: 3070
Registered: July 2009
Senior Member
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 15:04 Go to previous message
Michael Moser is currently offline Michael MoserFriend
Messages: 914
Registered: July 2009
Senior Member
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 15:36 Go to previous message
Andrew Niefer is currently offline Andrew NieferFriend
Messages: 990
Registered: July 2009
Senior Member
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 18:26 Go to previous message
Eric Rizzo is currently offline Eric RizzoFriend
Messages: 3070
Registered: July 2009
Senior Member
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 07:35 Go to previous message
Stefan   is currently offline Stefan Friend
Messages: 316
Registered: July 2009
Senior Member
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 16:03 Go to previous message
Eric Rizzo is currently offline Eric RizzoFriend
Messages: 3070
Registered: July 2009
Senior Member
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 #594789 is a reply to message #54098] Wed, 08 April 2009 04:28 Go to previous message
Chris Aniszczyk is currently offline Chris AniszczykFriend
Messages: 674
Registered: July 2009
Senior Member
Eric Rizzo wrote:
> On 4/7/2009 3:35 AM, Stefan Roeck wrote:
> 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?

We're working on a new build and the plan is to make it available on the
"update site" :)


Cheers,

Chris Aniszczyk | EclipseSource Austin | +1 860 839 2465
http://twitter.com/eclipsesource | http://twitter.com/caniszczyk
Previous Topic:How is eclipse tested and built periodically?
Next Topic:Project & editor creation
Goto Forum:
  


Current Time: Thu Mar 28 19:34:12 GMT 2024

Powered by FUDForum. Page generated in 0.03173 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top