Consultor Eletrônico



Kbase P129742: Problems opening file in Architect due to duplicating schema cache
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/19/2008
Status: Unverified

FACT(s) (Environment):

Windows 32 Intel
OpenEdge 10.1B

SYMPTOM(s):

Problems opening file in Architect due to duplicating schema cache

Unable to create this part due to an internal error. Reason for the failure: An unexpected exception was thrown.

java.lang.NullPointerException
at com.openedge.pdt.text.help.OEDataword.searchDatawordTables(OEDataword.java:73)
at com.openedge.pdt.text.help.OEDataword.searchDatawordTables(OEDataword.java:88)
at com.openedge.pdt.text.help.OEWord.searchDataWords(OEWord.java:124)
at com.openedge.pdt.text.help.OEWord.getColorToken(OEWord.java:271)
at com.openedge.pdt.text.editor.rules.CasedWordRule.evaluate(CasedWordRule.java:89)
at org.eclipse.jface.text.rules.RuleBasedScanner.nextToken(RuleBasedScanner.java:155)
at org.eclipse.jface.text.rules.DefaultDamagerRepairer.createPresentation(DefaultDamagerRepairer.java:168)
at org.eclipse.jface.text.presentation.PresentationReconciler.createPresentation(PresentationReconciler.java:448)
at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:560)
at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:558)
at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.inputDocumentChanged(PresentationReconciler.java:118)
at org.eclipse.jface.text.TextViewer.fireInputDocumentChanged(TextViewer.java:2458)
at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2507)
at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:521)
at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:370)
at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:467)
at org.eclipse.ui.texteditor.AbstractTextEditor.initializeSourceViewer(AbstractTextEditor.java:2937)
at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:2684)
at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:53)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:367)
at com.openedge.pdt.text.editor.OETextEditor.createPartControl(OETextEditor.java:702)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1311)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:455)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:102)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:441)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:111)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:60)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:819)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:718)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:679)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2586)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2521)
a.t org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPage.java:2513)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2498)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2493)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2478)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:388)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:350)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98)
at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125)
at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:328)
at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:679)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:434)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:817)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:815)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1069)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1168)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:249)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:243)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:283)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
.

CAUSE:

OpenEdge Architect caches database schema information in a schema cache file at .metadata\.plugins\com.openedge.pdt.text\_<dbname>.txt.
This file is used by Architect to improve performance when performing internal lookups to support features such as Syntax assistance and completion as well as informational tooltips and building of the Outline view.
The physical name of the database is used to name this file. Problems have been known to occur when connected to two databases with the same physical name. Architect will open and modify the schema cache file and, if the schema for one database is larger than the other, cuts off the start of the schema for the larger of the two schemas.
This may be encountered is such scenarios where you have two separate projects under the same workspace. The first connects to the development database and contains development code, the second connects to the production or QA database and contains production or QA code.
When started, Architect analyzes the connected databases and overwrites previous versions of this file, however since both versions of the same named database are connected the same file is used.
Note that this problem may otherwise manifest itself in a variety of ways depending upon the data that are missing because of the point of the offset.

FIX:

This issue has been resolved as a by-product of a change in 10.1C which implements usage of unique names for this database schema cache file. To work around the issue in previous releases you simply must maintain separate workspaces for the separate connections.