Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 303611 - [repository] NumberFormatException when severity attribute not specified in update descriptor
Summary: [repository] NumberFormatException when severity attribute not specified in u...
Status: CLOSED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 minor (vote)
Target Milestone: 3.6 RC1   Edit
Assignee: Pascal Rapicault CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-23 08:26 EST by Alin Dreghiciu CLA
Modified: 2010-05-08 10:03 EDT (History)
2 users (show)

See Also:
thomas: review+


Attachments
Proposed patch (1.33 KB, text/plain)
2010-03-27 17:12 EDT, Alin Dreghiciu CLA
no flags Details
Proposed Patch (1.39 KB, patch)
2010-04-15 06:24 EDT, Alin Dreghiciu CLA
pascal: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alin Dreghiciu CLA 2010-02-23 08:26:06 EST
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
Comment 1 Alin Dreghiciu CLA 2010-03-27 17:12:38 EDT
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.
Comment 2 Alin Dreghiciu CLA 2010-04-15 06:24:38 EDT
Created attachment 164952 [details]
Proposed Patch

Update patch to latest HEAD
Comment 3 Pascal Rapicault CLA 2010-05-07 10:49:04 EDT
Thomas, could you please review this patch and apply it if it is good. thx.
Comment 4 Thomas Hallgren CLA 2010-05-08 01:46:59 EDT
Looks good to me.
Comment 5 Pascal Rapicault CLA 2010-05-08 10:03:38 EDT
Patch released.