When going into table edit mode, most of the time
dbEdit immediately starts flickering (the table
component seems to refresh itself again and again). The
only way to stop this, is to exit Eclipse completely.
Configuration:
- Eclipse 3.1 RC3
- Java 1.5.0_04
- Database DB2 8.2 (both, JDBC type 2 and 4 drivers)
- dbEdit: dbedit_1.0.3_1.bin.dist_3.X.zip
- WinXP SP1
###########################
Eclipse Error Log:
-----------------------------------------------
Message:
Warning: Detected recursive attempt by part
dbedit.ui.editor.table.TableEditor to create itself
(this is probably, but not necessarily, a bug)
------------------------------
StackTrace:
org.eclipse.ui.PartInitException: Warning: Detected
recursive attempt by part
dbedit.ui.editor.table.TableEditor to create itself
(this is probably, but not necessarily, a bug)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:543)
at
org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:239)
at
org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:88)
at
org.eclipse.ui.internal.PartPane.handleEvent(PartPane.java:214)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:868)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:849)
at
org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:998)
at
org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:1855)
at
org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:1960)
at
org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:3629)
at
org.eclipse.swt.widgets.Canvas.WM_SETFOCUS(Canvas.java:248)
at
org.eclipse.swt.widgets.Control.windowProc(Control.java:3101)
at
org.eclipse.swt.widgets.Display.windowProc(Display.java:3694)
at org.eclipse.swt.internal.win32.OS.SetFocus(Native
Method)
at
org.eclipse.swt.widgets.Control.forceFocus(Control.java:651)
at
org.eclipse.swt.widgets.Control.setFocus(Control.java:2134)
at
org.eclipse.swt.widgets.Composite.setFocus(Composite.java:703)
at
dbedit.ui.editor.table.EditConditionAction.update(EditConditionAction.java:70)
at
dbedit.ui.editor.table.EditConditionAction.setRuler(EditConditionAction.java:35)
at
dbedit.ui.editor.table.TableEditorActionContributor.setActiveEditor(TableEditorActionContributor.java:328)
at
dbedit.ui.editor.table.TableEditor$12.createProgressMonitor(TableEditor.java:995)
at
dbedit.ui.editor.table.GridComposite$TableContentProvider.getRows(GridComposite.java:57)
at
dbedit.ui.editor.table.RowTableViewer.getRawChildren(RowTableViewer.java:287)
at
dbedit.ui.editor.table.RowTableViewer.internalRefresh(RowTableViewer.java:235)
at
org.eclipse.jface.viewers.TableViewer.internalRefresh(TableViewer.java:737)
at
org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1264)
at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1201)
at
org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1262)
at
org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1221)
at
org.eclipse.jface.viewers.TableViewer.inputChanged(TableViewer.java:698)
at
org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:248)
at
org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1417)
at
dbedit.ui.editor.table.GridComposite.createControl(GridComposite.java:497)
at
dbedit.ui.editor.table.GridComposite.setInput(GridComposite.java:457)
at
dbedit.ui.editor.table.TableEditor.createGridPage(TableEditor.java:1020)
at
dbedit.ui.editor.table.TableEditor.doCreatePages(TableEditor.java:839)
at
dbedit.ui.editor.table.TableEditor.createPages(TableEditor.java:830)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:241)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:585)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:365)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:214)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2321)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2254)
at
org.eclipse.ui.internal.WorkbenchPage.access$9(WorkbenchPage.java:2246)
at
org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2232)
at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2227)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2208)
at
dbedit.ui.editor.table.OpenEditorAction.openEditor(OpenEditorAction.java:134)
at
dbedit.ui.editor.table.OpenEditorAction.openEditor(OpenEditorAction.java:95)
at
dbedit.ui.editor.table.OpenEditorAction.run(OpenEditorAction.java:35)
at
dbedit.ui.editor.OpenEditorAction.openDefaultEditor(OpenEditorAction.java:62)
at
dbedit.ui.views.TablesViewActionGroup.handleDoubleClick(TablesViewActionGroup.java:337)
at
dbedit.ui.views.TablesView.doubleClick(TablesView.java:666)
at
org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:720)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
at
org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at
org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
at
org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:718)
at
org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(StructuredViewer.java:950)
at
org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1057)
at
org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:219)
at
org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:216)
at
org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:275)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:844)
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3070)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2703)
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at
org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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)
-------------------------------------------------
Session Data:
eclipse.buildId=I20050617-1618
java.version=1.5.0_04
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32,
NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86
Logged In: YES
user_id=582288
Is this error still occurring with the Eclipse 3.1 final
release?
I cannot reproduce it.
Logged In: YES
user_id=196222
Yes, it does. I experienced the problem with several
Milestones and with the final version 3.1 also. I am not
aware of having a special configuration.
Bug 1238013 seems to be the same. Maybe you can retrace it
with the information given there.
Logged In: YES
user_id=196222
I just tried other JVMs. Problem also occurs on
j2sdk1.4.2_08 and on jdk1.5.0_04.
Logged In: YES
user_id=582288
I would assume that this is not depending on the DB, i
tested with 8.1 and still cannot reproduce it. Dows it
occure under special circumstances only or in either case?
Logged In: YES
user_id=582288
Please check the following:
if I open Control.class and see the java source, then in
line 3101 there is the handler for WM_SETCURSOR not
WM_SETFOCUS, which is in 3102.
When I installled the 3.1 final release, I completely
removed the previous binaries and configuration to have a
clean install.
Maybe you installed over a previous Milestone or whatever
and something got wrong.
Logged In: YES
user_id=196222
It happens nearly all of time, when going into edit mode in
a table grid view or when trying to add a new data row to
the grid. In the status bar one can see 'Fetching children
of <table name>' again and again. CPU goes to 100%.
Just received your update: I check the class and there is
the WM_SETCURSOR in line 3101 followed by the WM_SETFOCUS.
When updating Eclipse, I always copy the new version to a
new directory and re-install the plugins. After that I start
Eclipse with the -clean option in the old workspace. So the
installation should be fine.
I just checked
dbedit.ui.editor.table.EditConditionAction.update(EditConditionAction.java:70):
In the update() method the 'text.setFocus()' (line 70) seems
to cause the recursive calls. I just opened the class from
CVS and do not know the rest of the code :-). But maybe you
can tell me what the fRuler member is. The filter line above
the grid? The error also happens, when the filter line is
hidden/disabled. I also tried several settings in the DbEdit
preferences dialog.
Sorry, still the same error.
Logged In: YES
user_id=582288
Ok, i could see it.
To have a workaround: please turn off the "Link with Editor"
switch.
The problem is fixed with the next version.
Logged In: YES
user_id=196222
Thank's a lot. With the workaround it seems to work.
Logged In: YES
user_id=511925
Where is the "Link with Editor" switch?
I've looked everywhere but can't seem to find it....
Logged In: YES
user_id=196222
Switch to dbEdit perspective.
Have a look to the toolbar in the the 'Tables' view
(normally at the left side). There is some kind of a
dropdown symbol. Last menu item.