Community
Participate
Working Groups
Build Identifier: If the update descriptor is missing the severity attribute a NumberFormatException is thrown (as bellow). This is very confusing and hard to track as the error message does not says anything about the cause. I'm using the p2 installer: equinox.p2.installer-3.5.2RC3-macosx.carbon.ppc !SESSION 2010-02-23 15:04:48.564 ----------------------------------------------- eclipse.buildId=unknown java.version=1.6.0_17 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86, WS=carbon, NL=en_US Framework arguments: -keyring /Users/adreghiciu/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws carbon -arch x86 -keyring /Users/adreghiciu/.eclipse_keyring -showlocation !ENTRY org.eclipse.core.net 1 0 2010-02-23 15:04:49.269 !MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences !ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2010-02-23 15:04:52.698 !MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.simpleRepository !STACK 0 java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:417) at java.lang.Integer.<init>(Integer.java:660) at org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser$UpdateDescriptorHandler.<init>(MetadataParser.java:777) at org.eclipse.equinox.internal.p2.metadata.repository.io.MetadataParser$InstallableUnitHandler.startElement(MetadataParser.java:207) at org.eclipse.equinox.internal.p2.persistence.XMLParser$AbstractHandler.startElement(XMLParser.java:174) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377) 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.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) 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 org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO$Parser.parse(MetadataRepositoryIO.java:200) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.read(MetadataRepositoryIO.java:55) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.validateAndLoad(SimpleMetadataRepositoryFactory.java:119) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:87) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:54) at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:669) at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:617) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:88) at org.eclipse.equinox.internal.p2.installer.InstallUpdateProductOperation.prepareMetadataRepositories(InstallUpdateProductOperation.java:274) at org.eclipse.equinox.internal.p2.installer.InstallUpdateProductOperation.doInstall(InstallUpdateProductOperation.java:104) at org.eclipse.equinox.internal.p2.installer.InstallUpdateProductOperation.install(InstallUpdateProductOperation.java:213) at org.eclipse.equinox.internal.p2.installer.ui.InstallDialog$7.run(InstallDialog.java:437) !ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2010-02-23 15:04:52.707 !MESSAGE No repository found at file:/Users/adreghiciu/<...removed...>/p2-update-site/. Reproducible: Always
Created attachment 163165 [details] Proposed patch The patch will catch the exception, log an error about it and use the NORMAL severity. This is the same approach as used for range.
Created attachment 164952 [details] Proposed Patch Update patch to latest HEAD
Thomas, could you please review this patch and apply it if it is good. thx.
Looks good to me.
Patch released.