You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Steinar Bang <sb...@dod.no> on 2002/10/27 19:12:41 UTC

VerifyError creating action bean in tomcat4 (not tomcat 3.3)

Platform: Intel PIII, RedHat 7.2, apache 1.3.20, ajp1.3
	  tomcat 4.1.12, BlackDown Java SDK 1.3.1,
	  Struts 1.1-b2

When I run with tomcat 3.3 my webapp run as expected, but when I try
it with tomcat 4.1.12, I get a VerifyError when creating one of the
webapp's Action beans.  The error output is attached to the end of
this message.

I've searched www.google.com for this problem, and I've found that
some people have had problems with custom tags when changing to
tomcat4, but I haven't found anyone having problems with actions.

I have cleaned away the webapp, rebuilt it, and stopped and started
tomcat, to make sure it hadn't cached a broken .class file.

The <action> definition from struts-config.xml, is:

    <action    path="/main" 
               type="no.dod.TPS.corba.stb.WelcomeAction"
               scope="request">
      <forward name="success"      path="/stb/main.jsp"/>
    </action>

Has anyone seen a similar problem?  Does anyone know what to do to fix
it?

Thanx!


- Steinar



[INFO] RequestProcessor - -Processing a 'GET' for path '/main'
java.lang.VerifyError: (class: no/dod/TPS/corba/stb/WelcomeAction, method: doPerform signature: (Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lno/dod/T
	at java.lang.Class.newInstance0(Native Method)
	at java.lang.Class.newInstance(Class.java:237)
	at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:219)
	at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:314)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:258)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown Source)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown Source)
	at org.apache.catalina.core.ApplicationDispatcher.forward(Unknown Source)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1019)
	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:422)
	at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:389)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:269)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:492)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
	at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
	at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(Unknown Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)
	at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)
	at java.lang.Thread.run(Thread.java:484)
[ERROR] RequestProcessor - -No action instance for path /main could be created <java.lang.VerifyError: (class: no/dod/TPS/corba/stb/WelcomeAction, method: doPerform signature: (Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lno/dod/T>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: VerifyError creating action bean in tomcat4 (not tomcat 3.3)

Posted by Steinar Bang <sb...@dod.no>.
>>>>> Steinar Bang <sb...@dod.no>:

>> Platform: Intel PIII, RedHat 7.2, apache 1.3.20, ajp1.3
>> 	     tomcat 4.1.12, BlackDown Java SDK 1.3.1,
>> 	     Struts 1.1-b2, xerces-j 1.4.4

>> When I run with tomcat 3.3 my webapp run as expected, but when I try
>> it with tomcat 4.1.12, I get a VerifyError when creating one of the
>> webapp's Action beans. 
[snip!]
>> [ERROR] RequestProcessor - -No action instance for path /main could be created <java.lang.VerifyError: (class: no/dod/TPS/corba/stb/WelcomeAction, method: doPerform signature: (Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lno/dod/T>

When I replaced
 <pathelement location="${deploy.home}/WEB-INF/lib/xerces.jar"/>
with
 <pathelement location="/var/tomcat4/common/endorsed/jaxp_parser_impl.jar"/>
in the <classpath> element in the <javac> task of the ant build file,
the problem went away.

This is replacing (an unknown version of) xerces.jar in our CVS, with
the version 2-something of xerces distributed with tomcat 4.1.12.



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: VerifyError creating action bean in tomcat4 (not tomcat 3.3)

Posted by Steinar Bang <sb...@dod.no>.
>>>>> Steinar Bang <sb...@dod.no>:

> Platform: Intel PIII, RedHat 7.2, apache 1.3.20, ajp1.3
> 	  tomcat 4.1.12, BlackDown Java SDK 1.3.1,
> 	  Struts 1.1-b2, xerces-j 1.4.4

> When I run with tomcat 3.3 my webapp run as expected, but when I try
> it with tomcat 4.1.12, I get a VerifyError when creating one of the
> webapp's Action beans.  The error output is attached to the end of
> this message.
[snip!]
> The <action> definition from struts-config.xml, is:

>     <action    path="/main" 
>                type="no.dod.TPS.corba.stb.WelcomeAction"
>                scope="request">
>       <forward name="success"      path="/stb/main.jsp"/>
>     </action>
[snip!]
> [ERROR] RequestProcessor - -No action instance for path /main could be created <java.lang.VerifyError: (class: no/dod/TPS/corba/stb/WelcomeAction, method: doPerform signature: (Lorg/apache/struts/action/ActionMapping;Lorg/apache/struts/action/ActionForm;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lno/dod/T>

The problem is releated to the use of org.apache.xerces.parsers.SAXParser
in the Action bean it can't create.

A call to SAXParser.setContentHandler(), can be left in place, but
when I remove the calls to SAXParser.reset() and SAXParser.parse(), (I
have to remove both) the VerifyError problem goes away.

But of course the Action bean isn't very functional.

I thought this might have something to do with colliding versions of
xerces.jar, so I've replaced
 <pathelement location="${deploy.home}/WEB-INF/lib/xerces.jar"/>
with
 <pathelement location="/usr/share/java/xerces.jar"/>
,removed xerces.jar from the WEB-INF/lib directory of the compiled
webapp, and done a complete rebuild of the webapp, but I still get the
VerifyError.

I belive /usr/share/java/xerces.jar, which is the the version
installed by the xerces-j 1.4.4 RPM, is the version used by tomcat
4.1.12 (is there a way to find out what xerces.jar file it loads?).

Any hints and guesses that might shed some light on this problem, are
appreciated! 

Thanx!


- Steinar



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>