Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323699

Summary: NoClassDefFound-Exception when creating/opening DataSet
Product: z_Archived Reporter: pp
Component: BIRTAssignee: Birt-DataAccess <Birt-DataAccess-inbox>
Status: RESOLVED WORKSFORME QA Contact: Tianli Zhang <tzhang>
Severity: major    
Priority: P3 CC: bluesoldier
Version: 2.5.2   
Target Milestone: 3.7.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description pp CLA 2010-08-26 08:07:23 EDT
Build Identifier: M20100211-1343

I am developing reports in Birt, in combination with an Oracle database.
Oracle Version: Oracle Database 10g Release 10.2.0.1.0 - 64bit Production
JDBC-Driver: oracle.jdbc.OracleDriver (v11.2)

I get a NoClassDefFound-Exception when I want to create or open a DataSet. 
This behaviour starts to occure at a random time and lasts for some minutes or even hours.
The Exception occours independent of the report I'm working on. Restarting Birt or the computer doesn't solve the problem. I've also tried on other computers, they also get the same error. Other applications can access the database, so I don't think the problem is caused by the database.


When I open a DataSet, a messagebox pops up, that says:
  An error has occurred. See error log for more details.
  oracle/sql/CharacterSetWithConverter

The error log shows the message
   Problems occurred when invoking code from plug-in: "org.eclipse.jface".
and the exception stacktrace is:
java.lang.NoClassDefFoundError: oracle/sql/CharacterSetWithConverter
	at oracle.sql.CharacterSetFactoryThin.make(CharacterSetFactoryThin.java:126)
	at oracle.sql.CharacterSet.make(CharacterSet.java:450)
	at oracle.jdbc.driver.DBConversion.init(DBConversion.java:151)
	at oracle.jdbc.driver.DBConversion.<init>(DBConversion.java:112)
	at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:430)
	at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
	at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:148)
	at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
	at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$WrappedDriver.connect(JDBCDriverManager.java:1162)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:251)
	at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:186)
	at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.getConnection(DriverLoader.java:33)
	at org.eclipse.birt.report.data.oda.jdbc.ui.provider.JdbcMetaDataProvider.reconnect(JdbcMetaDataProvider.java:96)
	at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.prepareJDBCMetaDataProvider(SQLDataSetEditorPage.java:181)
	at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.createPageCustomControl(SQLDataSetEditorPage.java:213)
	at org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizardPage.createControl(DataSetWizardPage.java:123)
	at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetEditorPageCore.createContents(DataSetEditorPageCore.java:74)
	at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232)
	at org.eclipse.birt.report.designer.data.ui.dataset.PropertyPageWrapper.createPageControl(PropertyPageWrapper.java:59)
	at org.eclipse.birt.report.designer.data.ui.property.PropertyNode.createPageControl(PropertyNode.java:238)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showPage(AbstractPropertyDialog.java:568)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.showSelectionPage(AbstractPropertyDialog.java:472)
	at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.showSelectionPage(DataSetEditor.java:901)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2$1.run(AbstractPropertyDialog.java:430)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog$2.selectionChanged(AbstractPropertyDialog.java:425)
	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.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:392)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.initTreeSelection(AbstractPropertyDialog.java:401)
	at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.createDialogArea(AbstractPropertyDialog.java:292)
	at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.createDialogArea(DataSetEditor.java:121)
	at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:760)
	at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.createContents(DataSetEditor.java:600)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
	at org.eclipse.birt.report.designer.ui.dialogs.BaseDialog.open(BaseDialog.java:100)
	at org.eclipse.birt.report.designer.data.ui.providers.EditableDataSetNodeProvider.performEdit(EditableDataSetNodeProvider.java:99)
	at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performRequest(DefaultNodeProvider.java:432)
	at org.eclipse.birt.report.designer.internal.ui.views.actions.EditAction.doAction(EditAction.java:90)
	at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:70)
	at org.eclipse.birt.report.designer.internal.ui.views.RenameListener.doubleClick(RenameListener.java:214)
	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:821)
	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.StructuredViewer.fireDoubleClick(StructuredViewer.java:819)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1419)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1195)
	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:238)
	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:235)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:296)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
	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)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

Reproducible: Sometimes
Comment 1 pp CLA 2010-08-27 02:27:11 EDT
I just found out that the porblem doesn't occure if I use a different workspace.
Comment 2 Xiaoying Gu CLA 2010-10-09 03:21:38 EDT
Since this is a workspace related issue and can not be reproduced here, set as worksforme.