You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Dennis Lundberg (JIRA)" <ji...@apache.org> on 2009/12/29 17:48:29 UTC
[jira] Updated: (LOGGING-22) NullPointerException in LogFactory
[ https://issues.apache.org/jira/browse/LOGGING-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dennis Lundberg updated LOGGING-22:
-----------------------------------
Fix Version/s: 1.0.3
> NullPointerException in LogFactory
> ----------------------------------
>
> Key: LOGGING-22
> URL: https://issues.apache.org/jira/browse/LOGGING-22
> Project: Commons Logging
> Issue Type: Bug
> Affects Versions: Nightly Builds
> Environment: Operating System: All
> Platform: PC
> Reporter: Philip Mitchell
> Fix For: 1.0.3
>
>
> Trying to run this software on an EAServer, a NullPointerException is thrown in
> two different places within LogFactory.java. I was able to trace the problem
> in the source:
> 1) private static LogFactory getCachedFactory(ClassLoader contextClassLoader)
> {
> LogFactory factory = null;
> if (contextClassLoader != null)
> factory = (LogFactory) factories.get(contextClassLoader);
> if (factory==null)
> factory = (LogFactory) factories.get(LogFactory.class.getClassLoader
> ());
> return factory;
> }
> the factories.get(LogFactory.class.getClassLoader()) will cause a problem
> because LogFactory.class.GetClassLoader() is null (using jre 1.4) changing
> that part to a call to getContextClassLoader() would resolve this bug.
> 2) in getFactory():
> // Fourth, try the fallback implementation class
> if (factory == null) {
> factory = newFactory(FACTORY_DEFAULT,
> LogFactory.class.getClassLoader());
> }
> same deal here, replacing LogFactory.class.getClassLoader() with contextClass
> will fix.
> I don't know if there was a reason these were left as
> LogFactory.class.getClassLoader(), but getContextClassLoader(), will determine
> if this is the correct call to make (and it states that this is only
> appropriate in pre-jdk1.1), instead of just assuming it is the right call,
> causing NullPointerExceptions.
> Perhaps this wasn't noticed since it usually doesn't get to this fallback
> position, but on the application server, it does every time.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.