[pgsql-jp: 35586] An I/O error... が表示されてしまい切断されてしまいます。

yamagishi yamagishi @ mia.ne.jp
2005年 6月 24日 (金) 18:51:16 JST


はじめて質問させて頂きます。山岸と申します。

Tomcat上でJavaを使いPostGresへ接続すると稀に下記のような
+++++
An I/O error occured while sending to the backend.
+++++
というエラーが出力され、PostGresへの接続が切断されてしまい
原因が分からず困っています。
エラーが発生するのは特定の処理を実行した場合ではない様なのです。

ちなみにこのサーバへは複数のユーザがIEにて接続します。
多い時は一度に数十人のアクセスがされます。

どなたか原因・解決方法をご存知でしたら教えて頂けますでしょうか。
宜しくお願い致します。

PostGresを起動時には
+++++
postmaster -D /usr/local/pgsql/data -b /usr/local/pgsql/bin/postgres -N 
256 -B 512 -o '-S 1024' -i
+++++
で起動しています。

サーバの環境は以下のとおりです。
OS:RedHat Linux9
PostgreSQL8.0.1
Apache2.0.54
Tomcat5.5.47
Java:JDK1.5.01

使用しているJDBCは「postgresql-8.0-311.jdbc2.jar」です。


出力されるエラーメッセージは以下のとおりです。
+++++
org.postgresql.util.PSQLException: An I/O error occured while sending to the 
backend.
Exception: java.net.SocketException: Socket closed
Stack Trace:
java.net.SocketException: Socket closed
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
 at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
 at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:241)
 at 
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1122)
 at 
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:175)
 at 
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:389)
 at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:314)
 at 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:221)
 at 
jp.or.zensiren.books.beans.orderData.OrderDataListSelectDao.count(OrderDataListSelectDao.java:297)
 at jp.or.zensiren.books.common.CommonDao.count(CommonDao.java:211)
 at 
jp.or.zensiren.books.web.action.orderEntry.OrderEntryRecieveAction.init(OrderEntryRecieveAction.java:96)
 at 
jp.or.zensiren.books.web.action.orderEntry.OrderEntryRecieveAction.doMain(OrderEntryRecieveAction.java:55)
 at 
jp.or.zensiren.books.web.action.orderEntry.OrderEntryRecieveAction.execute(OrderEntryRecieveAction.java:38)
 at jp.or.zensiren.books.common.CommonAction.perform(CommonAction.java:238)
 at jp.or.zensiren.books.web.MainServlet.doMainProc(MainServlet.java:349)
 at jp.or.zensiren.books.web.MainServlet.doMain(MainServlet.java:241)
 at jp.or.zensiren.books.base.BaseServlet.doPost(BaseServlet.java:33)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
 at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
 at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
 at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
 at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:595)
End of Stack Trace
+++++

宜しくお願い致します。





pgsql-jp メーリングリストの案内