DataOutputStream from Socket

pls anytime i load large jpeg(about 10kb) images from database(Mysql) and send primitive types before it and then the picture bytes using DataOutputStream created from a socket outputstream, there occur sporadic errors sometimes but not all the time. When i reduced the picture size to about 3kb, it works fine.
Anybody with solution please!

You need to check that you are:
- Using DataOutput/InputStream the whole time, not just for the image
- You are reading the whole imagine, you cannot use available or assume that the imagine will come in a single package.
The simplest way to resolve this is to send the size of the image, before the image itself.
e.g.// to write
byte[] imageBytes;
dataOutput.writeInt(imageBytes.length);
dataOutput.write(imageByte);
// to read.
int length = dataInput.readInt();
byte[] imageByte = new byte[length];
dataInput.readFully(imageByte);

Similar Messages

  • NIO Socket implementation - delay between select and get data from socket

    Hi all,
    I have implemented a internal CallAPI for RPC over a socket connection. It works fine but if there are more than five clients and some load I have the phenomena that the READ selector returns a SelectorKey but I did not get any data from the socket.
    My implementation is based on NIO has following components:
    + Accept-Thread
    Thread handles new clients.
    + Read-Thread
    Thread handles the data from the socket for the registered client. Each request is handled in an own Process-Thread. A Thread-Pool implementation is used for processing.
    + Process-Thread
    The Process-Thread reads the data from the socket and starts the processing of the logical request.
    In my tests I get the notification of data at the socket. The Process-Thread want to read the data for the socket, but no data are available. In some situations if have to read about 20 times and more to get the data. Between each read attempt I have inserted a sleep in the Process-Thread if no data was available. This have improved the problem, but it already exists. I tested the problem with several systems and jvm's but it seams that it is independent from the system.
    What can I to do improve the situation?
    I already include the read implementation from the grizzly-Framework. But it doesn't improve the situation.
    Socket - Init
         protected void openSocket( String host, int port ) throws IOException
              serverChannel = ServerSocketChannel.open();
              serverChannel.configureBlocking( false );
              serverSocket = serverChannel.socket();
              serverSocket.setReuseAddress( true );
              this.serverhost = host;
              this.serverport = port;
              this.srvAcceptSelector = Selector.open();
              this.srvReadSelector = Selector.open();
              InetSocketAddress isa = null;
              if ( serverhost != null )
                   isa = new InetSocketAddress( this.serverhost, this.serverport );
              else
                   isa = new InetSocketAddress( this.serverport );
              serverSocket.bind( isa, 50 );
              serverChannel.register( this.srvAcceptSelector, SelectionKey.OP_ACCEPT );
         }New Client � Init
         // New Client
         if ( key.isAcceptable())
              keyCountConnect++;
              ServerSocketChannel actChannel =
                   (ServerSocketChannel) key.channel();
              // Socket akteptieren
              SocketChannel actSocket = actChannel.accept();
              if ( actSocket != null )
                   actSocket.finishConnect();
                   actSocket.configureBlocking( false );
                   actSocket.socket().setTcpNoDelay( true );
                   this.registerSocketList.add( actSocket );
                   this.srvReadSelector.wakeup();
         }Read Data from Socket
        protected int readDatafromSocket( ByteArrayOutputStream socketdata )
             throws IOException
             int readedChars = 0;
            int count = -1;
            Selector readSelector = null;
            SelectionKey tmpKey = null;
            if ( sc.isOpen())
                  ByteBuffer inputbuffer = null;
                 try
                      inputbuffer = bufferpool.getBuffer();
                      while (( count = sc.read( inputbuffer )) > 0 )
                           readedChars += count;
                          inputbuffer.flip();
                           byte[] tmparray=new byte[inputbuffer.remaining()];
                           inputbuffer.get( tmparray );
                           socketdata.write( tmparray );
                          inputbuffer.clear();
                      if ( count < 0 )
                           this.closeSocket();
                           if( readedChars == 0 )
                                readedChars = -1;
                           if ( log.isDebug())
                                  log.debug( "Socket is closed! " );
                      else if ( readedChars == 0 )
                           if ( log.isDebug())
                                  log.debug( "Reread with TmpSelector" );
                           // Glassfish/Grizzly-Implementation
                         readSelector = SelectorFactory.getSelector();
                         if ( readSelector == null )
                              return 0;
                          count = 1;
                          tmpKey = this.sc.register( readSelector, SelectionKey.OP_READ );
                         tmpKey.interestOps(
                              tmpKey.interestOps() | SelectionKey.OP_READ );
                         int code = readSelector.select( 500 );
                         tmpKey.interestOps(
                             tmpKey.interestOps() & ( ~SelectionKey.OP_READ ));
                         if ( code == 0 )
                             return 0;
                             // Return on the main Selector and try again.
                           while (( count = sc.read( inputbuffer )) > 0 )
                                readedChars += count;
                               inputbuffer.flip();
                                byte[] tmparray=new byte[inputbuffer.remaining()];
                                inputbuffer.get( tmparray );
                                socketdata.write( tmparray );
                               inputbuffer.clear();
                           if ( count < 0 )
                                this.closeSocket();
                                if( readedChars == 0 )
                                     readedChars =-1;
                           else if ( count == 0 )
                                  // No data
                 finally
                      if ( inputbuffer != null )
                           bufferpool.releaseBuffer( inputbuffer );
                           inputbuffer = null;
                      // Glassfish-Implementierung
                    if ( tmpKey != null )
                        tmpKey.cancel();
                    if ( readSelector != null)
                        // Bug 6403933
                         try
                            readSelector.selectNow();
                         catch (IOException ex)
                        SelectorFactory.returnSelector( readSelector );
            return readedChars;
        }Thanks for your time.

    I've commented on that blog before. It is rubbish:
    - what does 'overloading the main Selector' actually mean? if anything?
    - 'Although this not clearly stated inside the NIO API documentation': The API documentation doesn't say anything about which Selector you should register channels with. Why would it? Register it with any Selector you like ...
    - 'the cost of maintaining multiple Selectors can reduce scalability instead of improving it' Exactly. So what is the point again?
    - 'wrapping a ByteBuffer inside a ByteBufferInputStream:' Code is rubbish and redundant. java.nio.channels.Channels has methods for this.
    There is no a priori advantage to using multiple Selectors and threads unless you have multiple CPUs. And even then not much, as non-blocking reads and writes don't consume significant amounts of CPU. It's the processing of the data once you've got it that takes the CPU, and that should be done in a separate thread.
    So I would re-evaluate your strategy. I suspect you're getting the channel registered with more than one Selector at a time. Implement it the simple way first then see if you really have a problem with 'overloading the main Selector' ...

  • No more data to read from socket only in 2nd and 3rd database

    Hi,
    I'm developing an application for a client with three independent login modes, each one with an independent database.
    I'm using the following products:
    Oracle 9i database (9.2.0.6.0)
    Oracle Content Management SDK 10g (9.0.4.0.0)
    Oracle Workflow (2.6.3.0.0)
    Oracle Application Server 10g (9.0.4.2.0)
    In development, I've these products installed in x86 machines with Windows 2000. I've no problems and no errors.
    In the client, I've the same products and versions but installed in a Solaris Machine and I've the following error ONLY when I use the second and the third login modes (not always, maybe only in 50% of the times I submit data in the application). In the first login mode I have no problems. The code for the different modes is essentially the same so I don't understand what is the problem. I don't have access to the client server so I can't make a debug.
    The error is:
    Caused by: java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:985)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:105)
         at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:565)
         at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:848)
         at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:351)
         at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:285)
         at oracle.jdbc.driver.OracleCallableStatement.close(OracleCallableStatement.java:876)
         at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:579)
         at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:406)
         at oracle.sql.ArrayDescriptor.initPickler(ArrayDescriptor.java:1023)
         at oracle.sql.ArrayDescriptor.<init>(ArrayDescriptor.java:137)
         at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:102)
    I'm using oracle jdbc thin driver.
    As data source class I'm using jdbc.pool.OracleConnectionCacheImpl.
    Anyone have a clue what is happening?

    Have you resolved this? I am getting the same error, but after restarting my webserver and re-establishing my connection pools it works(for a while). I need to find the root.
    Thanks for any help,
    Mark

  • "No more data to read from socket."?

    Hi everybody,
    We recently migrated from Oracle 10g Database Enterprise Edtion to Oracle 11g R2 Database Enterprise Edition
    with Data Guard and a dedicated standy-by database. The database is a data source for multiple applications.
    Among others, we are using two JBoss 4.2.3 GA application servers which run together in a clustered configuration.
    During our migration of our database, we also updated our OJDBC thin drivers from Oracle within our JBosses. We
    replaced the ojdbc14.jar with ojbc6.jar (Oracle 11g 11.1.0.7.0) and updated or added referenced libraries as well.
    Since our migration we experience an unfamiliar problem from time to time. Suddenly our deployed EJBs crash with
    the exception "SQLException: No more data to read from socket." The occurence is rather random than bound to
    a specific bean. The only noticeable thing is that it appears more often when there is more work load on our
    JBosses.
    Our only solution up to now is to shutdown our JBosses, restart the database and restart our JBosses again.
    Depending on our work load we do this from every two days to every 4 hours.
    I googled the message and even found several hundred hits that mentioned the exception above, but none of
    them got really solved, instead people found some case of work around for them. But none of them worked for us,
    since this exception seems more general and can have multiple causes.
    We did not have this problems when we were using the Oracle 10g database. Currently I am not sure if this problem
    is related to the new Oracle 11g R2 database, the new OJDBC thin driver or JBoss.
    Anybody experienced the same problem? And maybe even got it properly solved?
    If you need further information, just ask. I will happily offer as much information as possible to solve this.
    Greetings,
    CB
    Edited by: Crazy Bytes on 08.06.2010 03:10

    Hi,
    I remember that we received similar error after upgrading the database from 9.2.0.7 to 10.2.0.4 in one of our application using JDBC 10.1.0.5. We worked with Oracle support, and they provided us with patch Patch 5851267, that resolved our problem.
    So I would recommend you to do the same.
    regards

  • [solaris 8] Oracle 8.1.6 EE: no more data to read from socket

    Hi,
    I'm sorry for writing to this list, but it is the most related I could find.
    I installed Oracle 8.1.6 EE on a sparc 5 with solaris 8. I had to install the thread patches for solaris 8 because the emn0 process of oracle was dying every 30 minutes.
    After that, the DB seemed to work ok, but when running a heavy java process (jdbc),
    the process reports "java.sql.SQLException: No more data to read from socket".
    Have anyone experienced this kind of problem ?
    I decided to reinstall solaris 7... Could anyone help me ? comments ? suggestions ?
    Thanks in advance.
    Gabriel

    Reason: the ORACLE server process crashes (sometimes), and the result is the "empty"
    socket.

  • Error on ASA5505: "IKE Receiver: Error reading from socket."

    Hi,
    I'm expecting a problem with the network of a customer.
    He has one ASA5505 connected to 2 RV082 using VPN IPSec (1 top office and 2 remote sites).
    Each sites have 2 internet ADSL providers: "Provider A" and "Provider B" for backup purpose.
    The remote site 1 has the default connection using "Provider A" network on both sites (top office and remote site) and "Provider B" for backup purpose.
    While remote site 2 has the default connection using "Provider B" network on both sites (top office and remote site) and "Provider A" for backup purpose.
    (Kind of load balancing when all connections are working good)
    When all "3 sites x 2 =" 6 connections are working, I doesn't have any problem and all is working good.
    But since 2 weeks, the "Provider A" of the top office is disconnected: both remote site uses "Provider B" and are connected to the top office on
    the "Provider B" connection. ("Provider A" is no longer used on every sites.)
    This configuration works good until a short disconnection appear on "Provider B" connection on "Site 2".
    Then I have many "IKE Receiver: Error reading from socket." on the ASA5505 syslog and the RV082 located on "Site 2" says it's connect but it isn't. (It is not possible to ping "site 2" from top office network.)
    If I force this RV082 to reconnect, I can from the top office, ping "Site 2" and open a remote desktop session to the server located on "site 2".
    But I cannot ping top office network from "Site 2" and I cannot open a remote desktop session to the server located on "top office"
    (it's very strange I can ping from a A network to a B network but not from B to A).
    Restart the RV082 of the "Site 2" and/or the ASA5505 does not fix the problem and I continue to get the IKE socket error message.
    To fix the problem until next "Site 2" "Provider B" disconnection, I have to disconnect or restart the RV082 located on "Site 1" and then do the same to the RV082 located on "Site 2".
    I use updated firmware: RV0XX-v4.1.1.01-sp.bin for both RV082 v3 and asa843-9-k8.bin for the ASA5505.
    ASA routing part :
    # 192.168.1.0 is the network of the top office
    # 192.168.2.0 is the network of site 1
    # 192.168.3.0 is the network of site 2
    # 192.168.20.2 is the @IP of the "Provider A" internet router located on top office
    # 192.168.21.2 is the @IP of the "Provider B" internet router located on top office
    route outsideLB 0.0.0.0 0.0.0.0 192.168.20.2 128 track 1
    route outsideFB 192.168.3.0 255.255.255.0 192.168.21.2 128 track 2
    route outsideLB 192.168.2.0 255.255.255.0 192.168.20.2 128 track 3
    route outsideFB 0.0.0.0 0.0.0.0 192.168.21.2 150
    route outsideFB %Site2_ProviderB_PublicIP% 255.255.255.255 192.168.21.2 5
    route outsideLB %Site1_ProviderA_PublicIP% 255.255.255.255 192.168.20.2 5
    route outsideFB 192.168.2.0 255.255.255.0 192.168.21.2 150
    route outsideLB 192.168.3.0 255.255.255.0 192.168.20.2 150
    sla monitor 10
    type echo protocol ipIcmpEcho %ProvideA_IP_of_a_SMTP_Server% interface outsideLB
    frequency 5
    sla monitor schedule 10 life forever start-time now
    sla monitor 20
    type echo protocol ipIcmpEcho %Site2_ProviderB_PublicIP% interface outsideFB
    sla monitor schedule 20 life forever start-time now
    sla monitor 30
    type echo protocol ipIcmpEcho %Site1_ProviderA_PublicIP% interface outsideLB
    sla monitor schedule 30 life forever start-time now
    Thanks,
    David
    neithe

    isConnected means was ever connected.
    Check whether isr is closed. If so, the server has disconnected/closed the connection.

  • Error -no more data to read from socket vendor code 17410

    Hi everyone
    I have installed a gateway on my server. My oracle database 11.1.0.7 is running on windows server 2008 and i am trying to connect to sql server 2005.
    After creating the database link when i test the database link i get this error
    no more data to read from socket vendor code 17410
    can you please suggest me how to get rid of this error?????
    thanks a many

    enable gateway tracing by setting HS_FDS_TRCE_LEVEL=255 in your DG4MSQL configuration file. Then open a new SQL*Plus window and execute:
    select user from dual@<dg4msql db link>;
    A trace file is generated in the ORACLE_HOME/dg4msql/trace directory. Post its content.

  • Error when reading data from socket

    Hi,
    I am getting the error 'NiRawReadError: An error occured when reading data from socket.' when using the ABAP API  'mo_core_service->invoke_matching'.
    And I get this error only when I pass ABAP_TRUE to the paramter 'iv_wait_for_invocation' .
    Can anybody help me in correcting this?

    Hi Narasa,
    The following error is already in discussion in the below forum.Plz consult the forum link you will find the error solution.
    Problem in ABAP API - NiRawReadError: error when reading data from socket
    Rgds
    Ankit

  • CLI0615E  Error receiving from socket, server is not responding.

    We recently changed a web application using DB2 5.2 tables from ODBC to JDBC. We are using the COM.ibm.db2.jdbc.net.driver. We are using a
    connection pool and running on iPlanet.
    We are getting intermittant "CLI0615E Error receiving from socket, server is not responding errors". We have looked in the JDBC forum and DB2 support and cannot find a reasonable answer to this problem. It is NOT always on sql statements that take a long time to execute, so I don't think it is a timeout issue.
    I read something about "stale connections". Does anyone know how to check to see if this is a problem?
    When we first converted the app, we had a lot of problems also with "invalid handle or statement is closed" which we have determined was being caused by the user submitting the page again before it had time to finish the first time. We have put in javascript code to prevent multiple submits. Could this server not responding problem be caused by double submits that we have not located yet?
    The error is NOT occuring on any one page, and the same page will run correctly once and the next time throw this error.
    Any suggestions would be greatly appreciated.
    Thanks.
    [29/Apr/2003:11:00:20] info (42196): COM.ibm.db2.jdbc.net.DB2Exception: [IBM][JDBC Driver] CLI0615E Error receiving from socket, server is not responding. SQLSTATE=08S01
         at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.throwReceiveError(SQLExceptionGenerator.java(Compiled Code))
         at COM.ibm.db2.jdbc.net.DB2Request.receive(DB2Request.java(Compiled Code))
         at COM.ibm.db2.jdbc.net.DB2Request.sendAndRecv(DB2Request.java(Compiled Code))
         at COM.ibm.db2.jdbc.net.DB2RowObject.next(DB2RowObject.java(Compiled Code))
         at COM.ibm.db2.jdbc.net.DB2ResultSet.next(DB2ResultSet.java(Compiled Code))
         at bom.Bom.getDefs(Bom.java(Compiled Code))
         at jsps.bbapps._eng._ENGJGLT0_jsp._jspService(_ENGJGLT0_jsp.java(Compiled Code))
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:897)
         at com.iplanet.server.http.servlet.NSServletRunner.Service(NSServletRunner.java:464)

    hi,
    lemme try to tell u what i thinkk..i dont think its' a solution
    Usually this error code means that there was some problem while the driver tried establishsing a socket connection to the remote server. You could very well avoid this by tracking out what is preventing the socket connection.. it may be network congestion or some other onfiguration problems with the network, or with the DB2 server...
    But if the same application could work perfectly with jdbc-odbc driver in same environment,then it needs some attention.either the ibm driver isn't throwing the error as expected by the iplanet or iplanet isn't acting as needed when such an error is thrown.
    contact them and they may provide and explanation..
    wishes,
    Jer

  • Java.sql.SQLException: No more data to read from socket

    Hello,
    we're now facing some strange problem which is probably caused by some malfunctioned connections being present in connection pool. The MGP process is failing for some clients with following error message. During the MGP process, some users are processed without any problems and some encounter this exception. I tried to restart the DB and both OL servers (we have 2 OL servers, on one of them is running MGP), but it didn't help.
    Some time before I restarted the servers, we were also occasionally facing "Server connections exceeded" error message, but I don't think this is relevant...
    We're using 10gR2 OL servers and 10gR2 RDBMS.
    Any ideas what could be wrong?
    <pre>
    Applied Record     Counts:
    Insert Count     = 0
    Update Count     = 0
    Delete Count     = 0
    Composed PubItems
    (<PubItem Name>, <Duration     in Milli Seconds>):
    JPOCZ_C$ALL_CLIENTS,16
    JPOCZ_PA_STATESTOCKSUM,1484
    JPOCZ_PA_MEMOS,31
    JPOCZ_TASKMOTYPES,47
    JPOCZ_PA_VISITDETAILS,16
    JPOCZ_PA_STATESTOCK,859
    JPOCZ_DISTRIBS,47
    JPOCZ_ITEMPRICING,438
    Compose Error:
    java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:985)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Ocommoncall.receive(Ocommoncall.java:108)
         at oracle.jdbc.ttc7.TTC7Protocol.rollback(TTC7Protocol.java:427)
         at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1410)
         at oracle.lite.sync.JupConnection.rollback(Unknown Source)
         at oracle.lite.sync.MGP$MGPG.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    </pre>

    I'm not using localhost, but the host name. We just today notified some other network problems on this server and discovered there're 2 network cards - one of them which wasn't connected was configured for DHCP and the other one was configured properly with fixed IP address. We disabled the disconnected network card and it looks like the problems with other applications is solved so we'll se if the Mobile Server is also cured...

  • "No more data to read from socket" exception when testing connections

    Hi,
    I will appriciate your help with the following problem.
    We have the follwoing errors in the weblogic.log (We are using weblogic 8.1.0.2 and Oracle 9.2.0.3)
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep> <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001128> <Connection for pool "oraclePool" closed.>
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001067> <Connection for pool "oraclePool" refreshed.>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001112> <Test "select count(*) from DUAL" set up for pool "oraclePool" failed with exception: "java.sql.SQLException: No more data to read from socket".>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001131> <Received an exception when closing a cached statement for the pool "oraclePool": java.sql.SQLException: Io exception: Broken pipe.>
    These exception occures every hour after the connection pool is being closed and refreshed.
    Also there are a lot of the follwoing warnning in the log :
    <BEA-001074><A JDBC pool connection leak was detected.
    Does these two problems connected? What can we do in order to solve it?
    Thanks
    Edited by RF123 at 01/28/2007 3:41 AM

    R F wrote:
    Hi,
    I will appriciate your help with the following problem.
    We have the follwoing errors in the weblogic.log (We are using weblogic 8.1.0.2 and Oracle 9.2.0.3)
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep> <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001128> <Connection for pool "oraclePool" closed.>
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001067> <Connection for pool "oraclePool" refreshed.>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001112> <Test "select count(*) from DUAL" set up for pool "oraclePool" failed with exception:
    "java.sql.SQLException: No more data to read from socket".>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001131> <Received an exception when closing a cached statement for the pool "oraclePool":
    java.sql.SQLException: Io exception: Broken pipe.>
    These exception occures every hour after the connection pool is being closed and refreshed.
    Also there are a lot of the follwoing warnning in the log :
    <BEA-001074><A JDBC pool connection leak was detected.
    Does these two problems connected? What can we do in order to solve it?Hi. The problems are not directly related, but may have the same cause.
    Something is killing your DBMS connections out from under the driver.
    Do you have a firewall between WLS and the DBMS, or a flakey network?
    Contact BEA support to get the 8.1sp2 patch for getting meaningful
    connection leak traces (CR209251_81sp2.jar). When that patch is installed
    the leak messages should show a full stack trace of the application code
    where the connection was obtained. It is that application code that
    somehow failed to close the pool connection, causing a pool leak. I
    suspect that the application code got an unexpected exception, such as
    when/if the DBMS/network/firewall killed a connection. In this case I
    believe the application went through an exception-handling path that
    forgot to close the connection.
    Joe

  • SQLDeveloper tool script execution aborts with Error report: No more data to read from socket

    Hello,
    Strange behaviour of  the SQLdeveloper tool while executing script with typical DDLs like:
    Create Table,
    Alter Table
    Create Trigger ( use of :new and : old attributes in tehe body of trigger ).
    Insert Into....
    Scripts works ok from time to time.
    But sometimes coincidentally aborts with the error :
    Error report:
    No more data to read from socket
    Do not understand where is the problem.
    Scripts works ok when executed in SQL*Plus on server ( where Oracle RDBMS resides ).
    The version of SQLDeveloper is
    Version 3.2.20.09 Build MAIN-09.87
    The version of RDBMS is  11.2.0.2.0 .
    Thanx for any reference or direction or hint for upgrade or experience.
    Greetings,

    Welcome to the forum!
    Please provide the 4 digit Oracle version (result of SELECT * FROM V$VERSION) for the source and target servers; 10g and 11g are not versions. You also mention sql developer so what is the exact version you are using?
    >
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    >
    Please clarify what works and what doesn't work because your statements are both incorrect and misleading.
    You can't delete the "OF out_a.ALLOCATION_ID" of the for update clause or you would get a syntax error by leaving FOR UPDATE OF with nothing specified after it.
    Also you original statement said
    >
    But when compile a package which is fine on oracle 10g
    >
    But now you say that if you delete the "OF..." the problem doesn't happen and the code compiles on 10g.
    Does the original code compile on 10g or not? Does it compile on 11g or not? After the original code is migrated to 11g does it compile? That is, the code is there can you manually compile it?

  • MDEX intermittantly not returning response, getting com.endeca.navigation.ENEConnectionException: Error reading from socket connection buffer.Connection reset

    Intermittant issue where certain portlets have the spinning wheel and error getting thrown in the log, and resulting in stuck threads, has anyone seen this?
    Caused by: com.endeca.navigation.ENEConnectionException: Error reading from socket connection buffer.Connection reset
            at com.endeca.navigation.OptiInputBuffer.read(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readFully(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readUInt(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readLine(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCat(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCatsWithAncs(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCatGroup(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatBin(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatBinList(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.ParseBinaryNode(Unknown Source)
            at com.endeca.navigation.OptiBackend.getNavigation(Unknown Source)
            at com.endeca.navigation.HttpENEConnection.query(Unknown Source)
            at com.endeca.portal.mdex.MDEXUtil.execute(MDEXUtil.java:433)
            at com.endeca.portal.data.DataSource.execute(DataSource.java:546)

    Message appears in logs internmittantly during page rendering which has Breadcrumbs, Results Table, Guided Navigation portlets.  There are Agraphs in front of several Dgraphs.

  • Error report:No more data to read from socket  when compile package

    We are going to migrate db from oracle 10g to oracle 11g. But when compile a package which is fine on oracle 10g, an exception "Error report:No more data to read from socket" throws on sql developer and break the connection. We have researched the issue and found if modify some code on a cursor, the issue will not happen.
    code:
    PROCEDURE DELETE_MANU_INTERV_BORROWS(
    p_borrow_id IN NUMBER,
    p_asset_id IN NUMBER,
    p_nsb_coll_type IN VARCHAR2,
    p_nsb_coll_code IN VARCHAR2,
    p_branch_code IN VARCHAR2,
    p_settle_date IN NUMBER,
    p_trans_type IN VARCHAR2,
    p_status OUT VARCHAR2,
    p_shorts_cursor OUT SYS_REFCURSOR
    IS
    var_end_settle_date GEC_IM_ORDER.SETTLE_DATE%type;
    CURSOR exist_allocation IS
    SELECT out_a.ALLOCATION_ID FROM
    GEC_ALLOCATION out_a,
    GEC_BORROW b,
    GEC_IM_ORDER o,
    GEC_TRADE_COUNTRY gc,
    (SELECT f.FUND_CD, f.BRANCH_CD, tc.TRADE_COUNTRY_CD, NVL(gc.COLLATERAL_CURRENCY_CD, gbk.COLLATERAL_CURRENCY_CD) as COLLATERAL_CURRENCY_CD
    FROM GEC_FUND f
    LEFT JOIN GEC_G1_BOOKING gbk ON f.fund_cd = gbk.fund_cd AND gbk.TRANSACTION_CD = 'G1L' AND gbk.POS_TYPE = 'NSB'
    LEFT JOIN GEC_G1_COLLATERAL gc ON gc.G1_BOOKING_ID = gbk.G1_BOOKING_ID
    LEFT JOIN GEC_TRADE_COUNTRY tc ON gc.TRADE_COUNTRY_CD = tc.TRADE_COUNTRY_CD
    ) loan_info
    WHERE b.BORROW_ID = out_a.BORROW_ID AND
    out_a.IM_ORDER_ID = o.IM_ORDER_ID AND
    o.FUND_CD = loan_info.FUND_CD AND
    o.ASSET_ID = p_asset_id AND
    gc.TRADE_COUNTRY_CD = o.TRADE_COUNTRY_CD AND
    o.TRANSACTION_CD = p_trans_type AND
    loan_info.COLLATERAL_CURRENCY_CD = p_nsb_coll_code AND
    loan_info.BRANCH_CD = p_branch_code AND
    o.SETTLE_DATE >= p_settle_date AND
    o.SETTLE_DATE <= var_end_settle_date AND
    b.STATUS = GEC_CONSTANTS_PKG.C_BORROW_MANUAL
    ORDER BY out_a.ALLOCATION_ID ASC
    FOR UPDATE OF out_a.ALLOCATION_ID;
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    Does anybody have any idea? I've googled the similer problems but still can't find a clue. I'll appreciate any help.

    Welcome to the forum!
    Please provide the 4 digit Oracle version (result of SELECT * FROM V$VERSION) for the source and target servers; 10g and 11g are not versions. You also mention sql developer so what is the exact version you are using?
    >
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    >
    Please clarify what works and what doesn't work because your statements are both incorrect and misleading.
    You can't delete the "OF out_a.ALLOCATION_ID" of the for update clause or you would get a syntax error by leaving FOR UPDATE OF with nothing specified after it.
    Also you original statement said
    >
    But when compile a package which is fine on oracle 10g
    >
    But now you say that if you delete the "OF..." the problem doesn't happen and the code compiles on 10g.
    Does the original code compile on 10g or not? Does it compile on 11g or not? After the original code is migrated to 11g does it compile? That is, the code is there can you manually compile it?

  • Oracle 8i on NT: No more data to read from socket

    I'm using the thin JDBC to connect to Oracle 8i on NT. when i
    try to connect i get this exception:
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.dbaccess.DBError.check_error
    (DBError.java:659)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(Compiled Code)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1
    (MAREngine.java:687)
    at oracle.jdbc.ttc7.TTIpro.receive(TTIpro.java:134)
    at oracle.jdbc.ttc7.v8TTIpro.receive(v8TTIpro.java:93)
    at oracle.jdbc.ttc7.TTC7Protocol.connect
    (TTC7Protocol.java:1100)
    at oracle.jdbc.ttc7.TTC7Protocol.logon
    (TTC7Protocol.java:179)
    at oracle.jdbc.driver.OracleConnection.<init>
    (OracleConnection.java:142)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance
    (OracleDriver.java:214)
    at oracle.jdbc.driver.OracleDriver.connect
    (OracleDriver.java:193)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection
    (DriverManager.java:137)
    at org.apache.turbine.util.db.DBOracle.getConnection
    (DBOracle.java:82)
    at
    org.apache.turbine.util.db.ConnectionPool.getNewConnection
    (ConnectionPool.java:161)
    at
    org.apache.turbine.util.db.ConnectionPool.getConnection
    (ConnectionPool.java:139)
    at org.apache.turbine.util.db.DBBroker.getConnection
    (DBBroker.java:162)
    at org.apache.turbine.util.db.DBBroker.getConnection
    (DBBroker.java:119)
    at org.apache.turbine.util.db.BasePeer.initTableSchema
    (BasePeer.java:179)
    at org.apache.turbine.util.TurbineUserPeer.<clinit>
    (TurbineUserPeer.java:140)
    at
    org.apache.turbine.util.TurbineUser.retrieveFromStorage
    (TurbineUser.java:310)
    at org.apache.turbine.actions.LoginUser.build
    (LoginUser.java:103)
    at org.apache.turbine.modules.ActionLoader.exec
    (ActionLoader.java:115)
    at Turbine.doGet(Compiled Code)
    at Turbine.doPost(Turbine.java:356)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:521)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest
    (JServConnection.java)
    at org.apache.jserv.JServConnection.run
    (JServConnection.java)
    at java.lang.Thread.run(Thread.java:479)
    any one know how to fix this problem???
    -ScottTavares-
    null

    Scott C. Tavares (guest) wrote:
    : I'm using the thin JDBC to connect to Oracle 8i on NT. when i
    : try to connect i get this exception:
    : java.sql.SQLException: No more data to read from socket
    : at oracle.jdbc.dbaccess.DBError.check_error
    : (DBError.java:659)
    : at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(Compiled Code)
    : at oracle.jdbc.ttc7.MAREngine.unmarshalSB1
    : (MAREngine.java:687)
    : at oracle.jdbc.ttc7.TTIpro.receive(TTIpro.java:134)
    : at oracle.jdbc.ttc7.v8TTIpro.receive(v8TTIpro.java:93)
    : at oracle.jdbc.ttc7.TTC7Protocol.connect
    : (TTC7Protocol.java:1100)
    : at oracle.jdbc.ttc7.TTC7Protocol.logon
    : (TTC7Protocol.java:179)
    : at oracle.jdbc.driver.OracleConnection.<init>
    : (OracleConnection.java:142)
    : at oracle.jdbc.driver.OracleDriver.getConnectionInstance
    : (OracleDriver.java:214)
    : at oracle.jdbc.driver.OracleDriver.connect
    : (OracleDriver.java:193)
    : at java.sql.DriverManager.getConnection(Compiled Code)
    : at java.sql.DriverManager.getConnection
    : (DriverManager.java:137)
    : at org.apache.turbine.util.db.DBOracle.getConnection
    : (DBOracle.java:82)
    : at
    : org.apache.turbine.util.db.ConnectionPool.getNewConnection
    : (ConnectionPool.java:161)
    : at
    : org.apache.turbine.util.db.ConnectionPool.getConnection
    : (ConnectionPool.java:139)
    : at org.apache.turbine.util.db.DBBroker.getConnection
    : (DBBroker.java:162)
    : at org.apache.turbine.util.db.DBBroker.getConnection
    : (DBBroker.java:119)
    : at org.apache.turbine.util.db.BasePeer.initTableSchema
    : (BasePeer.java:179)
    : at org.apache.turbine.util.TurbineUserPeer.<clinit>
    : (TurbineUserPeer.java:140)
    : at
    : org.apache.turbine.util.TurbineUser.retrieveFromStorage
    : (TurbineUser.java:310)
    : at org.apache.turbine.actions.LoginUser.build
    : (LoginUser.java:103)
    : at org.apache.turbine.modules.ActionLoader.exec
    : (ActionLoader.java:115)
    : at Turbine.doGet(Compiled Code)
    : at Turbine.doPost(Turbine.java:356)
    : at javax.servlet.http.HttpServlet.service
    : (HttpServlet.java:521)
    : at javax.servlet.http.HttpServlet.service
    : (HttpServlet.java:588)
    : at org.apache.jserv.JServConnection.processRequest
    : (JServConnection.java)
    : at org.apache.jserv.JServConnection.run
    : (JServConnection.java)
    : at java.lang.Thread.run(Thread.java:479)
    : any one know how to fix this problem???
    : -ScottTavares-
    scott --
    which jdbc versionare you using ??
    if not the 816sdk -- try it ...
    make sure you match up with the jdk version ...
    note: jdk 1.2 functionality is not in any of the orcl drivers
    yet.
    check out for this faq (3rd question -- i think) for more details
    on jdk 1.2 support :
    http://technet.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm
    in general -- this occurs due to several different conditions :
    verify that the connections string is correct :
    for thin -- the hostid:port:sid must match the listener you're
    trying to connect with -- and a tcp/ip connection on the server
    ust exist.
    for oci driver make sure the "tnsname" entry being specified
    exists and has the same information in its "entry" correct (i.e.
    matches the listener values)
    also make sure the listener and the orcl instance are started.
    also make sure you're using jdk 1.1.x with 8.1.5 or lower
    drivers.
    816sdk can be used with jdk 1.1 or 1.2 if you are using the
    correct jdbc driver version from otn to match the jdk version.
    only jdk 1.1.x functionality is available in the jdk 1.2 driver
    at this time.
    also make sure you're using a thin driver if in an applet.
    thin or oci in a servlet is ok if properly set up.
    without more info --
    i can't tell which of these "setup or condition" issues applies
    to your situation ...
    always provide :
    jdk details,
    applet vs. application vs. servlet,
    jdbc driver version number and type(thin/oci)
    also server version in all cases and if oci driver is being
    used -- the oracle client version,
    it's always better to provide too much detail with java
    issues than just an error message ...
    i hope this helps ...
    null

Maybe you are looking for

  • How to send a file via e-mail with director

    Is it even possible to have a button in a free-standing projector that would send a file via e-mail, or open up an e-mail program and have the file attached and addressed? Or is it possible to put a file on a server? Of course, both of these methods

  • Z10 can't open pics via email

    Hoping someone can shed some light on this challenge. I can receive photo files via email sent from apple/bb devices to my Z10 but they arrive as "unknown" and are not recognized when I attempt to open. The same images sent through text open without

  • Alternate row Addition in ALV

    HI friends,     I have come across a situation where I have to sum the alternate rows for a column in ALV display. Can somebody help me to resolve this problem.. Thanks in Advance Regards, Rajesh Edited by: Rajesh Akarte on May 16, 2008 10:16 AM

  • Invisible cursor in illustrator 5.5 after OSX Mavericks update

    Hi there, I realised, that after update to OSX Mavericks (10.9) there is almost invisible type cursor (as you hit T and try to edit text) in my Illustrator CS 5.5. Have you experienced this problem too? Well, it is not invisible, but like 10% black o

  • Ad Hoc formula calculation

    Hi guys, how are u?! As far as I'm concerned, in Functional Enhancements Schedule Version 15 since SP14 we would be able to create/edit/remove formulas and conversions ad hoc on webex. We are trying on a system in SP14 and we can´t get to the option