SQLException from Broken Pipe.
We're using NetDynamics, and conecting to Oracle 8.1.7. We've just moved our applications from one data center to another, and we find that after running a few hours two of our NetDynamics instances are getting SQLExecptions as follows;
System Err: java.sql.SQLException caught. Vendor Err: null Io exception: Broken pipe
I've worked with out networking people and DBA's. It doesn't seem that the firewall is getting in the way. Any suggestions ?
My colleague had a similar problem though they were using Tomcat's connection pooling. The error was cause because a keep alive validation query was required to have active connections available in the pool. Your problem may be something similar.
Similar Messages
-
Web Service Error: java.sql.SQLException: Io exception: Broken pipe
Hi,
I am using JDeveloper PL/SQL web service generator. After some time we start receiving the "java.sql.SQLException: Io exception: Broken pipe" exception when we invoke the web service. I've noticed that the error starts occuring once all the connections in the database have been closed.
Here are the Data Source configurations I tried using:
<data-source name="jdev-connection-SACS" class="com.evermind.sql.DriverManagerDataSource" location="jdbc/SACSCoreDS" xa-location="jdbc/xa/SACSXADS" ejb-location="jdbc/SACSDS" pooled-location="jdbc/MACSPooledDS" connection-driver="oracle.jdbc.driver.OracleDriver" username="xxx" password="xxxx" url="jdbc:oracle:thin:@test:1521:SACS" inactivity-timeout="30" connection-retry-interval="3" max-connections="5" min-connections="0" wait-timeout="20"/>
AND I also tried:
<data-source name="jdev-connection-SACS" class="com.evermind.sql.DriverManagerDataSource" location="jdbc/SACSCoreDS" xa-location="jdbc/xa/SACSXADS" ejb-location="jdbc/SACSDS" pooled-location="jdbc/SACSPooledDS" connection-driver="oracle.jdbc.driver.OracleDriver" username="xxxx" password="xxxx" url="jdbc:oracle:thin:@xxxx:1521:SACS" inactivity-timeout="30"/>
That did not make any changes.
I then changed ConnectionContext.KEEP_CONNECTION to ConnectionContext.CLOSE_CONNECTION in the <name>Base.sqlj:
public void release() throws SQLException
{ if (__tx!=null && __onn!=null) __tx.close(ConnectionContext.CLOSE_CONNECTION);
__onn = null; __tx = null;
That did not help either. We are running these web services on the standalone OC4J and Oracle 8.1.7.2 database with the MTS installed on it.Hi,
I don't use JDeveloper to develop stored procedure web services. However, I do use WebServicesAssembler.jar to generate stored procedure web services.
I had the same problem as you did. After some research in this forum, I was informed that it's a bug in the web services generator itself. I was also informed that the newest version of WebServicesAssembler.jar is supposed to fix the problem.
If you want, you can always write a batch job to restart the OC4J periodically. The command is
dcmctl -ct oc4j -co home
If I come across the posting containing the answer to your solution, I will forward it to you.
Good luck
Jack -
Inserting broken pipe character in DB from Java creating problem
Hello experts,
We want to insert a broker pipe character in oracle 10g from java.
But it get changed to pipe character.
We are having japanese client for which we want to maintain this kind of character.
If someone know the solution, please update.Hi,
I understand your explanation.
It is not possible to put actual code, that's complex and coupled with other things.
I like to share the scenario where it failing,
1. Broken Pipe character(double byte (\u00fa\u0055)) is put along with other japanese long text in a *.txt file.
2. A java file reads the above *.txt file and inserts the file text in a table column in oracle.
The .txt file is saved in Shift_JIS encoding.
In java file, the same *.txt file is read using 'CP943C' charset and written into database.
So as per your suggestion I have to compare literal first and than if I found broken bar in file, I need to change it with specified unicode.
Is that so?
--Saurabh. -
Throw sqlexception: broken pipe when executing sql or other related code
My env is:
weblogic 704 + oracle 8i, use datasource to create conneciton pool with 10 connections
when weblogic starts, but when I execute some sql , the system throwed out:
java.sql.SQLException: Io Exception: Broken pipe
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:560)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2778)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536)
at weblogic.jdbc.pool.PreparedStatement.executeQuery(PreparedStatement.java:53)
at com.ztsoft.ejb.dao.EntityDAO.readClobToFile(Unknown Source)
at com.ztsoft.ejb.dao.SL_FileContentTbDAO.readClob2(Unknown Source)
at com.ztsoft.ejb.sessionbean.MainHandlerBean.readClobToFile(Unknown Source)
at com.ztsoft.ejb.sessionbean.MainHandlerBean_oejxo1_ELOImpl.readClobToFile(MainHandlerBean_oejxo1_ELOImpl.java:531)
at com.ztsoft.web.servlet.GetResultActionServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
How can I solve ? thanks, this is very urgent, help me..CottonXu wrote:
My env is:
weblogic 704 + oracle 8i, use datasource to create conneciton pool with 10 connections
when weblogic starts, but when I execute some sql , the system throwed out:
java.sql.SQLException: Io Exception: Broken pipe
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)Hi. This indicates a problem between the oracle driver version and the DBMS
version. The first thing to do is to go to oracle's download site and get
their latest version of the thin driver that is appropriate for your DBMS
and JVM, and then edit your startWeblogic script so the new driver is ahead
of the weblogic.jar in the -classpath argument for the commandline that
starts the server.
Joe
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:560)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2778)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536)
at weblogic.jdbc.pool.PreparedStatement.executeQuery(PreparedStatement.java:53)
at com.ztsoft.ejb.dao.EntityDAO.readClobToFile(Unknown Source)
at com.ztsoft.ejb.dao.SL_FileContentTbDAO.readClob2(Unknown Source)
at com.ztsoft.ejb.sessionbean.MainHandlerBean.readClobToFile(Unknown Source)
at com.ztsoft.ejb.sessionbean.MainHandlerBean_oejxo1_ELOImpl.readClobToFile(MainHandlerBean_oejxo1_ELOImpl.java:531)
at com.ztsoft.web.servlet.GetResultActionServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
How can I solve ? thanks, this is very urgent, help me.. -
Java.sql.SQLException: Io exception: Broken pipe
To whom it may concern:
Anyone who can help me with my problem? We have Java application(Loading2Staging) that calls a series of stored procedures in Oracle. This job takes about 30 hours to complete. We have other Java applications that is running and calling Oracle on the same machine and database. All of the applications are using "Java connection pooling". I'm encountering problem with the said application. When Loading2Staging is running and then other jobs would start to establish a connection, Loading2Staging then fails with this error: java.sql.SQLException: Io exception: Broken pipe
The procedures of Loading2Staging is taking too long to complete. So my question is, "Is the job failing because of its inactivity or do some other applications steal the 'connection pooling' assigned to it for it to run smoothly?"
If that's the case, could I create a "dedicated connection" or "connection pooling" to prevent the stealing of connection among jobs?
This is a very urgent issue. Your immediate response will be much appreciated.
Thank you.
wletmp5Having exactly the same problem, does anybody know where the problem is?
Thanks
PD -
Broken pipe error in Sync Send JDBC Receiver: Extremely Serious issue
Hi forum,
I have a serious error in a JDBC->XI--> JDBC scenario,
Step1: I use a sender JDBC channel to select some distinct values from a table say X, and update the same rows,
Query SQL Statement: select distinct Branch from dbo.X where status = 0
Update SQL statement: update dbo.X set Status = 2 where Status = 0
Step 2: enter BPM
Step 3: enter a loop
Step 4:make a synchronous call to the same table X, to fetch some records,
SQL query: select * from X where status = 0 and Branch = i; Update X set status = 9 where Branch = i
Step 5: close loop, this loop iterates for 5 or 6 times depending on i, which is no. of branches selected by the sender JDBC channel
so all the calls are to the same table, same databsse(SQL Server)
the problem is when this sync calls happens in the loop, it some times gives following error, which i se in RWB:
<b>Error Unable to execute statement for table or stored procedure. 'X' (Structure 'STATEMENT_X') due to com.microsoft.sqlserver.jdbc.SQLServerException: An exception occurred during the DBComms.transmit operation. Exception:Broken pipe (errno:32). Context:(2217)</b>
i have no way to trace the cause of the error, the database is perfect and the error logs in the SQL server shows no trace of any error,
Note: It works sometimes
i dont know whom to approach, pls help
the issue is very very serious as its in production system,Hi Sudeep,
SAP Note 846079 - XI 3.0 JDBC Receiver: # of Retries on SQL Error w/o Effect
Please check the following SAP note also - 831162
Some info which i found there and can be relevant in to your scenario.....
Q: I am using a JDBC Receiver Adapter in conjunction with the Lotus Domino Driver for JDBC perform an INSERT or UPDATE operation on a database. When sending a message to the receiver, the Adapter Monitoring shows the following error message:
"java.sql.SQLException: [Lotus][Domino Driver for JDBC]Invalid cursor state"
Is there a fix for this issue?
A: To work around this JDBC driver problem, activate the Advanced Mode for the respective JDBC Receiver channel and configure the setting "Number of Retries of Database Transaction on SQL Error" to a value > 0. Additionally, make sure that the setting "Database Auto-Commit Enabled" is also active as the Lotus Domino Driver for JDBC does not support transactions.
Apply note 846079 before configuring this scenario.
Q: The TCP/IP connection to my database host is running over an unreliable network connection, i.e. the connection is sometimes interrupted. Consequently, I sporadically receive an SQLException regarding a closed connection in the system trace or audit log or the connection as well as the JDBC Adapter channel are hanging.
How can I work around this connectivity issue?
A: Enable the "Advanced Mode" for the respective JDBC Adapter channel and select the option "Disconnect from Database After Processing each Message".
Note that this might put additional load on your DBMS due to the creation of a new database connection for each message.
I dont have access to a database right now, so i am not able to check this.
Also check the JDBC driver compatability as mentioned in the above note.
Cheer's -
Broken pipe error in plugin log
Hello All,
Any help will be much appreciated.
Currently we have a webserver and weblogic servers(two) in the same box. The webserver
is IPlanet and it communicates with weblogic(7.0 SP2) using the weblogic plug-in.
Normally the webserver connects to the first weblogic server and subsequent request
were sent to the same weblogic servers. While doing so, the plugin hits a broken
pipe error and it failover to the second weblogic server. We do not know the cause
of this problem as there is no broken pipe errors in the weblogic server logs.
I changed the weblogic & plugin configurations and did various tests using the
following configuratons, but no luck.
Weblogic plugin configurations:
1. HungServerRecoverSecs to 5000,
2. WLSocketTimeoutSecs to 5000
3. KeepAliveSecs="120" ( by default KeepAliveEnabled is true)
4. ConnectTimeoutSecs="120" along with ConnectRetrySecs=2 ( i.e. 60 connections
before it throws HTTP 503- Service Unavailable exception).
Weblogic server configurations:
1. Post Timeout Secs: 120(max)
2. T3 Message Timeout: 480(max)
3. HTTP Message Timeout: 480(max).
The plugin log file contents are below:
Thu May 13 09:35:25 2004 INFO: sysSend 1247
Thu May 13 09:35:25 2004 INFO: sysSend 139
Thu May 13 09:35:25 2004 ========= errno [32] msg [Broken pipe]
Thu May 13 09:35:25 2004 POST timed out to the server 10.227.8.47:8101
Thu May 13 09:35:25 2004 *******Exception type [POST_TIMEOUT] (POST timed out
to the server 10.227.4.33:8101
) raised at line 731 of proxy.cpp
Thu May 13 09:35:25 2004 failure on sendRequest() w/ recycled connection to 10.227.4.33:8101,
numfailures=1
Thu May 13 09:35:25 2004 Marking 10.227.8.47:8101 as bad
Thu May 13 09:35:25 2004 Marking [0] as bad WLS: 10.227.8.47:8101:65535
Thu May 13 09:35:25 2004 got exception in sendRequest phase: POST_TIMEOUT: [os
error=32, line 731 of proxy.cpp]: POST timed out to the server 10.227.8.47:8101
at line 1051
Thu May 13 09:35:25 2004 Failing over after sendRequest exception
Thu May 13 09:35:25 2004 attempt #1 out of a max of 5
Thu May 13 09:35:25 2004 Server details are 10.227.8.47'/8101/65535
Thu May 13 09:35:25 2004 Server was mark bad, going to next server
Thu May 13 09:35:25 2004 Server details are ''/0/0
Thu May 13 09:35:25 2004 Server was mark bad, going to next server
Thu May 13 09:35:25 2004 general list: trying connect to '10.227.8.47'/8103/65535
at line 1338 for '/callWebApp/application?pageid=NewCall&portletid=CompleteCall&portletns=CompleteCall&wfevent=CompleteCall.showContactAction'
Thu May 13 09:35:25 2004 INFO: New NON-SSL URL
Thu May 13 09:35:25 2004 Going to check the general server list
Thu May 13 09:35:25 2004 WLS info : 10.227.8.47:8103 recycled? 0
Many thanks
ShaanHi Sudeep,
SAP Note 846079 - XI 3.0 JDBC Receiver: # of Retries on SQL Error w/o Effect
Please check the following SAP note also - 831162
Some info which i found there and can be relevant in to your scenario.....
Q: I am using a JDBC Receiver Adapter in conjunction with the Lotus Domino Driver for JDBC perform an INSERT or UPDATE operation on a database. When sending a message to the receiver, the Adapter Monitoring shows the following error message:
"java.sql.SQLException: [Lotus][Domino Driver for JDBC]Invalid cursor state"
Is there a fix for this issue?
A: To work around this JDBC driver problem, activate the Advanced Mode for the respective JDBC Receiver channel and configure the setting "Number of Retries of Database Transaction on SQL Error" to a value > 0. Additionally, make sure that the setting "Database Auto-Commit Enabled" is also active as the Lotus Domino Driver for JDBC does not support transactions.
Apply note 846079 before configuring this scenario.
Q: The TCP/IP connection to my database host is running over an unreliable network connection, i.e. the connection is sometimes interrupted. Consequently, I sporadically receive an SQLException regarding a closed connection in the system trace or audit log or the connection as well as the JDBC Adapter channel are hanging.
How can I work around this connectivity issue?
A: Enable the "Advanced Mode" for the respective JDBC Adapter channel and select the option "Disconnect from Database After Processing each Message".
Note that this might put additional load on your DBMS due to the creation of a new database connection for each message.
I dont have access to a database right now, so i am not able to check this.
Also check the JDBC driver compatability as mentioned in the above note.
Cheer's -
SQL BROKEN PIPE IN 6.0SP1
Hi .
I am using weblogic 6.0 sp1 running in a Cluster,
jdk 1,3
solaris 2.8
Oracle 8.1.7
Classes12.zip thin driver for Oracle
I have been getting the following error very regularly now..
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: Io exception: Broken pipe]
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBean_WebLogic_CMP_RDBMS.getAccountNumber(NameAddressBean_WebLogic_CMP_RDBMS.java:440)
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBean.getNameAddressData(NameAddressBean.java:61)
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBean_WebLogic_CMP_RDBMS.getNameAddressData(NameAddressBean_WebLogic_CMP_RDBMS.java:378)
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl.getNameAddressData(NameAddressBeanEOImpl.java:382)
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl_WLSkel.invoke(NameAddressBeanEOImpl_WLSkel.java:64)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
at weblogic.rmi.internal.BasicRequestDispatcher.dispatch(BasicRequestDispatcher.java:115)
at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:88)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:108)
at com.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl_WLStub.getNameAddressData(NameAddressBeanEOImpl_WLStub.java:218)
at com.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.getNameAddress(BaseCoreInfoHelper.java:247)
at com.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.populateCoreInfo(BaseCoreInfoHelper.java:164)
at com.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.getLogicalData(BaseCoreInfoHelper.java:84)
at com.symphoni.bofa.business.session.accountmgr.SubmitHelper.getLogicalData(SubmitHelper.java:66)
at com.symphoni.bofa.business.session.accountmgr.AccountBean.getCoreInfo(AccountBean.java:207)
at com.symphoni.bofa.business.session.accountmgr.AccountBeanImpl.getCoreInfo(AccountBeanImpl.java:830)
at com.symphoni.bofa.business.session.accountmgr.AccountBeanEOImpl.getCoreInfo(AccountBeanEOImpl.java:1344)
at com.symphoni.bofa.business.session.accountmgr.AccountBeanEOImpl_WLSkel.invoke(AccountBeanEOImpl_WLSkel.java:126)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Itz happening in production and the only way this gets resolved is if I restart any
of the managed servers...
which is leading to downtime...
It is happening very intermittently..
Any help is greatly appreciated...
Thanx,
Krish.That property is already set to true..
Before shifting to the oracle thin classes12.zip , I want to make sure that the oracle
drivers shipped with weblogic are causing problems...coz unknowingly I have been
using the weblogic oracle drivers for almost 8 months now...and it was not a problem
till now..!
Thanx,
Krish
"Sree Bodapati" <[email protected]> wrote:
This could be a network connection lost or database bounce. Try to set the
TestConnectionsOnReserve=true in the connection pool from the console. Also
try to use the latest classes12.zip file from oracle for 817.
sree
"KRISHNAN VENKATARAMAN" <[email protected]> wrote in message
news:[email protected]...
Hi .
I am using weblogic 6.0 sp1 running in a Cluster,
jdk 1,3
solaris 2.8
Oracle 8.1.7
Classes12.zip thin driver for Oracle
I have been getting the following error very regularly now..
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: Io exception: Broken pipe]
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBean_WebLogic_CMP_R
DBMS.getAccountNumber(NameAddressBean_WebLogic_CMP_RDBMS.java:440)
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBean.getNameAddress
Data(NameAddressBean.java:61)
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBean_WebLogic_CMP_R
DBMS.getNameAddressData(NameAddressBean_WebLogic_CMP_RDBMS.java:378)
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl.getNameA
ddressData(NameAddressBeanEOImpl.java:382)
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl_WLSkel.i
nvoke(NameAddressBeanEOImpl_WLSkel.java:64)
atweblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
atweblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
atweblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.
java:118)
atweblogic.rmi.internal.BasicRequestDispatcher.dispatch(BasicRequestDispatcher
..java:115)
atweblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java:88)
atweblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:108)
atcom.symphoni.bofa.business.entity.nameaddress.NameAddressBeanEOImpl_WLStub.g
etNameAddressData(NameAddressBeanEOImpl_WLStub.java:218)
atcom.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.getN
ameAddress(BaseCoreInfoHelper.java:247)
atcom.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.popu
lateCoreInfo(BaseCoreInfoHelper.java:164)
atcom.symphoni.bofa.business.session.accountmgr.helper.BaseCoreInfoHelper.getL
ogicalData(BaseCoreInfoHelper.java:84)
atcom.symphoni.bofa.business.session.accountmgr.SubmitHelper.getLogicalData(Su
bmitHelper.java:66)
atcom.symphoni.bofa.business.session.accountmgr.AccountBean.getCoreInfo(Accoun
tBean.java:207)
atcom.symphoni.bofa.business.session.accountmgr.AccountBeanImpl.getCoreInfo(Ac
countBeanImpl.java:830)
atcom.symphoni.bofa.business.session.accountmgr.AccountBeanEOImpl.getCoreInfo(
AccountBeanEOImpl.java:1344)
atcom.symphoni.bofa.business.session.accountmgr.AccountBeanEOImpl_WLSkel.invok
e(AccountBeanEOImpl_WLSkel.java:126)
atweblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
atweblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
atweblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.
java:118)
atweblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
7)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Itz happening in production and the only way this gets resolved is ifI
restart any
of the managed servers...
which is leading to downtime...
It is happening very intermittently..
Any help is greatly appreciated...
Thanx,
Krish. -
Inserting CLOBs 32k failed with error "Broken Pipe"
Hi,
We use WLS 8.1 SP2 and Oracle 8i and the oracle thin jdbc driver ojdbc14.jar shipped
with WLS.
Inserting a clob >32k an SQL exception is raised ("Broken Pipe") and the db connection
is becoming stale. Then a restart of WLS is necessary.
Perhaps the current driver doesn't work with 8i ??
Any thoughts?
Thanks in advanceThomas wrote:
Joe Weinstein <[email protected]> wrote:
Thomas wrote:
Hi,
We use WLS 8.1 SP2 and Oracle 8i and the oracle thin jdbc driver ojdbc14.jarshipped
with WLS.
Inserting a clob >32k an SQL exception is raised ("Broken Pipe") andthe db connection
is becoming stale. Then a restart of WLS is necessary.
Perhaps the current driver doesn't work with 8i ??
Any thoughts?
Thanks in advanceThe first thing to do is to try Oracle's latest version of the thin driver.
Joe
We switched to Oracle 9.2.0.4.0 and installed the latest thin driver ojdbc14.jar
(for Oracle 9.2.0.3). But there is always the same problem.
Ok. As a last step before contacting Oracle, would you run that code,
changing it to get it's connection directly from the oracle driver?
If the same problem occurs, we can file a TAR with Oracle.
Joe
This is the code:
PreparedStatement ps = null;
try {
con.prepareStatement(DBConstants.CREATE_IMPORT_LOG_ERROR);
ps.setLong(1, logId);
ps.setLong(2, recNo);
ps.setInt(3, errorType);
if (rec == null) rec = "NULL RECORD";
CharArrayReader cReader = new CharArrayReader(rec.toCharArray());
ps.setCharacterStream(4, cReader, rec.length());
ps.setInt(5, PDBConstants.IMPORT_LOG_ERROR_STATUS_OPEN);
ps.setString(6, "A");
ps.executeUpdate();
Here is the stack trace:
<Jul 15, 2004 3:30:25 PM MEST> <Info> <EJB> <BEA-010051> <EJB Exception occurred
during invocation from home: [email protected]
threw exception: javax.ejb.EJBException: nested exception is: java.sql.SQLException:
No more data to read from socket
javax.ejb.EJBException: nested exception is: java.sql.SQLException: No more data
to read from socket
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:375)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:94)
at com.bspartners.pdb.provider.ProviderDAO.logFailedRecord(ProviderDAO.java:254)
at com.bspartners.pdb.provider.ProviderServiceBean.startImport(ProviderServiceBean.java:478)
at com.bspartners.pdb.provider.ProviderService_ma1gog_EOImpl.startImport(ProviderService_ma1gog_EOImpl.java:46)
at com.bspartners.pdb.provider.ProviderService_ma1gog_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477) -
IO Exception: Broken Pipe
Hi,
I use WLS6.0/Linux. I'm accessing EJBs on the server from a standalone Java
Client application. From time to time, I suddenly get this error:
IO Exception: Broken Pipe
The error has not been reproducible (so far...). Any ideas what causes this
error?
thx
HeikoI too am having the same problem with using an OAS 9.0.4. server talking to a 9iAS db. I have a Struts application that if you leave the application over night will have broken pipes in the morning. The connections should not have persisted, but might have. This problem only happens when the Servlet is left up and no activity over night.
They claim that no restart of the server or DB happened during that time so I am betting on a timeout somewhere in the system too.
I have two problems:
One to set up a situation that reproduces the problem.
Two finding out some way through JDBC to effectively test for this situation and
be able to re-create, or re-open a connection to continue processing.
Error in fetcAllDBRecord java.sql.SQLException: Io exception: Broken
pipe06/09/26 09:05:25 java.sql.SQLException: Io exception: Broken pipe
06/09/26 09:05:25 at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
06/09/26 09:05:25 at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
06/09/26 09:05:25 at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:345)
06/09/26 09:05:25 at
oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:717)
06/09/26 09:05:25 at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2605)
06/09/26 09:05:25 at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:777)
......app specific levels
Any help would be appreciated.
---John Putnam -
JDriver for SQL Server 6.5 Broken Pipe
hi:
I am using jDriver for SQL Server 6.5 and use prepared statements to execute
my Stored Procedures from a Stateless-EJB. At times, I get the following
error message, can anyone help me with what I should do ?
2002.06.06 at 03:49:43 PM PDT : weblogic.jdbcbase.mssqlserver4.TdsException:
I/O exception while talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at weblogic.jdbcbase.mssqlserver4.TdsException.<init>(TdsException.java:40)
at
weblogic.jdbcbase.mssqlserver4.TdsStatement.cancel(TdsStatement.java:446)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.getMoreResults(Compiled
Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.jts.Statement.execute(Compiled Code)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(Compiled
Code)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarDAO.insertException(Compiled
Code)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.registerLoan(Unknown
Source)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
2002.06.06 at 03:49:43 PM PDT : java.sql.SQLException: I/O exception while
talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
thanks,
balaji.Balaji Venkataraman wrote:
hi:
I am using jDriver for SQL Server 6.5 and use prepared statements to execute
my Stored Procedures from a Stateless-EJB. At times, I get the following
error message, can anyone help me with what I should do ?That means the driver-DBMS connection has broken somehow. It can either be
a bug in our driver, or a bug in the DBMS. Is there any indication in DBMS logs
about client thread failures that result in a session being killed?
If you can isolate the SQL and JDBC that causes this, we may be able to
debug it. Is the DBMS a 6.5 DBMS?
Joe
>
>
2002.06.06 at 03:49:43 PM PDT : weblogic.jdbcbase.mssqlserver4.TdsException:
I/O exception while talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at weblogic.jdbcbase.mssqlserver4.TdsException.<init>(TdsException.java:40)
at
weblogic.jdbcbase.mssqlserver4.TdsStatement.cancel(TdsStatement.java:446)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.getMoreResults(Compiled
Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.jts.Statement.execute(Compiled Code)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(Compiled
Code)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarDAO.insertException(Compiled
Code)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.registerLoan(Unknown
Source)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
2002.06.06 at 03:49:43 PM PDT : java.sql.SQLException: I/O exception while
talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
thanks,
balaji. -
JDBC Connectivity - broken pipe received when SQL server resets the connect
Hi,
We have downloaded MICROSOFT SQL SERVER 2000 DRIVER for UNIX boxes
when i try to connect using JDBC , with all parameters
user id, driver, password etc
at the sniffer(TCPIP) level when the jdbc connection is attempted
i see a
1) SYN packet to the SQL server from unix box
2) ACK SYN from the SQL server to unix box
3) ACK from unix box to server
4) no activity for about a minute
5) a RST( reset ) from SQL server to unix box.
at this point i get the following
stack trace
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Broken pipe or
no reader on socket
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.submitRequest(Unknow
n Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Cod
e)
at java.sql.DriverManager.getConnection(DriverManager.java, Compiled Cod
e)
at wu.database.WUDBAccess.getGiftGramConnection(WUDBAccess.java, Compile
d Code)
at wu.util.GiftMailClient.ConnectToDB(GiftMailClient.java, Compiled Code
at wu.util.GiftMailClient.ProcessEmail(GiftMailClient.java, Compile
the sniffer trace
Frame source = (Network)
Length = 66
Time received = 09/24/2002 21:19:42.543
Frame Relay
Header = 1041
0001 00.. 0100 .... = DLCI 68
.... ..0. .... 000. = (Command)
EtherType = 0800 IP
Internet Protocol (IP)
Source address = unix_server
Destination address = SQL_server
Type of service = 00
Length = 60
Identification = 58024
Flags = 0000 (May fragment, Last fragment)
Time to live = 28
Protocol = 6 TCP
Transmission Control Protocol (TCP)
Source Port = 2175
Destination Port = 8072
Sequence = 2690569244
Acknowledgement = 0
Flags = 02 (SYN)
Window size = 8192
============================= Frame Number 7 =============================
Frame source = (User)
Length = 66
Time received = 09/24/2002 21:19:42.544
Frame Relay
Header = 1041
0001 00.. 0100 .... = DLCI 68
.... ..0. .... 000. = (Command)
EtherType = 0800 IP
Internet Protocol (IP)
Source address = SQL_server
Destination address = unix_server
Type of service = 00
Length = 60
Identification = 47302
Flags = 4000 (Don't fragment, Last fragment)
Time to live = 126
Protocol = 6 TCP
Transmission Control Protocol (TCP)
Source Port = 8072
Destination Port = 2175
Sequence = 60776554
Acknowledgement = 2690569245
Flags = 12 (ACK, SYN)
Window size = 17520
============================= Frame Number 8 =============================
Frame source = (Network)
Length = 58
Time received = 09/24/2002 21:19:42.607
Frame Relay
Header = 1041
0001 00.. 0100 .... = DLCI 68
.... ..0. .... 000. = (Command)
EtherType = 0800 IP
Internet Protocol (IP)
Source address = unix_server
Destination address = SQL_server
Type of service = 00
Length = 52
Identification = 58025
Flags = 0000 (May fragment, Last fragment)
Time to live = 28
Protocol = 6 TCP
Transmission Control Protocol (TCP)
Source Port = 2175
Destination Port = 8072
Sequence = 2690569245
Acknowledgement = 60776555
Flags = 10 (ACK)
Window size = 8192
****************************************************8
============================= Frame Number 9 =============================
Frame source = (User)
Length = 52
Time received = 09/24/2002 21:21:35.137
Frame Relay
Header = 1041
0001 00.. 0100 .... = DLCI 68
.... ..0. .... 000. = (Command)
EtherType = 0800 IP
Internet Protocol (IP)
Source address = SQL_server
Destination address = unix_server
Type of service = 00
Length = 40
Identification = 47451
Flags = 4000 (Don't fragment, Last fragment)
Time to live = 126
Protocol = 6 TCP
Transmission Control Protocol (TCP)
Source Port = 8072
Destination Port = 2175
Sequence = 60776555
Acknowledgement = 623322721
Flags = 04 (RST)
Window size = 0
Data (ASCII)
0000 = 00 00 00 00 00 00 ......
any help is welcome
Regards,
SunilWell then, it beats me. I don't see what the problem could be in this case. :o(
Get another driver and see what happens. I would recommend jTDS, because I'm one of the developers and I can help you debug it. It only supports basic things (such as forward-only result sets, prepared statements and callable statements) but it should be enough to see if you can connect to SQL Server. The address is http://jtds.sourceforge.net
Alin. -
Jackd + guitar: "timeouts and broken pipes"
Hi friends! I'm trying to pass my electric guitar via any rack/effects (like Guitarix or Creox) with no luck. I've got this sound card:
01:06.0 Multimedia audio controller: Creative Labs [SB Live! Value] EMU10k1X
01:06.1 Input device controller: Creative Labs [SB Live! Value] Input device controller
I try with QJackCtl and invoking jackd from the terminal with any luck.
jackd -d alsa -C -P
jackd 0.121.3
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
could not open driver .so '/usr/lib/jack/jack_net.so': libcelt0.so.2: cannot open shared object file: No such file or directory
could not open driver .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
jackd watchdog: timeout - killing jackd
[gabo@machina ~]$
This is the output from QJackCtl:
00:12:07.126 Client deactivated.
00:12:07.130 JACK is being forced...
cannot read server event (Success)
cannot continue execution of the processing graph (Bad file descriptor)
zombified - calling shutdown handler
cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)
cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)
00:12:07.339 JACK was stopped with exit status=1.
I can hear my guitar and record with Audacity, but when jackd enter into the escenario everything blows up. I read that nowadays almost any sound card will work with QJackCtl with the default options. I play with the parameters and sometimes jack refuse to start. With the default options on i can make it run, but i get no sound of the racks or guitar effects processors neither the guitar tuners that use jack takes the sound from the guitar. My line input is in capture via alsamixer, but still no luck. Any clue on this? I'm skipping steps?
Thanks in advance.
iamgaboHi!
groups && cat /proc/asound/cards && cat ~/.asoundrc && cat '/etc/security/limits.d/audio.conf' && jackd -v
adm disk lp wheel http network video audio optical storage power users polkitd vboxusers wireshark kismet
0 [Live ]: EMU10K1X - Dell Sound Blaster Live!
Dell Sound Blaster Live! at 0xcc00 irq 17
#pcm.upmix71 {
#type upmix
#slave.pcm "surround71"
#delay 15
#channels 8
pcm.!default {
type hw
card 0
ctl.!default {
type hw
card 0
# convert alsa API over jack API
# use it with
# % aplay foo.wav
# use this as default
pcm.!default {
type plug
slave { pcm "jack" }
ctl.mixer0 {
type hw
card 1
# pcm type jack
pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
capture_ports {
0 system:capture_1
1 system:capture_2
cat: /etc/security/limits.d/audio.conf: No such file or directory
I have a file called 99-audio.conf
cat /etc/security/limits.d/99-audio.conf
@audio - rtprio 99
@audio - memlock unlimited
Also i've seen some guys changing this file too:
cat /etc/security/limits.conf
# /etc/security/limits.conf
#Each line describes a limit for a user in the form:
#<domain> <type> <item> <value>
#Where:
#<domain> can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit (KB)
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
#<domain> <type> <item> <value>
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
* - rtprio 0
* - nice 0
@audio - rtprio 65
@audio - nice -10
@audio - memlock unlimited
jackd 0.121.3
There are the snaps for QJackCtl
Also, checkout this stuff that i've recorded with audacity, only from the line and nothing else
http://ompldr.org/vZ3A2eg
Thanks!
Last edited by iamgabo (2012-12-15 02:21:08) -
Ping timeouts at server and broken pipes at client
I am experiencing unexpected broken pipe exceptions at the client side of a coherence server. These exceptions prevent our code to establish a connection to the cache server.
Due to network restrictions, we are connecting client and server through Coherence*Extend.
At the server side, the logs show the following message:
DEBUG Coherence:3 - 2013-02-01 11:12:20.584/85.322 Oracle Coherence GE 3.7.1.5 <D6> (thread=Proxy:TcpProxyServicePof:TcpAcceptor, member=1): Closed: TcpConnection(Id=0x0000013C953D8F150AA202D9F632E5EAFD6BDDE1A713F026C65BC1E7CC1E5952, Open=false, Member(Id=0, Timestamp=2013-02-01 11:11:44.404, Address=127.0.0.1:0, MachineId=0, Location=site:,process:1612, Role=WeblogicServer), LocalAddress=10.162.2.217:28088, RemoteAddress=10.162.2.231:45202) due to:
com.tangosol.net.messaging.ConnectionException: TcpConnection(Id=0x0000013C953D8F150AA202D9F632E5EAFD6BDDE1A713F026C65BC1E7CC1E5952, Open=true, Member(Id=0, Timestamp=2013-02-01 11:11:44.404, Address=127.0.0.1:0, MachineId=0, Location=site:,process:1612, Role=WeblogicServer), LocalAddress=10.162.2.217:28088, RemoteAddress=10.162.2.231:45202): did not receive a response to a ping within 500 millis
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.checkPingTimeout(Peer.CDB:12)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Acceptor.checkPingTimeouts(Acceptor.CDB:7)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.onNotify(Peer.CDB:115)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:662)
And at the client side:
ERROR (01/02/2013) 11:12:20 [threadsafe]Thread-15/AbstractComponentHandler Unable to create new instance 45067 ms
com.tangosol.net.messaging.ConnectionException: TcpConnection(Id=0x0000013C953D8F150AA202D9F632E5EAFD6BDDE1A713F026C65BC1E7CC1E5952, Open=true, Member(Id=0, Timestamp=2013-02-01 11:11:44.404, Address=127.0.0.1:0, MachineId=0, Location=site:,process:1612, Role=WeblogicServer), LocalAddress=10.162.2.231:45202, RemoteAddress=10.162.2.217:28088)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator$TcpConnection.send(TcpInitiator.CDB:35)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.send(Peer.CDB:29)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.post(Peer.CDB:23)
at com.tangosol.coherence.component.net.extend.Channel.post(Channel.CDB:25)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:18)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
at com.tangosol.coherence.component.net.extend.RemoteNamedCache$BinaryCache.putAll(RemoteNamedCache.CDB:10)
at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1708)
at com.tangosol.coherence.component.net.extend.RemoteNamedCache.putAll(RemoteNamedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
at com.tangosol.net.cache.CachingMap.putAll(CachingMap.java:1023)
Caused by: java.net.SocketException: Write failed: Broken pipe
at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:46)
at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:104)
at java.io.DataOutputStream.write(DataOutputStream.java:90)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator$TcpConnection.send(TcpInitiator.CDB:27)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.send(Peer.CDB:29)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.post(Peer.CDB:23)
at com.tangosol.coherence.component.net.extend.Channel.post(Channel.CDB:25)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:18)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
at com.tangosol.coherence.component.net.extend.RemoteNamedCache$BinaryCache.putAll(RemoteNamedCache.CDB:10)
at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1703)
at com.tangosol.coherence.component.net.extend.RemoteNamedCache.putAll(RemoteNamedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
at com.tangosol.net.cache.CachingMap.putAll(CachingMap.java:1023)
I can ping the client machine from the server without a problem.
Has anybody seen this before?
Edited by: 982740 on Feb 1, 2013 2:29 AMHi user,
It seems from the log that when the proxy node accepts your client connection the client fails to respond to a ping request down the same pipe. Does this happen consistently? If so, no putAll would ever succeed.
I have to admit I've never seen this behaviour before. I can't see how this would be a firewall port issue, as the connection has been established... the only things I can think of would be a) your weblogic client node is running way to hot and doesn't respond to the grids ping request in time, b) Some very aggressive network infrastructure is killing the connection just after its created, or c) aliens are interfering with your system.
sorry I can't be of more help,
Andy -
Broken pipe, DMLException: JBO-26061: Error while opening JDBC connection
Hi,
We are facing strange problem with oc4j903 container using bc4j getConnection() method.
We are getting the following error intermitantly using bc4j getConnection() method.
ApplicationModuleProvider JBO-30003: The application pool (bc4j_paris) failed to checkout an application module due to the following exception:
oralce.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
and then it says ,
java.sql.SQLException: Io exception: Broken pipe.
It gets connection automatically in a matter of minutes.
Has anybody faced these problem or anyone has the solution please help us out.
Thanks,
ChinnaBhaskar -- BC4J related questions are better directed to the JDeveloper forum; that's where the BC4J PMs and developers hang out.
cheers
-stevee
Maybe you are looking for
-
after update iOS 8 my camera connection kit does not work on my 4th generation iPad message reads 'this accessory is not supported by this ipad' has anyone else had this problen
-
In my OIM I have configured AD User resource for provisioning and I've provisioned about 100 users. Then I've updated AD User resource form to version 2 and made this version active. But when I view resource profile (for AD User) for any of users tha
-
[CS3] [os X] Package doesn't embed fonts of linked files
Hi, Does any have a solution for this problem: Create a package of document containing a native illustrator file, doesn't collect the fonts of the illustrator file in the package. Creating a package of a document containing a EPS-file, saved from Ill
-
I am putting together some DVD's for christmas and am contemplating purchasing ilife 08. I have ilife 06, but with all the problems iMovie has been having in the new version I wanted to know if they were fixed or not with the lastest update. If not I
-
Using JSPs and passing data from 1 page to the next
I have an application which has a number of JSPs. JSP1 has some fields and buttons. One of these buttons is called 'Print'. On pressing this control is passed to the next JSP2. In this JSP the data is displayed from the database. It is displayed via