users@jax-rpc.java.net

Document root element is missing & 100% CPU

From: Ted o Donovan <ted.odonovan_at_ECET.COM>
Date: Mon, 11 Nov 2002 09:43:26 -0700

Hi,

We are running version 1.0 of the web services pack with jdk 1.3.1. Every so often we noticed that the java process when running goes to almost 100% cpu. On checking the output of the logs we see the following error bwlow appearing. Why would this corrupt data cause tomcat to go at 100% and so hog the machine to the point that the process needs to be restarted? Surely it can handle bad data?!

XML parsing error: com.sun.xml.rpc.sp.ParseException:1: Document root element is
 missing
        at com.sun.xml.rpc.streaming.XMLReaderImpl.next(XMLReaderImpl.java:110)
        at com.sun.xml.rpc.streaming.XMLReaderBase.nextContent(XMLReaderBase.jav
a:23)
        at com.sun.xml.rpc.streaming.XMLReaderBase.nextElementContent(XMLReaderB
ase.java:41)
        at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:
99)
        at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCSer
vletDelegate.java:151)
        at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:6
9)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2349)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
469)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:405)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:376)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:508)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:518)
        at java.lang.Thread.run(Unknown Source)

CAUSE:

com.sun.xml.rpc.sp.ParseException:1: Document root element is missing
        at com.sun.xml.rpc.sp.Parser2.fatal(Parser2.java:2015)
        at com.sun.xml.rpc.sp.Parser2.fatal(Parser2.java:2000)
        at com.sun.xml.rpc.sp.Parser2.parseContent(Parser2.java:2948)
        at com.sun.xml.rpc.sp.Parser2.parse(Parser2.java:2360)
        at com.sun.xml.rpc.streaming.XMLReaderImpl.next(XMLReaderImpl.java:105)
        at com.sun.xml.rpc.streaming.XMLReaderBase.nextContent(XMLReaderBase.jav
a:23)
        at com.sun.xml.rpc.streaming.XMLReaderBase.nextElementContent(XMLReaderB
ase.java:41)
        at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:
99)
        at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCSer
vletDelegate.java:151)
        at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:6
9)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2349)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:646)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
469)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:644)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:483)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:405)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:376)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:508)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:518)
        at java.lang.Thread.run(Unknown Source)

Cheers,
Ted.