commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 39170] New: - ConfigurationUtils.locate throws NullPointerException if the context ClassLoader is null
Date Fri, 31 Mar 2006 10:47:29 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39170>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39170

           Summary: ConfigurationUtils.locate throws NullPointerException if
                    the context ClassLoader is null
           Product: Commons
           Version: 1.2 Final
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Configuration
        AssignedTo: commons-dev@jakarta.apache.org
        ReportedBy: nomus@yandex.ru


Hello,

When the locate method attempts to find resource location from the context classpath 
(lines 375-384 in ConfigurationUtils.java) it fails (on line 378) if the context 
ClassLoader cannot be retrieved for the current thread.
I suppose this bug is quite difficult to reproduce. I came accross it when I and a 
colleague of mine were testing a Java API (kept in one jar) that is called from C++ 
application. In the static initializer of a Java class I used the next line to load 
settings:
config = new PropertiesConfiguration(ConfigurationUtils.locate("properties/routing.
properties"));
It worked fine if the class was used from another Java class that was normally loaded 
by JVM (for example my tests passed). But when my Java classes were executed by JVM 
started from C++ application it resulted in the next exception:
java.lang.NullPointerException
	at org.apache.commons.configuration.ConfigurationUtils.
locate(ConfigurationUtils.java:378)
	at org.apache.commons.configuration.ConfigurationUtils.
locate(ConfigurationUtils.java:255)
...
It is obvious from the ConfigurationUtils code that loader variable got null value 
(line 377) for some reason so the next step threw the exception.
I suppose this bug can be easily fixed (just to add an additional check if loader is 
not null).
As a workaround I will try to call locate method with a given base parameter (but it 
needs to determine location of my jar so it is a kind of overheads though it would 
work I hope).

Sorry for my English.

Hope it is useful,
Denis

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


Mime
View raw message