СЕРЬЕЗНАЯ: Servlet.service() для сервлета [CfmServlet] в контексте с путем [/] выдал исключение

СЕРЬЕЗНАЯ: Servlet.service() для сервлета [CfmServlet] в контексте с путем [/] выдал исключение

Мы уже некоторое время работаем с CF 11 U5 без каких-либо проблем. Мы работаем с CF Enterprise на IIS 8.5 на сервере 2k12 64bit.

Недавно некоторые из наших клиентов жаловались, что когда они загружают файлы с помощью наших различных методов загрузки файлов, они получают ошибки обратно. Это ошибки браузера, сообщающие им о том, что соединение было сброшено или страница не может быть отображена и т. д.

Похоже, это происходит только тогда, когда размер файла превышает 300-400 кб. У нас нет ограничений в IIS, так как 95% наших других клиентов не испытывают проблем с загрузкой файлов размером до 200 МБ.

Ничего не изменилось в коде, который запускает эти загрузки. У нас есть смесь стандартных страниц с формой поста, которую CF затем загружает изображение на некоторые страницы, которые используют плагины загрузки файлов jquery, которые публикуют на страницах CF, которые выполняют загрузку.

Кажется, что ничего не загружается, и пользователь довольно быстро получает ошибку обратно в течение 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% случаев. Так что для них это не периодическая проблема. Эта ошибка появляется при каждой попытке. Для всех наших других клиентов у них вообще нет никаких проблем.

Эта ошибка меня озадачила. Что может вызвать эту ошибку у нескольких избранных людей, загружающих файлы?

Есть идеи?

Связанный контент