Error reading request ignored

My spring-boot application fails after start with an NPE in the tomcat server when running on azure kubernetes service with SSL. First, what does work successfully: I have a minimal Spring-boot

My spring-boot application fails after start with an NPE in the tomcat server when running on azure kubernetes service with SSL.

First, what does work successfully:
I have a minimal Spring-boot application created with Spring Initializr:

  • Gradle project
  • Java 11
  • Spring Boot 2.1.8
  • The only dependency: Spring Web

I want to use it with a kubernetes cluster on the azure cloud. For this, I have an Azure Kubernetes Service (AKS). And I use jib for building the docker image.
Up to this point, everything works fine. I can deploy my docker image to the azure docker registry, start a kubernetes cluster (with 1 node) and I get my «hello world» after calling «http://public-ip:8443/hello».
I use port 8443 but with normal http to make sure that this port is not the source of my problem.

I want my application to support HTTPS, therefore I made a self-signed certificate with keytool (like described here: Enable HTTPS with self-signed certificate in Spring Boot 2.0).
This works fine on localhost.
It also works inside minikube running on localhost.
But when I use that docker image on AKS, my application fails a few seconds after startup.

I activated

logging.level.org.apache.tomcat=DEBUG
logging.level.org.apache.catalina=DEBUG

in my application.properties.
The output of my application is:

2019-09-19 08:22:51.291  INFO 1 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 9.623 seconds (JVM running for 10.419)
2019-09-19 08:22:53.775 DEBUG 1 --- [o-8443-Acceptor] o.apache.tomcat.util.threads.LimitLatch  : Counting up[https-jsse-nio-8443-Acceptor] latch=1
2019-09-19 08:22:58.764 DEBUG 1 --- [o-8443-Acceptor] o.apache.tomcat.util.threads.LimitLatch  : Counting up[https-jsse-nio-8443-Acceptor] latch=2
2019-09-19 08:22:58.793 DEBUG 1 --- [nio-8443-exec-1] org.apache.tomcat.util.modeler.Registry  : Managed= Tomcat:type=RequestProcessor,worker="https-jsse-nio-8443",name=HttpRequest1
2019-09-19 08:22:58.793 DEBUG 1 --- [nio-8443-exec-1] org.apache.tomcat.util.modeler.Registry  : Looking for descriptor 
2019-09-19 08:22:58.793 DEBUG 1 --- [nio-8443-exec-1] org.apache.tomcat.util.modeler.Registry  : Introspecting 
2019-09-19 08:22:58.793 DEBUG 1 --- [nio-8443-exec-1] m.m.MbeansDescriptorsIntrospectionSource : Introspected attribute virtualHost public java.lang.String org.apache.coyote.RequestInfo.getVirtualHost() null
<snipped 20 lines of "Introspected attribute xyz">
2019-09-19 08:22:58.796 DEBUG 1 --- [nio-8443-exec-1] m.m.MbeansDescriptorsIntrospectionSource : Introspected attribute lastRequestProcessingTime public long org.apache.coyote.RequestInfo.getLastRequestProcessingTime() public void org.apache.coyote.RequestInfo.setLastRequestProcessingTime(long)
2019-09-19 08:22:58.796 DEBUG 1 --- [nio-8443-exec-1] m.m.MbeansDescriptorsIntrospectionSource : Introspected attribute errorCount public int org.apache.coyote.RequestInfo.getErrorCount() public void org.apache.coyote.RequestInfo.setErrorCount(int)
2019-09-19 08:22:58.796 DEBUG 1 --- [nio-8443-exec-1] m.m.MbeansDescriptorsIntrospectionSource : Setting name: org.apache.coyote.RequestInfo
2019-09-19 08:22:58.797 DEBUG 1 --- [nio-8443-exec-1] o.a.tomcat.util.modeler.BaseModelMBean   : preRegister org.apache.coyote.RequestInfo@21c6ab25 Tomcat:type=RequestProcessor,worker="https-jsse-nio-8443",name=HttpRequest1
2019-09-19 08:22:58.797 ERROR 1 --- [nio-8443-exec-1] o.a.coyote.http11.Http11NioProtocol      : Error reading request, ignored

java.lang.NullPointerException: null
    at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.getSslSupport(NioEndpoint.java:1392) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1593) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

Can anyone give me a hint what my problem might be?
Thanks!

We have a web application using Tomcat configured to use HTTP/2

Sometimes (about 1 out of 10) when reloading a web page one or more resources fails to load, typically style.css, with error connection reset reported by web browser.

In the catalina log file the following it logged:
>27-Jan-2021 16:59:02.435 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch Entry, Connection [2], SocketStatus [OPEN_READ]
>27-Jan-2021 16:59:02.435 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.init Connection [2], State [CONNECTED]
>27-Jan-2021 16:59:02.436 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2Parser.validateFrame Connection [2], Stream [1019], Frame type [HEADERS], Flags [37], Payload size [44]
>27-Jan-2021 16:59:02.436 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [2] Starting pruning of old streams. Limit is [100] + 10% and there are currently [509] streams.
>27-Jan-2021 16:59:02.436 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [2] Pruned completed stream [1]
>27-Jan-2021 17:00:23.798 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [2] Pruned completed stream [3]
>27-Jan-2021 17:00:57.370 FINE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [2] Pruned completed stream [1]
>27-Jan-2021 17:01:18.505 SEVERE [https-openssl-apr-0.0.0.0-8443-exec-2] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
>	java.lang.NullPointerException
>		at org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams(Http2UpgradeHandler.java:1249)
>		at org.apache.coyote.http2.Http2UpgradeHandler.createRemoteStream(Http2UpgradeHandler.java:1129)
>		at org.apache.coyote.http2.Http2UpgradeHandler.headersStart(Http2UpgradeHandler.java:1508)
>		at org.apache.coyote.http2.Http2Parser.readHeadersFrame(Http2Parser.java:225)
>		at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:99)
>		at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:71)
>		at org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:339)
>		at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
>		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
>		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
>		at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:1991)
>		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>		at java.lang.Thread.run(Thread.java:748)

We see this with multiple web browsers including Chrome (88.0.4324.104) and Firefox (84.0.2)

Tomcat is configured to use HTTP/2 with default values.

In order to reproduce this issue we continuously reload a web page until issue occurs.

After examining the logs and the code (Http2UpgradeHandler.java:1249) it seems to me that the same stream is pruned twice, in the same go, and the second time its parent is already removed resulting in a NPE due to variable parent is null.


Comment 1


Mark Thomas



2021-02-01 11:04:23 UTC

The issue looks like concurrent modification of Http2UpgradeHandler.streams to me. I think pruning needs to be performed while holding the priorityTreeLock but I want to try and recreate this to confirm that theory before looking at a fix.


Comment 2


Mark Thomas



2021-02-01 15:37:35 UTC

Fixed in:
- 10.0.x for 10.0.3 onwards
- 9.0.x for 9.0.44 onwards
- 8.5.x for 8.5.63 onwards

7.0.x is not affected.


Comment 3


Mattias



2021-02-08 13:43:15 UTC

I have now tested the fix for this issue using SNAPSHOT tomcat-9.0-20210208.120325-3060.

I am afraid that the fix does not solve the issue. I still get a null pointer exception at the same place in the code (however other row number 1252).

>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Starting pruning of old streams. Limit is [500] and there are currently [509] streams.
>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Pruned completed stream [1]
>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Pruned completed stream [3]
>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Pruned completed stream [5]
>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Pruned completed stream [7]
>08-Feb-2021 14:07:10.564 FINE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams Connection [1] Pruned completed stream [5]
>08-Feb-2021 14:07:10.565 SEVERE [https-openssl-apr-0.0.0.0-8443-exec-34] org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
>	java.lang.NullPointerException
>		at org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams(Http2UpgradeHandler.java:1252)
>		at org.apache.coyote.http2.Http2UpgradeHandler.createRemoteStream(Http2UpgradeHandler.java:1129)
>		at org.apache.coyote.http2.Http2UpgradeHandler.headersStart(Http2UpgradeHandler.java:1512)
>		at org.apache.coyote.http2.Http2Parser.readHeadersFrame(Http2Parser.java:225)
>		at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:99)
>		at org.apache.coyote.http2.Http2Parser.readFrame(Http2Parser.java:71)
>		at org.apache.coyote.http2.Http2UpgradeHandler.upgradeDispatch(Http2UpgradeHandler.java:339)
>		at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60)
>		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
>		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
>		at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:1991)
>		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>		at java.lang.Thread.run(Thread.java:748)


For testing purposes I changed the source code in Http2UpgradeHandler line 1252. 

From 
> while (toClose > 0 && parent.getIdAsInt() > 0 && parent.getIdAsInt() < stream.getIdAsInt() && parent.getChildStreams().isEmpty()) {
To
>  while (toClose > 0 && parent != null && parent.getIdAsInt() > 0 && parent.getIdAsInt() < stream.getIdAsInt() && parent.getChildStreams().isEmpty()) {
In order to avoid the NPE. This fix solved the issue. At least no NPE was thrown and no problem with loading resources could be seen in the web browsers. 
I hope this can help you pin point the root cause.


Comment 4


Mark Thomas



2021-02-18 09:38:47 UTC

That patch looks to be tackling the symptom rather than the root cause. My concern is that the root cause may trigger other errors.

What would really help here is a test case (ideally a simple WAR) that demonstrates the issue.


Comment 5


Mattias



2021-02-18 09:41:08 UTC

(In reply to Mark Thomas from comment #4)
> That patch looks to be tackling the symptom rather than the root cause. My
> concern is that the root cause may trigger other errors.
> 
> What would really help here is a test case (ideally a simple WAR) that
> demonstrates the issue.

I understand. I will try to create a test case that you can use.


Comment 6


Mark Thomas



2021-02-22 13:06:54 UTC

Moving to NEEDINFO as we need a test case for this.


Comment 7


Mark Thomas



2021-02-22 13:51:39 UTC

Woot! I managed to trigger this locally just with Tomcat's default home page. Investigating...


Comment 8


Mark Thomas



2021-02-22 16:35:27 UTC

Found it. The priority hierarchy was being corrupted when a closed stream was replaced with a RecycledStream instance.

Fixed in:
- 10.0.x for 10.0.3 onwards
- 9.0.x for 9.0.44 onwards
- 8.5.x for 8.5.63 onwards

7.0.x is not affected.


Comment 9


Gerard M. Davison



2022-05-10 09:49:34 UTC

Still seen in 9.0.55:

 Exception in thread "https-jsse-nio-8443-exec-6" java.lang.NullPointerException
[INFO] [talledLocalContainer] 	at org.apache.coyote.http2.Http2UpgradeHandler.pruneClosedStreams(Http2UpgradeHandler.java:1293)
[INFO] [talledLocalContainer] 	at org.apache.coyote.http2.Http2UpgradeHandler.createRemoteStream(Http2UpgradeHandler.java:1170)
[INFO] [talledLocalContainer] 	at org.apache.coyote.http2.Http2UpgradeHandler.headersStart(Http2UpgradeHandler.java:1596)
[INFO] [talledLocalContainer] 	at org.apache.coyote.http2.Http2AsyncUpgradeHandler.headersStart(Http2AsyncUpgradeHandler.java:41)
[INFO] [talledLocalContainer] 	at org.apache.coyote.http2.Http2Parser.readHeadersFrame(Http2Parser.java:226)


Comment 10


Mark Thomas



2022-05-27 10:29:42 UTC

Thanks for the report.

I've taken another look at the code and I have found what I believe is the remaining root cause of the NPE.

Fixed in:
- 10.1.x for 10.1.0-M16 onwards
- 10.0.x for 10.0.22 onwards
- 9.0.x for 9.0.64 onwards
- 8.5.x for 8.5.80 onwards

I saw the following in tomcat logs

09-Sep-2019 21:04:04.268 SEVERE [https-jsse-nio2-8443-exec-13]
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error
reading request, ignored java.lang.NullPointerException

I saw that the fix for the above is to use NIO2 but I already use it.

08-Sep-2019 22:32:14.979 INFO [https-jsse-nio2-8443-exec-16]
org.apache.coyote.http11.Http11Processor.service Error parsing HTTP
request header Note: further occurrences of HTTP request parsing
errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method
name. HTTP method names must be tokens

I read that it’s something related to http/https. I’m calling tomcat with https, port 8443 and both clients (mobile app and windows application) are calling it with https… what am I missing?

07-Sep-2019 20:50:49.005 INFO [https-jsse-nio2-8443-exec-18]
org.apache.tomcat.util.http.Parameters.processParameters Invalid chunk
starting at byte [48] and ending at byte [49] with a value of [=]
ignored

That I don’t even know what it means and why.

Let me know if more info is needed, thanks a lot.

log from undeploy/deploy war if relevant

05-Sep-2019 16:37:59.517 INFO [https-jsse-nio2-8443-exec-8]
org.apache.catalina.startup.HostConfig.undeploy Undeploying context
[/app] 05-Sep-2019 16:38:14.028 INFO [https-jsse-nio2-8443-exec-1]
org.apache.catalina.startup.HostConfig.deployWAR Deploying web
application archive [/opt/tomcat/apache-tomcat-9.0.24/webapps/app.war]
05-Sep-2019 16:38:17.971 INFO [https-jsse-nio2-8443-exec-1]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger fo$05-Sep-2019 16:38:18.011 INFO [https-jsse-nio2-8443-exec-1]
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
application archive [/opt/tomcat/apache-tomcat-9.0.24/webapps/app.war]
has$SLF4J: Failed to load class «org.slf4j.impl.StaticLoggerBinder».
SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J:
See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
details. 05-Sep-2019 16:38:37.418 WARNING [grpc-default-executor-0]
io.grpc.netty.shaded.io.netty.util.internal.MacAddressUtil.defaultMachineId
Failed to find a usable hardware address from the network interfaces;
u$

Я разрабатываю веб-приложение с использованием Spring3, JSF2 и Primefaces3 в Tomcat6 … Мое приложение отлично работает, если я использую Firefox. Если я запускаю приложение также с IE 8, я получаю стек исключений, показанный ниже. Это очень странно, потому что, если бы были проблемы с несовместимостью, я бы ожидал визуальных ошибок, а не чего-то, что вызвано apache tomcat …

Стек исключения:

 SEVERE: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
        at org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:267)
        at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1558)
        at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956)
        at org.apache.coyote.Response.action(Response.java:183)
        at org.apache.coyote.Response.sendHeaders(Response.java:379)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314)
        at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:296)
        at org.apache.catalina.connector.Response.flushBuffer(Response.java:549)
        at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:272)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Nov 14, 2011 10:27:05 AM org.apache.coyote.http11.Http11Processor process
SEVERE: Error finishing response
java.lang.NullPointerException
        at org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:267)
        at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1558)
        at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956)
        at org.apache.coyote.Response.action(Response.java:181)
        at org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:398)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:901)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Nov 14, 2011 10:27:05 AM org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler process
SEVERE: Error reading request, ignored
java.lang.NullPointerException
        at org.apache.tomcat.util.http.MimeHeaders.clear(MimeHeaders.java:130)
        at org.apache.coyote.Response.recycle(Response.java:579)
        at org.apache.coyote.http11.InternalOutputBuffer.nextRequest(InternalOutputBuffer.java:368)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:923)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)

и

    SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.servlet.ServletException: OncePerRequestFilter just supports HTTP requests
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:62)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at creazione.exception.MyFilter.doFilter(MyFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)

PS: Я также добавил JSF, Spring и Primefaces в качестве тегов, потому что это может быть проблемой несовместимости.

EDIT:

aopalliance-1.0.jar
asm-1.5.1.jar
aspectj-1.6.3.jar
aspectjrt-1.6.0.jar
aspectjweaver.jar
commons-dbcp-1.4.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-net-1.4.1.jar
commons-pool-1.5.6.jar
jakarta-oro-2.0.8.jar
javax.jms.jar
jndi.jar
oracle10g.jar
SPRING 3.0.6 library
primefaces-3.0.M4.jar
hibernate-persistence library
JSF2.1.4 (but I've changed back to jsf2.1.3)
jstl 11 library
junit lib
junit_4 lib

С тех пор, как я вернулся к jsf 2.1.3, поведение IE немного изменилось: иногда страница отображается, но кнопки заморожены, иногда компоненты отображаются хаотично, а иногда я получаю ошибку HTTP 404 — очень странно!

Понравилась статья? Поделить с друзьями:
  • Error pull is not possible because you have unmerged files
  • Error reading phone init data при прошивке
  • Error publishing stream
  • Error reading partition table drive 01 sector 0
  • Error public symbol defined in both module