My Bug Report Against Netbeans 6.8 [#181133]
I'm pasting this here because it may help fellow PostgreSQL/Netbeans users, there are no Google hits for this problem so far and the NB Bugzilla is behind a login-wall:
See end of report for exception trace from IDE log.
** Path to reproduce: **
(1) Create a JDBC PostgreSQL connection with extra connection parameters in
Services/Databases, e.g.
jdbc:postgresql://test.server/testdb?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
(2) Start the "New Entity Classes from Database" wizard
(3) Select "New Data Source"
(4) Enter a name and select the previously created connection
(5) Press OK
The dialog flashes momentarily, then visually goes back to its initial state as
if no user input had happened at all. Specifically, no error is displayed.
From there on out, the exceptions seen at the end of this report will be thrown
periodically and displayed in the IDE log.
After restarting the IDE, the exceptions will not be thrown at first, but after
reopening the wizard, the exceptions will once again commence and keep getting
thrown until the next restart.
** Notes: **
Deleting the connection does not fix the problem. The problem was 'fixed' by
navigating to setup/sun-resources.xml and deleting the offending content (i.e.,
everything between.. . After saving a new connection
without parameters, the feature worked as expected (for that database).
** Speculation by reporter: **
The error seems to happen when the "&" in the connection string (which is
escaped correctly in
~/.netbeans/6.8/config/Databases/_file_for_that_connection_.xml) gets written
verbatim to $PROJECT/setup/sun-resources.xml, where it ends up parsed,
corrupting the file.
** finally { **
Please move this if db/code is erroneous; I wouldn't know where it would have
fit better.
}
----------------- here goes the trace --------------------
INFO [glassfish]: Requested Entity: public id = -//Sun Microsystems, Inc.//DTD
Application Server 9.0 Resource Definitions //EN, system id =
http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd
INFO [glassfish-javaee]: org.xml.sax.SAXParseException: The reference to entity
"sslfactory" must end with the ';' delimiter.
org.xml.sax.SAXParseException: The reference to entity "sslfactory" must end
with the ';' delimiter.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:868)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1539)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1316)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:88)
Caused: java.lang.IllegalStateException
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:93)
at
org.netbeans.modules.glassfish.javaee.db.Hk2DatasourceManager.readDatasources(Hk2DatasourceManager.java:191)
at
org.netbeans.modules.glassfish.javaee.db.Hk2DatasourceManager.getDatasources(Hk2DatasourceManager.java:130)
at
org.netbeans.modules.glassfish.javaee.Hk2Configuration.getDatasources(Hk2Configuration.java:84)
at
org.netbeans.modules.glassfish.javaee.ModuleConfigurationImpl.getDatasources(ModuleConfigurationImpl.java:132)
at
org.netbeans.modules.j2ee.deployment.config.ConfigSupportImpl.getDatasources(ConfigSupportImpl.java:340)
at
org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider.getModuleDatasources(J2eeModuleProvider.java:216)
at
org.netbeans.modules.j2ee.common.DatasourceUIHelper.getDatasources(DatasourceUIHelper.java:479)
at
org.netbeans.modules.j2ee.common.DatasourceUIHelper.access$200(DatasourceUIHelper.java:91)
at
org.netbeans.modules.j2ee.common.DatasourceUIHelper$2.run(DatasourceUIHelper.java:346)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.invokeNextActionsOfSameKind(ProgressSupport.java:267)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.access$100(ProgressSupport.java:115)
[catch] at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker$1.run(ProgressSupport.java:156)
at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)
INFO [glassfish]: Requested Entity: public id = -//Sun Microsystems, Inc.//DTD
Application Server 9.0 Resource Definitions //EN, system id =
http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd
INFO [glassfish-javaee]: org.xml.sax.SAXParseException: The reference to entity
"sslfactory" must end with the ';' delimiter.
org.xml.sax.SAXParseException: The reference to entity "sslfactory" must end
with the ';' delimiter.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:868)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1539)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1316)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:88)
Caused: java.lang.IllegalStateException
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:93)
at
org.netbeans.modules.glassfish.javaee.db.Hk2DatasourceManager.createDataSource(Hk2DatasourceManager.java:368)
at
org.netbeans.modules.glassfish.javaee.Hk2Configuration.createDatasource(Hk2Configuration.java:105)
at
org.netbeans.modules.glassfish.javaee.ModuleConfigurationImpl.createDatasource(ModuleConfigurationImpl.java:140)
at
org.netbeans.modules.j2ee.deployment.config.ConfigSupportImpl.createDatasource(ConfigSupportImpl.java:372)
at
org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider.createDatasource(J2eeModuleProvider.java:263)
at
org.netbeans.modules.j2ee.common.DatasourceUIHelper$5.run(DatasourceUIHelper.java:422)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.invokeNextActionsOfSameKind(ProgressSupport.java:267)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.access$100(ProgressSupport.java:115)
[catch] at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker$1.run(ProgressSupport.java:156)
at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)
INFO [global]
org.xml.sax.SAXParseException: The reference to entity "sslfactory" must end
with the ';' delimiter.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:868)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1539)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1316)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:88)
Caused: java.lang.IllegalStateException
at
org.netbeans.modules.glassfish.spi.TreeParser.readXml(TreeParser.java:93)
at
org.netbeans.modules.glassfish.javaee.db.Hk2DatasourceManager.createDataSource(Hk2DatasourceManager.java:368)
Caused: org.netbeans.modules.j2ee.deployment.common.api.ConfigurationException:
org.xml.sax.SAXParseException: The reference to entity "sslfactory" must end
with the ';' delimiter.
at
org.netbeans.modules.glassfish.javaee.db.Hk2DatasourceManager.createDataSource(Hk2DatasourceManager.java:375)
at
org.netbeans.modules.glassfish.javaee.Hk2Configuration.createDatasource(Hk2Configuration.java:105)
at
org.netbeans.modules.glassfish.javaee.ModuleConfigurationImpl.createDatasource(ModuleConfigurationImpl.java:140)
at
org.netbeans.modules.j2ee.deployment.config.ConfigSupportImpl.createDatasource(ConfigSupportImpl.java:372)
at
org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider.createDatasource(J2eeModuleProvider.java:263)
at
org.netbeans.modules.j2ee.common.DatasourceUIHelper$5.run(DatasourceUIHelper.java:422)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.invokeNextActionsOfSameKind(ProgressSupport.java:267)
at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker.access$100(ProgressSupport.java:115)
[catch] at
org.netbeans.modules.j2ee.core.api.support.progress.ProgressSupport$ActionInvoker$1.run(ProgressSupport.java:156)
at
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)
at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)





The Boston Sun's The Big Picture features are always great, but this one is just mind-blowing.