Thanks, Volker.  Very informative.  I'll do a little investigating on my end
and let you know what I find out.

Thanks again.

-Dan

-----Original Message-----
From: Volker Leidl [mailto:[EMAIL PROTECTED]]
Sent: Thursday, October 10, 2002 3:14 AM
To: Tomcat Users List
Subject: Re: Exception starting filter Security Filter


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:[EMAIL PROTECTED]]
>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:[EMAIL PROTECTED]]
>>Sent: Wednesday, October 09, 2002 1:56 PM
>>To: [EMAIL PROTECTED]
>>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:[EMAIL PROTECTED]>
>>For additional commands, e-mail:
>><mailto:[EMAIL PROTECTED]>
>>
>>
>>
>
>--
>To unsubscribe, e-mail:
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>
>
>
>
>--
>To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>
>
>


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to