2013-01-13 19 views
6

Aktualnie debuguję pozornie losowy błąd w naszych aplikacjach. Postaram się przedstawić jak najwięcej szczegółów. Zasadniczo po pewnym czasie przestaje działać jedna z pul aplikacji dla aplikacji na naszym serwerze. Muszę go uruchomić, lub czasami zrestartować Coldfusion lub, co gorsza, maszynę, aby wszystko znów działało.KOD: Błąd w getRealPathFromConn

Logi serwera wskazują, że pula została zatrzymana z powodu zdarzenia o szybkiej awarii w IIS. (Aplikacja przesyła X liczby błędów w krótkim czasie, więc IIS zatrzymuje aplikację)

Przechodzenie przez logi błędów ColdFusion Dostaję ten w momencie wystąpienia błędu IIS, który zatrzymuje moją pulę.

ciężkie: Błąd w getRealPathFromConn java.net.SocketException: reset połączenia Peer: błąd zapisu gniazda w java.net.SocketOutputStream.socketWrite0 (metoda podstawowa) w java.net.SocketOutputStream.socketWrite (SocketOutputStream .java: 92) na java.net.SocketOutputStream.write (SocketOutputStream.java:124) w org.apache.coyote.ajp.AjpProcessor.getRealPathFromServer (AjpProcessor.java:391) ... i tak dalej

Jeśli naprawdę potrzebujesz pełnego śladu, mogę go dostarczyć, ale jest długi. Nie jestem pewien, o co chodzi w getRealPathFromConn. Próbowałem Googling, ale jeszcze nie doszedłem do wniosku. W śladach prowadzą do różnych plików w różnych aplikacjach, ale wydaje się, że omawiane linie nie mają ze sobą nic wspólnego.

Wszelkie przemyślenia na temat tego, co może być przyczyną lub gdzie powinienem szukać, pomogłyby mi.

EDYCJA: Zapomniałem powiedzieć, że "wierzę", że zaczęło się w poniedziałek. Jedyną rzeczą, która zmieniła się przed poniedziałkiem była następująca.

Mamy struktury aplikacji:

root/app1/application.cfc 
root/app2/application.cfc 
root/app3/application.cfc 
root/app3/website1 
root/app3/website2 
root/app3/website3 

zmieniłem strukturę więc dwie strony mają swoje własne application.cfc bo powoli rozwijają się zmiany, jak działają strony internetowe. Testuję to na dwóch z nich na teraz. Odkąd wprowadziłem tę zmianę, aplikacja, która powoduje awarię puli aplikacji dla aplikacji1. Nie ma żadnej z witryn, ale mam wrażenie, że może być powiązana.

UPDATE Zaktualizowano Coldfusion do najnowszej wersji. (10,0, 27, 28, 3649) Systemy działały przez około tydzień i dziś rano rozbiłem się.

Coldfusion-error.log w tym czasie:

Jan 25, 2013 8:09:11 AM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in  production environments was not found on the java.library.path:  C:\\ColdFusion10\\cfusion\lib;C:\\ColdFusion10\\cfusion\jintegra\bin;C:\\ColdFusion10\\cfus ion\jintegra\bin\international;C:\\ColdFusion10\\cfusion\lib\oosdk\classes\win 
Jan 25, 2013 8:09:12 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8012"] 
Jan 25, 2013 8:09:12 AM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jan 25, 2013 8:09:12 AM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23 
Jan 25, 2013 8:09:21 AM org.apache.catalina.core.ApplicationContext log 
INFO: ColdFusionStartUpServlet: ColdFusion: Starting application services 
Jan 25, 2013 8:09:21 AM org.apache.catalina.core.ApplicationContext log 
INFO: ColdFusionStartUpServlet: ColdFusion: VM version = 20.4-b02 
Jan 25, 2013 8:09:29 AM org.apache.catalina.core.ApplicationContext log 
INFO: CFMxmlServlet: Macromedia Flex Build: 87315.134646 
Jan 25, 2013 8:09:35 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8012"] 
Jan 25, 2013 8:09:35 AM com.adobe.coldfusion.launcher.Launcher run 
INFO: Server startup in 25362 ms 
Jan 25, 2013 8:10:04 AM org.apache.coyote.ajp.AjpProcessor getRealPathFromServer 
SEVERE: Error in getRealPathFromConn 
java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:168) 
at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:319) 
at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:445) 
at org.apache.coyote.ajp.AjpProcessor.readString(AjpProcessor.java:425) 
at org.apache.coyote.ajp.AjpProcessor.getRealPathFromServer(AjpProcessor.java:407) 
at org.apache.coyote.ajp.AbstractAjpProcessor.getRealPath(AbstractAjpProcessor.java:1154) 
at org.apache.naming.resources.FileDirContext.doGetRealPath(FileDirContext.java:198) 
at org.apache.naming.resources.BaseDirContext.getRealPath(BaseDirContext.java:412) 
at org.apache.catalina.core.StandardContext.getRealPath(StandardContext.java:4475) 
at org.apache.catalina.core.ApplicationContext.getRealPath(ApplicationContext.java:414) 
at org.apache.catalina.core.ApplicationContextFacade.getRealPath(ApplicationContextFacade.java:335) 
at coldfusion.runtime.ServletContextWrapper.doGetRealPath(ServletContextWrapper.java:179) 
at coldfusion.runtime.ServletContextWrapper._doGetRealPath(ServletContextWrapper.java:116) 
at coldfusion.runtime.ServletContextWrapper.getRealPath(ServletContextWrapper.java:98) 
at coldfusion.runtime.TemplateProxyFactory.getFullName(TemplateProxyFactory.java:1092) 
at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:202) 
at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:159) 
at coldfusion.runtime.TemplateProxyFactory.resolveFile(TemplateProxyFactory.java:120) 
at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:138) 
at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:84) 
at coldfusion.runtime.AppEventInvoker.<init>(AppEventInvoker.java:64) 
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:226) 
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) 
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) 
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112) 
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) 
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) 
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) 
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) 
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) 
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) 
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) 
at coldfusion.CfmServlet.service(CfmServlet.java:219) 
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
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.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) 
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

Wyjątkiem GetRealPathFromConn przedostaje się około 20 razy i tak jeden po drugim. w przeglądarce zdarzeń mam oczywiście 5 Ostrzeżenia tuż przed IIS zamknąć basen:

A process serving application pool 'domain.com' terminated unexpectedly. The process id was '3732'. The process exit code was '0xff'. 
A process serving application pool 'domain.com' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3052'. The data field contains the error number. 
A process serving application pool 'domain.com' terminated unexpectedly. The process id was '7972'. The process exit code was '0xff'. 
A process serving application pool 'domain.com' suffered a fatal communication error with the Windows Process Activation Service. The process id was '4736'. The data field contains the error number. 
A process serving application pool 'domain.com' terminated unexpectedly. The process id was '8016'. The process exit code was '0xff'. 
Application pool 'domain.com' is being automatically disabled due to a series of failures in the process(es) serving that application pool. 
+0

Sprawdź to dyskusja na forach Adobe [proszę o pomoc - Losowa HTTP 503 Internal server error] (http: //forums.adobe .com/message/4659435). Czy to pasuje do twojego problemu? Wystąpił błąd [https://bugbase.adobe.com/index.cfm?event=bug&id=3222748] i poprawka zastosowana w aktualizacji 4 wydanej w listopadzie 2012 r. Jakiej wersji używasz? –

+0

Używamy CF10, ale od jakiegoś czasu. Problem ten pojawił się ostatnio, więc "zakładając", że to nie był problem, o którym mówili, chociaż pliki dziennika są podobne. Przeczytałem ten wątek i spojrzałem na naszą instancję CF, a my jeszcze nie zastosowaliśmy żadnej aktualizacji do CF. Również błąd (https://bugbase.adobe.com/index.cfm?event=bug&id=3222748) wskazuje, że jest to spowodowane otrzymaniem POST z typem XML. Nie sądzę, że to się tutaj dzieje, ale będę potrzebował zaktualizować naszą instancję CF, i sprawdzić ponownie. – Leeish

+0

To moja. Po aktualizacji faktycznie zrestartowałem serwer, po prostu coldfusion. Po ostatniej awarii musiałem zrestartować serwer. Jak na razie dobrze. To było 5 dni. Jeśli minie dwa tygodnie, będziecie zdumieni. – Leeish

Odpowiedz

0

Tak, ten problem jest/był „związany” do stałej CF błędu. Jednak nadal mamy problem, ale ten błąd nie występuje już w dziennikach.

Kwestia, o której myślimy, dotyczy wtyczki IIS/Tomcat, z której korzysta Coldfusion. Zamierzam to zamknąć, ponieważ zostało to naprawione w poprawce, ale problem nadal występuje.

nie wiem jak przenieść go do mojego ServerFault pytanie: https://serverfault.com/questions/487643/tomcat-cf10-iis7-5-connector-tuning-help-503-errors