tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Volker Leidl <le...@nt.imp.univie.ac.at>
Subject Re: Exception starting filter Security Filter
Date Thu, 10 Oct 2002 08:14:10 GMT
Hi!

In fact I was wrong in my last post. As I found out later, it did not 
work. I found a solution for my problem but I am not sure if it also 
applies to yours, Dan. Sorry for not sharing my knowledge until now, but 
it did not seem to interest anyone ;)

During debugging I used a hacked version of the logging package and I 
somehow forgot to put back the original, so I tricked myself and 
believed it would work. But what I found out is, that in my version of 
Tomcat (4.0.3) common/lib is defined as "endorsed" in 
bin/setclasspath.bat (for the endorsed standards override mechanism see 
http://java.sun.com/j2se/1.4/docs/guide/standards/). This has the 
effect, that all jars in this directory are loaded by the bootstrap 
class loader (at least in J2SE 1.4). You can verify this by printing out 
the value of the "java.endorsed.dirs" system property. There you will 
find all your jars from common/lib.

I solved the problem by switching to 4.1, where there is a separate 
"endorsed" directory in $CATALINA_HOME/common. All jars from common/lib 
are then normally loaded by the common class loader. I have no idea why 
the 4.0 version marks the common/lib directory as endorsed but in my 
opinon, it is a bug, since it undermines the expected class loader 
hierarchy.

Furthermore the implementation of LogFactory is also buggy. When you 
look at the source code you can see that it does not take into account 
that Class.getClassLoader can return null. This is exactly what happens 
in your case, Dan. The class loader that loads LogFactory is the 
bootstrap class loader. Check where your commons-logging.jar is located. 
It is perhaps at some position where it should not be.

There is a bug report for this exact issue in the Apache bug database, 
but interestingly it is marked "RESOLVED". I should reopen that again.

Regards,
Volker

Dan Payne wrote:

>Thanks for the response, Charlie, but it appears our problems are actuall
>different.  I went ahead and tried the solutions prescribed to Volker but to
>no avail.  It appears, by looking at the local_host log, that the package is
>being found, and the classes loaded no problem.
>
>The only thing that is different between my webapps where an exception is
>not throw and is thrown is that the ones that don't throw the exception are
>a part of the original tomcat install and the ones that do throw the
>exception reside within additional tomcat instances, using the CATALINA_BASE
>env. variable.
>
>-Dan
>
>-----Original Message-----
>From: Cox, Charlie [mailto:ccox@cincom.com]
>Sent: Wednesday, October 09, 2002 3:38 PM
>To: 'Tomcat Users List'
>Subject: RE: Exception starting filter Security Filter
>
>
>someone else had this problem a last week.
>
>http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg68531.html
>
>Charlie
>
>  
>
>>-----Original Message-----
>>From: Dan Payne [mailto:dpayne@sotx.org]
>>Sent: Wednesday, October 09, 2002 1:56 PM
>>To: tomcat-user@jakarta.apache.org
>>Subject: Exception starting filter Security Filter
>>
>>
>>I'm using TC 4.0.4, j2sdk1.4.0_01 and the securityfilter from
>>sourceforge.net, which is a pseudo container managed
>>JDBC/MySQL security
>>realm. it's all running on win2000. i've also upgraded my
>>commons-logging to
>>1.0.2 to see if that helps, but to no avail (although it did
>>change the
>>stack trace).
>>
>>
>>Here's the problem: it works fine when i deploy it in
>>%CATALINA_HOME\webapps\ROOT, but if i try to deploy any app
>>in a tomcat
>>instance, for example %CATALINA_BASE\webapps\ROOT, an
>>exception is thrown
>>when I try to boot up the tomcat instance. It apears in the
>>localhost log,
>>whose excerpt follows: (additionaly, it may be a problem with the
>>commons-logging. if anyone can tell, please let me know and
>>i'll readress
>>the issue with the appropriate party)
>>
>>Thanks, all.
>>
>>-Dan
>>
>>
>>2002-10-09 12:16:34 WebappLoader[/manager]: Deploying class
>>repositories to
>>work directory C:\contexts\sotx\work\Standalone\localhost\manager
>>2002-10-09 12:16:34 StandardManager[/manager]: Seeding random number
>>generator class java.security.SecureRandom
>>2002-10-09 12:16:34 StandardManager[/manager]: Seeding of
>>random number
>>generator has been completed
>>2002-10-09 12:16:34 ContextConfig[/manager]: Added
>>certificates -> request
>>attribute Valve
>>2002-10-09 12:16:34 ContextConfig[/manager]: Configured an
>>authenticator for
>>method BASIC
>>2002-10-09 12:16:35 StandardWrapper[/manager:default]:
>>Loading container
>>servlet default
>>2002-10-09 12:16:35 default: init
>>2002-10-09 12:16:35 StandardWrapper[/manager:invoker]:
>>Loading container
>>servlet invoker
>>2002-10-09 12:16:35 invoker: init
>>2002-10-09 12:16:35 jsp: init
>>2002-10-09 12:16:35 WebappLoader[]: Deploying class
>>repositories to work
>>directory C:\contexts\sotx\work\Standalone\localhost\_
>>2002-10-09 12:16:35 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/adrotate.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\adrotate.jar
>>2002-10-09 12:16:35 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/catalina.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\catalina.jar
>>2002-10-09 12:16:36 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/commons-beanutils.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\commons-beanutils.jar
>>2002-10-09 12:16:36 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/commons-collections.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\commons-collections.jar
>>2002-10-09 12:16:36 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/commons-digester.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\commons-digester.jar
>>2002-10-09 12:16:36 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/commons-logging.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\commons-logging.jar
>>2002-10-09 12:16:36 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/dbtags.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\dbtags.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/jakarta-oro.jar
>>to C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\jakarta-oro.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/jakarta-regexp.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\jakarta-regexp.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/mailer.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\mailer.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/pager-taglib.jar
>>to C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\pager-taglib.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/securityfilter.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\securityfilter.jar
>>2002-10-09 12:16:37 WebappLoader[]: Deploy JAR
>>/WEB-INF/lib/struts.jar to
>>C:\contexts\sotx\webapps\ROOT\WEB-INF\lib\struts.jar
>>2002-10-09 12:16:38 WebappLoader[]: Reloading checks are
>>enabled for this
>>Context
>>2002-10-09 12:16:38 StandardManager[]: Seeding random number
>>generator class
>>java.security.SecureRandom
>>2002-10-09 12:16:38 StandardManager[]: Seeding of random
>>number generator
>>has been completed
>>2002-10-09 12:16:39 ContextConfig[]: Added certificates ->
>>request attribute
>>Valve
>>2002-10-09 12:16:39 StandardContext[]: Exception starting
>>filter Security
>>Filter
>>org.apache.commons.logging.LogConfigurationException:
>>java.lang.NullPointerException
>>	at
>>org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:558)
>>	at
>>org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:355)
>>	at
>>org.apache.commons.logging.LogFactory.getLog(LogFactory.java:409)
>>	at
>>org.apache.commons.digester.Digester.<init>(Digester.java:310)
>>	at
>>org.securityfilter.config.SecurityConfig.loadConfig(SecurityCo
>>nfig.java:206)
>>	at
>>org.securityfilter.filter.SecurityFilter.init(SecurityFilter.java:206)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.getFilter(App
>>licationFilter
>>Config.java:254)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(
>>ApplicationFil
>>terConfig.java:314)
>>	at
>>org.apache.catalina.core.ApplicationFilterConfig.<init>(Applic
>>ationFilterCon
>>fig.java:120)
>>	at
>>org.apache.catalina.core.StandardContext.filterStart(StandardC
>>ontext.java:30
>>77)
>>	at
>>org.apache.catalina.core.StandardContext.start(StandardContext
>>.java:3408)
>>	at
>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>>	at
>>org.apache.catalina.core.StandardHost.start(StandardHost.java:638)
>>	at
>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>>	at
>>org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
>>	at
>>org.apache.catalina.core.StandardService.start(StandardService
>>.java:388)
>>	at
>>org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
>>	at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
>>	at
>>org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>>	at
>>org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>>	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>	at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
>>orImpl.java:39
>>)
>>	at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
>>odAccessorImpl
>>.java:25)
>>	at java.lang.reflect.Method.invoke(Method.java:324)
>>	at
>>org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
>>Caused by: java.lang.NullPointerException
>>	at
>>org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:543)
>>	... 24 more
>>
>>
>>--
>>To unsubscribe, e-mail:
>><mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>>For additional commands, e-mail:
>><mailto:tomcat-user-help@jakarta.apache.org>
>>
>>    
>>
>
>--
>To unsubscribe, e-mail:
><mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail:
><mailto:tomcat-user-help@jakarta.apache.org>
>
>
>
>--
>To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>
>
>
>  
>


--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message