You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Stefan Seelmann (JIRA)" <ji...@apache.org> on 2010/03/22 09:26:27 UTC

[jira] Commented: (DIRSTUDIO-632) Endless event loop

    [ https://issues.apache.org/jira/browse/DIRSTUDIO-632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848056#action_12848056 ] 

Stefan Seelmann commented on DIRSTUDIO-632:
-------------------------------------------

I think identified the cause. The bug only happens if the "Link with Editor" action is enabled (see stack trace below):
- when selecting an entry in the browser we start an OpenEntryEditorRunnable (async Job)
- after all attributes are loaded from the server the OpenEntryEditorRunnable opens the editor (async)
- when the new input is set the EntryEditor fires an event that the input has been changed
- the LinkWithEditorAction receives that event and selects that entry in the browser -> loop

I have to figure out how the loop can be stopped.

	at org.apache.directory.studio.entryeditors.OpenEntryEditorRunnable.<init>(OpenEntryEditorRunnable.java:74)
	at org.apache.directory.studio.entryeditors.EntryEditorManager.openEntryEditor(EntryEditorManager.java:752)
-->	at org.apache.directory.studio.ldapbrowser.ui.views.browser.BrowserViewUniversalListener.openEditor(BrowserViewUniversalListener.java:343)
	at org.apache.directory.studio.ldapbrowser.ui.views.browser.BrowserViewUniversalListener.access$200(BrowserViewUniversalListener.java:91)
	at org.apache.directory.studio.ldapbrowser.ui.views.browser.BrowserViewUniversalListener$3.selectionChanged(BrowserViewUniversalListener.java:238)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132)
	at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1669)
	at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1124)
-->	at org.apache.directory.studio.ldapbrowser.ui.views.browser.BrowserView.select(BrowserView.java:255)
	at org.apache.directory.studio.ldapbrowser.ui.views.browser.LinkWithEditorAction.linkViewWithEditor(LinkWithEditorAction.java:203)
	at org.apache.directory.studio.ldapbrowser.ui.views.browser.LinkWithEditorAction.access$000(LinkWithEditorAction.java:43)
-->	at org.apache.directory.studio.ldapbrowser.ui.views.browser.LinkWithEditorAction$1.partInputChanged(LinkWithEditorAction.java:96)
	at org.eclipse.ui.internal.PartListenerList2$8.run(PartListenerList2.java:193)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
	at org.eclipse.ui.internal.PartListenerList2.firePartInputChanged(PartListenerList2.java:191)
	at org.eclipse.ui.internal.PartService.firePartInputChanged(PartService.java:265)
	at org.eclipse.ui.internal.WWinPartService$WWinListener.partInputChanged(WWinPartService.java:66)
	at org.eclipse.ui.internal.PartListenerList2$8.run(PartListenerList2.java:193)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
	at org.eclipse.ui.internal.PartListenerList2.firePartInputChanged(PartListenerList2.java:191)
	at org.eclipse.ui.internal.PartService.firePartInputChanged(PartService.java:265)
	at org.eclipse.ui.internal.WorkbenchPagePartList.firePartInputChanged(WorkbenchPagePartList.java:72)
	at org.eclipse.ui.internal.PartList.partInputChanged(PartList.java:195)
	at org.eclipse.ui.internal.PartList.access$4(PartList.java:194)
	at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:54)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
	at org.eclipse.ui.internal.WorkbenchPartReference.immediateFirePropertyChange(WorkbenchPartReference.java:574)
	at org.eclipse.ui.internal.WorkbenchPartReference.firePropertyChange(WorkbenchPartReference.java:564)
	at org.eclipse.ui.internal.WorkbenchPartReference.partPropertyChanged(WorkbenchPartReference.java:299)
	at org.eclipse.ui.internal.EditorReference.partPropertyChanged(EditorReference.java:498)
	at org.eclipse.ui.internal.WorkbenchPartReference$2.propertyChanged(WorkbenchPartReference.java:181)
	at org.eclipse.ui.part.WorkbenchPart.firePropertyChange(WorkbenchPart.java:129)
-->	at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.showEditorInput(EntryEditor.java:471)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2841)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
-->	at org.apache.directory.studio.entryeditors.OpenEntryEditorRunnable$1.run(OpenEntryEditorRunnable.java:254)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)




> Endless event loop
> ------------------
>
>                 Key: DIRSTUDIO-632
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-632
>             Project: Directory Studio
>          Issue Type: Bug
>          Components: studio-ldapbrowser
>    Affects Versions: 1.5.3
>            Reporter: Stefan Seelmann
>            Assignee: Stefan Seelmann
>            Priority: Blocker
>             Fix For: 1.5.3
>
>
> To reproduce:
> - Open connection to ApacheDS
> - Expand ou=system, don't select an entry 
> - now quickly select uid=admin then ou=groups then ou=users without waiting till the the attributes are loaded
> Now those entries are periodically selected each after the other in an endless loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.