Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Platform » Detected recursive attempt by part ProjectNavigatorViewPart to create itself
Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293884] Tue, 01 November 2005 15:34 Go to next message
Eclipse UserFriend
Originally posted by: Lamont_Gilbert.rigidsoftware.com

This is a multi-part message in MIME format.
--------------020006090702010308010108
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

What is this trying to tell me? I been seeing it for a while now so I
guess its time to fix it!?


I attached a log. Stupid linux is a headache to copy and paste in...


CL

--------------020006090702010308010108
Content-Type: text/plain;
name="log.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="log.txt"

!SESSION 2005-10-27 16:10:30.515 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.4.2_09
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -application com.rgdsft.wadgui.application -pdelaunch
Command-line arguments: -application com.rgdsft.wadgui.application -data C:\stuff\Eclipse\runtime-WAD -dev file:C:/stuff/Eclipse/workspace/.metadata/.plugins/org.eclip se.pde.core/WAD Assert/dev.properties -pdelaunch -consoleLog -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui 4 0 2005-10-27 16:10:33.931
!MESSAGE Warning: Detected recursive attempt by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is probably, but not necessarily, a bug)
!STACK 1
org.eclipse.ui.PartInitException: Warning: Detected recursive attempt by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is probably, but not necessarily, a bug)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:543)
at org.eclipse.ui.internal.ViewReference.getView(ViewReference. java:152)
at org.eclipse.ui.internal.WorkbenchPage.findView(WorkbenchPage .java:1598)
at org.eclipse.ui.internal.PagePartSelectionTracker.<init>(PagePartSelectionTracker.java:59)
at org.eclipse.ui.internal.PageSelectionService.createPartTrack er(PageSelectionService.java:48)
at org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
at org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)
at org.eclipse.ui.internal.WorkbenchPage.addSelectionListener(W orkbenchPage.java:642)
at org.eclipse.ui.internal.WindowPartSelectionTracker.pageOpene d(WindowPartSelectionTracker.java:85)
at org.eclipse.ui.internal.WindowPartSelectionTracker.<init>(WindowPartSelectionTracker.java:63)
at org.eclipse.ui.internal.WindowSelectionService.createPartTra cker(WindowSelectionService.java:51)
at org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
at org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)
at com.rgdsft.wadgui.view.projectview.ProjectNavigatorViewPart. init(ProjectNavigatorViewPart.java:137)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewR eference.java:280)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReferen ce.java:180)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:552)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:28 3)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:51 2)
at org.eclipse.ui.internal.presentations.PresentablePart.setVis ible(PresentablePart.java:126)
at org.eclipse.ui.internal.presentations.util.PresentablePartFo lder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrd er.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresen tation.selectPart(TabbedStackPresentation.java:391)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:1102)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:591)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:528)
at org.eclipse.ui.internal.PartSashContainer.createControl(Part SashContainer.java:485)
at org.eclipse.ui.internal.PerspectiveHelper.activate(Perspecti veHelper.java:230)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.j ava:813)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPa ge.java:2201)
at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindo w.java:2356)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(Workbe nchWindow.java:2338)
at org.eclipse.ui.internal.WorkbenchWindow.restoreState(Workben chWindow.java:1861)
at org.eclipse.ui.internal.Workbench.doRestoreState(Workbench.j ava:2566)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.jav a:1503)
at org.eclipse.ui.internal.Workbench.access$12(Workbench.java:1 491)
at org.eclipse.ui.internal.Workbench$17.run(Workbench.java:1374 )
at org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.jav a:1318)
at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState(Wor kbenchConfigurer.java:183)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Work benchAdvisor.java:700)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:143)
at com.rgdsft.wadgui.WADApplication.run(WADApplication.java:20)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
!SUBENTRY 1 org.eclipse.ui 4 0 2005-10-27 16:10:33.941
!MESSAGE Warning: Detected recursive attempt by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is probably, but not necessarily, a bug)
--------------020006090702010308010108--
Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293889 is a reply to message #293884] Tue, 01 November 2005 17:15 Go to previous messageGo to next message
Paul Webster is currently offline Paul WebsterFriend
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

CL [dnoyeb] Gilbert wrote:
>
> !ENTRY org.eclipse.ui 4 0 2005-10-27 16:10:33.931
> !MESSAGE Warning: Detected recursive attempt by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is probably, but not necessarily, a bug)
> !STACK 1
> org.eclipse.ui.PartInitException: Warning: Detected recursive attempt by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is probably, but not necessarily, a bug)
> at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:543)
> at org.eclipse.ui.internal.ViewReference.getView(ViewReference. java:152)
> at org.eclipse.ui.internal.WorkbenchPage.findView(WorkbenchPage .java:1598)
> at org.eclipse.ui.internal.PagePartSelectionTracker.<init>(PagePartSelectionTracker.java:59)
> at org.eclipse.ui.internal.PageSelectionService.createPartTrack er(PageSelectionService.java:48)
> at org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
> at org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)
> at org.eclipse.ui.internal.WorkbenchPage.addSelectionListener(W orkbenchPage.java:642)
> at org.eclipse.ui.internal.WindowPartSelectionTracker.pageOpene d(WindowPartSelectionTracker.java:85)
> at org.eclipse.ui.internal.WindowPartSelectionTracker.<init>(WindowPartSelectionTracker.java:63)
> at org.eclipse.ui.internal.WindowSelectionService.createPartTra cker(WindowSelectionService.java:51)
> at org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
> at org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)


The section below is the workbench restoring it's state, and activating
(and then instantiating) your view part.

The section above (I know it looks funny writing it this way) is your
view part init adding a selection service that is adding a tracker that
is looking for your (partially instantiated) view part.

> at com.rgdsft.wadgui.view.projectview.ProjectNavigatorViewPart. init(ProjectNavigatorViewPart.java:137)
> at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewR eference.java:280)
> at org.eclipse.ui.internal.ViewReference.createPart(ViewReferen ce.java:180)
> at org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:552)
> at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:28 3)
> at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:51 2)
> at org.eclipse.ui.internal.presentations.PresentablePart.setVis ible(PresentablePart.java:126)
> at org.eclipse.ui.internal.presentations.util.PresentablePartFo lder.select(PresentablePartFolder.java:268)
> at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrd er.select(LeftToRightTabOrder.java:65)
> at org.eclipse.ui.internal.presentations.util.TabbedStackPresen tation.selectPart(TabbedStackPresentation.java:391)
> at org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:1102)
> at org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:591)
> at org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:528)
> at org.eclipse.ui.internal.PartSashContainer.createControl(Part SashContainer.java:485)
> at org.eclipse.ui.internal.PerspectiveHelper.activate(Perspecti veHelper.java:230)
> at org.eclipse.ui.internal.Perspective.onActivate(Perspective.j ava:813)


In PagePartSelectionTracker, is partOpened() being called shortly after
the constructor with your view part?

Later,
PW


Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293896 is a reply to message #293889] Tue, 01 November 2005 20:40 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: Lamont_Gilbert.rigidsoftware.com

Paul Webster wrote:
> CL [dnoyeb] Gilbert wrote:
>
>>
>> !ENTRY org.eclipse.ui 4 0 2005-10-27 16:10:33.931
>> !MESSAGE Warning: Detected recursive attempt by part
>> com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself (this is
>> probably, but not necessarily, a bug)
>> !STACK 1
>> org.eclipse.ui.PartInitException: Warning: Detected recursive attempt
>> by part com.rgdsft.wadgui.ProjectNavigatorViewPart to create itself
>> (this is probably, but not necessarily, a bug)
>> at
>> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:543)
>>
>> at
>> org.eclipse.ui.internal.ViewReference.getView(ViewReference. java:152)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.findView(WorkbenchPage .java:1598)
>> at
>> org.eclipse.ui.internal.PagePartSelectionTracker.<init>(PagePartSelectionTracker.java:59)
>>
>> at
>> org.eclipse.ui.internal.PageSelectionService.createPartTrack er(PageSelectionService.java:48)
>>
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
>>
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)
>>
>> at
>> org.eclipse.ui.internal.WorkbenchPage.addSelectionListener(W orkbenchPage.java:642)
>>
>> at
>> org.eclipse.ui.internal.WindowPartSelectionTracker.pageOpene d(WindowPartSelectionTracker.java:85)
>>
>> at
>> org.eclipse.ui.internal.WindowPartSelectionTracker.<init>(WindowPartSelectionTracker.java:63)
>>
>> at
>> org.eclipse.ui.internal.WindowSelectionService.createPartTra cker(WindowSelectionService.java:51)
>>
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.getPerPartT racker(AbstractSelectionService.java:200)
>>
>> at
>> org.eclipse.ui.internal.AbstractSelectionService.addSelectio nListener(AbstractSelectionService.java:92)
>>
>
>
>
> The section below is the workbench restoring it's state, and activating
> (and then instantiating) your view part.
>
> The section above (I know it looks funny writing it this way) is your
> view part init adding a selection service that is adding a tracker that
> is looking for your (partially instantiated) view part.
>
>> at
>> com.rgdsft.wadgui.view.projectview.ProjectNavigatorViewPart. init(ProjectNavigatorViewPart.java:137)
>>
>> at
>> org.eclipse.ui.internal.ViewReference.createPartHelper(ViewR eference.java:280)
>>
>> at
>> org.eclipse.ui.internal.ViewReference.createPart(ViewReferen ce.java:180)
>> at
>> org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:552)
>>
>> at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:28 3)
>> at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:51 2)
>> at
>> org.eclipse.ui.internal.presentations.PresentablePart.setVis ible(PresentablePart.java:126)
>>
>> at
>> org.eclipse.ui.internal.presentations.util.PresentablePartFo lder.select(PresentablePartFolder.java:268)
>>
>> at
>> org.eclipse.ui.internal.presentations.util.LeftToRightTabOrd er.select(LeftToRightTabOrder.java:65)
>>
>> at
>> org.eclipse.ui.internal.presentations.util.TabbedStackPresen tation.selectPart(TabbedStackPresentation.java:391)
>>
>> at
>> org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:1102)
>>
>> at
>> org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:591)
>> at
>> org.eclipse.ui.internal.PartStack.createControl(PartStack.ja va:528)
>> at
>> org.eclipse.ui.internal.PartSashContainer.createControl(Part SashContainer.java:485)
>>
>> at
>> org.eclipse.ui.internal.PerspectiveHelper.activate(Perspecti veHelper.java:230)
>>
>> at
>> org.eclipse.ui.internal.Perspective.onActivate(Perspective.j ava:813)
>
>
>
> In PagePartSelectionTracker, is partOpened() being called shortly after
> the constructor with your view part?
>
> Later,
> PW

PartOpened is being called oddly as a way to register listeners. I'm
not calling it the architecture is.

I am adding a selection 'listener' not service, that listeners only to
this part. And it seems as if the part is being created in order to
register the listener to it. So the part gets created then 'opened' in
order to register this listener which just does not seem right.
Supposedly the listener will only be added AFTER the part is created if
the part is not currently created.

So the registration act is causing the creation. Seems like a bug.
Though probably registering this listener in the constructor would fix
this. But I don tknow how to do that without a site.

I tried to register the listener before super.init was called within the
init method, but the registration still causes the exception.


CL
Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293898 is a reply to message #293889] Tue, 01 November 2005 21:01 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: Lamont_Gilbert.rigidsoftware.com

Paul Webster wrote:
>
>
>
> In PagePartSelectionTracker, is partOpened() being called shortly after
> the constructor with your view part?
>
> Later,
> PW

I checked and its WindowPartSelectionTracker constructor that seems
bugged. it registers a page listener so it can add the appropriate
selection listeners when the page is opened. But its not satisfied to
wait so it requests a list of all pages, then it adds its listeners
right away (by firing on its own listener's pageOpened method). That's
the beginning of the error and does not seem necessary!?

during the add of its listeners it asks for the page by ID with
restore=true, so the page is restored while its still in its init method.

is this a bug or not? Maybe i can add my selection listener in my
partActivated event...


CL
Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293926 is a reply to message #293896] Wed, 02 November 2005 13:38 Go to previous messageGo to next message
Paul Webster is currently offline Paul WebsterFriend
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

CL [dnoyeb] Gilbert wrote:
> Paul Webster wrote:
>>
>> In PagePartSelectionTracker, is partOpened() being called shortly
>> after the constructor with your view part?
>>
>> Later,
>> PW
>
>
> PartOpened is being called oddly as a way to register listeners. I'm
> not calling it the architecture is.
>
> I am adding a selection 'listener' not service, that listeners only to
> this part. And it seems as if the part is being created in order to
> register the listener to it. So the part gets created then 'opened' in
> order to register this listener which just does not seem right.
> Supposedly the listener will only be added AFTER the part is created if
> the part is not currently created.
>
> So the registration act is causing the creation. Seems like a bug.
> Though probably registering this listener in the constructor would fix
> this. But I don tknow how to do that without a site.
>
> I tried to register the listener before super.init was called within the
> init method, but the registration still causes the exception.
>

Having the architecture call partOpened() to register the site which
will happen after the recursive warning shows up is correct behaviour
(believe it or not).

What you had initially, registering the listener in the init() method,
looks like correct usage. The recursive warning is a framework notice,
but the partOpened() call insures that behaviourally, your selection
listener is doing what it's supposed to be ... it's a warning in the
workbench start up scenario.

If you want to open a bug report against Platform UI to investigate it
as a clean-up exercise someone will look at it (eventually :-).

Later,
PW


Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293927 is a reply to message #293898] Wed, 02 November 2005 13:45 Go to previous messageGo to next message
Paul Webster is currently offline Paul WebsterFriend
Messages: 6859
Registered: July 2009
Location: Ottawa
Senior Member

CL [dnoyeb] Gilbert wrote:
> is this a bug or not? Maybe i can add my selection listener in my
> partActivated event...

This is another route ... if you like it, I'd suggest using partOpened()
and partClosed() ... partActivated() and partDeactivate() would get
called frequently.

But I haven't found any information that says you can't do it in your
init() method (you'll just get that warning on startup).

Later,
PW


Re: Detected recursive attempt by part ProjectNavigatorViewPart to create itself [message #293938 is a reply to message #293927] Wed, 02 November 2005 16:11 Go to previous message
Eclipse UserFriend
Originally posted by: Lamont_Gilbert.rigidsoftware.com

Paul Webster wrote:
> CL [dnoyeb] Gilbert wrote:
>
>> is this a bug or not? Maybe i can add my selection listener in my
>> partActivated event...
>
>
> This is another route ... if you like it, I'd suggest using partOpened()
> and partClosed() ... partActivated() and partDeactivate() would get
> called frequently.
>
> But I haven't found any information that says you can't do it in your
> init() method (you'll just get that warning on startup).
>
> Later,
> PW

Of course one can not expect folks to ignore the warning and watch the
log file build up making it hard to parse and less useful. I did use
partOpened and partClosed for my event. works fine now. It seems like
the architecture artificially calling partOpened is wrong. It says the
listener will be added when the part is created, instead it creates the
part in order to add the listener.

I got bigger fish to fry though :)


CL
Previous Topic:En/Disable Wizards
Next Topic:Use Jface in swing app
Goto Forum:
  


Current Time: Sat Oct 05 07:20:54 GMT 2024

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

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

Back to the top