[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlbeans-dev
Subject:    [jira] [Created] (XMLBEANS-506) NPE trying to load resource file if XmlBeans was loaded by the boots
From:       "Daniel Hengst (JIRA)" <xmlbeans-dev () xml ! apache ! org>
Date:       2013-09-27 17:04:02
Message-ID: JIRA.12670973.1380301403820.30984.1380301442761 () arcas
[Download RAW message or body]

Daniel Hengst created XMLBEANS-506:
--------------------------------------

             Summary: NPE trying to load resource file if XmlBeans was loaded by the \
bootstrap ClassLoader  Key: XMLBEANS-506
                 URL: https://issues.apache.org/jira/browse/XMLBEANS-506
             Project: XMLBeans
          Issue Type: Bug
    Affects Versions: Version 2.5
         Environment: JBoss 6.1.0, JVM 1.6.0_30, CentOS 5.7 x86_64
            Reporter: Daniel Hengst


To solve a dependency issue, we put XmlBeans 2.5.0 into the endorsed folder. This \
brought the following exception:

java.lang.NullPointerException
  at org.apache.xmlbeans.impl.store.Path.<clinit>(Path.java:65)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.getMethod(SchemaTypeLoaderBase.java:73)
  at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.<clinit>(SchemaTypeLoaderBase.java:66)
  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:597)
  at org.apache.xmlbeans.XmlBeans.getNoType(XmlBeans.java:856)
  at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:881)

The source code of org.apache.xmlbeans.impl.store.Path looks like this:

63: ClassLoader cl = Path.class.getClassLoader();
64: String id = "META-INF/services/org.apache.xmlbeans.impl.store.PathDelegate.SelectPathInterface";
                
65: InputStream in = cl.getResourceAsStream(id); <- NPE occurs here

This appears to be a bug. The JavaDoc for getClassLoader() says: "Some \
implementations may use null to represent the bootstrap class loader. This method \
will return null in such implementations if this class was loaded by the bootstrap \
class loader." So the caller of getClassLoader() should take into account that it \
might return null, which does not happen here. I would suggest changing line 65 to \
the following:

InputStream in = Path.class.getResourceAsStream(id);

I checked XmlBeans 2.6.0 and browsed the SVN sources, the problem still exists.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic