심각: [/] 경로가 있는 컨텍스트에서 서블릿 [CfmServlet]에 대한 Servlet.service()에서 예외가 발생했습니다.

심각: [/] 경로가 있는 컨텍스트에서 서블릿 [CfmServlet]에 대한 Servlet.service()에서 예외가 발생했습니다.

우리는 한동안 전혀 문제 없이 CF 11 U5를 실행해 왔습니다. 우리는 서버 2k12 64비트의 IIS 8.5에서 CF Enterprise를 실행합니다.

최근 몇몇 고객이 다양한 파일 업로드 방법을 통해 파일을 업로드할 때 오류가 발생한다고 불평했습니다. 이러한 오류는 연결이 재설정되었거나 페이지를 표시할 수 없다는 등의 브라우저 오류입니다.

이는 파일 크기가 300-400kb를 초과하는 경우에만 발생하는 것 같습니다. 다른 클라이언트의 95%가 최대 200MB의 파일을 업로드하는 데 문제가 없으므로 IIS에는 제한이 없습니다.

이러한 업로드를 실행하는 코드에는 변경된 사항이 없습니다. 표준 페이지와 CF가 업로드를 수행하는 CF 페이지에 게시되는 jquery 파일 업로드 플러그인을 사용하는 일부 페이지에 이미지를 업로드하는 양식 게시물이 혼합되어 있습니다.

아무 것도 업로드되지 않은 것 같고 사용자는 업로드 시작 후 2~5초 이내에 오류를 매우 빠르게 다시 받게 됩니다. 업로드되는 파일은 일반적인 이미지(jpg) 또는 zip 파일입니다.

이것은 제한된 수의 사람들에게만 영향을 미치는 것 같습니다. 내 측에서 동일한 파일을 업로드하는 문제를 재현하려고 할 때마다 문제를 볼 수 없으며 모든 것이 의도한 대로 작동합니다. 다른 많은 고객도 업로드하는 데 문제가 없습니다.

IIS 로그를 보면 400 오류가 발생합니다. 실패한 요청 로그는 잘못된 요청임을 알려줍니다.

Coldfusion 오류 로그를 보면 시도할 때 다음 오류가 발생합니다.

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [/] threw exception
java.io.IOException: Socket read failed
  at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:325)
  at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:447)
  at org.apache.coyote.ajp.AjpProcessor.receive(AjpProcessor.java:343)
  at org.apache.coyote.ajp.AbstractAjpProcessor.refillReadBuffer(AbstractAjpProcessor.java:685 )
  at org.apache.coyote.ajp.AbstractAjpProcessor$SocketInputBuffer.doRead(AbstractAjpProcessor. java:1209)
  at org.apache.coyote.Request.doRead(Request.java:430)
  at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290)
  at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:449)
  at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315)
  at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)
  at com.oreilly.servlet.multipart.BufferedServletInputStream.fill(BufferedServletInputStream. java:64)
  at com.oreilly.servlet.multipart.BufferedServletInputStream.readLine(BufferedServletInputStr eam.java:108)
  at com.oreilly.servlet.multipart.LimitedServletInputStream.readLine(LimitedServletInputStrea m.java:60)
  at com.oreilly.servlet.multipart.PartInputStream.fill(PartInputStream.java:93)
  at com.oreilly.servlet.multipart.PartInputStream.read(PartInputStream.java:191)
  at com.oreilly.servlet.multipart.PartInputStream.read(PartInputStream.java:152)
  at com.oreilly.servlet.multipart.FilePart.write(FilePart.java:252)
  at com.oreilly.servlet.multipart.FilePart.writeTo(FilePart.java:211)
  at coldfusion.filter.FormScope.fillForm(FormScope.java:338)
  at coldfusion.filter.FusionContext.SymTab_initForRequest(FusionContext.java:512)
  at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:33)
  at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
  at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
  at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:151)
  at coldfusion.CfmServlet.service(CfmServlet.java:219)
  at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:303)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 )
  at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:241)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422)
  at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199)
  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:607)
  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.lang.Thread.run(Unknown Source)

이 문제는 일부 고객에게 영향을 주지만, 그들은 항상 100% 문제를 겪고 있습니다. 따라서 그들에게는 간헐적인 문제가 아닙니다. 이 오류는 시도할 때마다 나타납니다. 다른 모든 고객에게는 전혀 문제가 없습니다.

이 오류는 제가 당황한 부분입니다. 선택된 소수의 사람들이 파일을 업로드할 때 이 오류가 발생할 수 있는 이유는 무엇입니까?

어떤 아이디어가 있나요?

관련 정보