Couldn't read from socket error: Is this a bug in Java?

I have been facing this grave problem for a long time now. After establishing a socket connection with some server:port say 207.123.17.20:1865, I get this error "Couldn't read from socket" as an IOException. I can neither read or send any packets to the server after receiving this error. On checking whether the socket connection is alive or not, I print socket.getAddress() and it returns me the ip of the server to which it is connected. The specification says that receiving this error means the socket was closed by the server. If it so then how I am able to print the server address after receiving this error? How can I get around this problem? Plz. help...

watertownjordan said:
If your computer (client) killed the connection, it should throw an error >pointing to the OS closing the connection. but what if my client app cntrl alt del while the server is waiting to here from the client.
my client may sit idle for hours and then contact again. i want to keep their socket connected but if they cntrl alt del then i want to close the socket so the thread on the server side can be exited.
the way i solved this was to send an "i'm still here" message to the serv in a timer every 10 seconds and set the time out on the server side to 30 seconds.
i used a syncronized boolean variable like so:
    volatile private boolean out1busy = false;
    private synchronized boolean getOut1busy(){
     return out1busy;
    private synchronized void setOut1busy(boolean on){
     out1busy = on;
    }then in the timer i do this
        while (getOut1busy()) try { Thread.sleep(40); } catch (InterruptedException ex) {}
        setOut1busy(true);
        lobbyOut.println("-1");
        setOut1busy(false);it seems to work fine but the loop using the thread.sleep does not seem right and i know very little about this all.
i'm basically asking the same thing as Chintan.Kanal
Is there any way I can test whether the socket connection is alive from the server side?
does my approach above have flaws.
again it seems to work but i am not very Java savy lol.

Similar Messages

  • No more data to read from socket error.

    Oracle Version
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - ProductionI am trying a code like below
    MERGE INTO TABLE1
    ( SELECT  ...
    FROM VIEW1 ) a UNPIVOT ("VALS" FOR cols IN ( .....columns to unpivot.......))
    where a.column1='test'
    ) b ON ( a.id=b.id)
    WHEN MATCHED THEN
    UPDATE set a.name=b.name
    when not matched then
    insert (a.id,a.name) values ( b.id,b.name);This code is giving error : No more data to read from socket error.
    But when I am trying
    MERGE INTO TABLE1
    ( SELECT  ...
    FROM VIEW1*
    where a.column1='test' ) a UNPIVOT ("VALS" FOR cols IN ( .....columns to unpivot.......))
    ) b ON ( a.id=b.id)
    WHEN MATCHED THEN
    UPDATE set a.name=b.name
    when not matched then
    insert (a.id,a.name) values ( b.id,b.name);It's working properly.
    Any idea why I am getting error with code 1?
    Edited by: Anupam_Halder on Oct 4, 2012 2:13 PM

    You need to look for an Oracle specific error code and message. The error text you have posted does not seem to be an Oracle error.
    The error however could result from an ORA-3113 end-of-file on communication channel.
    This Oracle error means that the Oracle server process servicing your request (executing SQL or PL/SQL code) ran into a fatal error (potentially an Oracle bug). The server process then proceeds with a "crash dump" - writes an error to the database instance's alert log, writes a trace file and then terminiates abnormally.
    It terminates without telling the client and without tearing down the tcp client-server connection. When the client then attempts to use this connection, the socket read fails. No data to read as the socket connection no longer exists.
    But this is speculation - we need to see the actual Oracle error (from the server or from the client driver). And you seem to be using an Oracle client that suppresses Oracle error codes and text. Which places a serious question mark over the actual usability of such client s/w for Oracle client-server.

  • ORA-17410: No more data to read from socket error

    Hi
    iam getting "No more data to read from socket error" on tomcat screen.
    I have tried to explain the scenario, thats why it looks lengthy.
    Any help is appreciated.
    The application is calling a procedure which inturn tries to load class files and this error comes.
    The database is on Oracle 9i (9.2.0.5) and we maintain it as a standby database.
    Steps taken to create the standby database.
    1. I have taken the cold backup of production database and copied it to Standby server
    2. Created the oracle service on the Standby server. created the pfile and pwd file
    3. Get the database to Nomount
    4. recreate the controlfile
    5. once in mount state, archive logs are copied from production and applied using
    " recover database using backup controlfile"
    This database was opened and started getting errors on tomcat screen.
    Following are the things i tried to resolve the error:
    1. I have put the latest JDBC drivers on oracle as well as at application end.
    2. i can see all java files in Enterprise Manager on the Host Machine.
    But through TOAD when i go to "Schema Browser" of "SYS" there are no java
    files under "java tab" its empty.
    3. I have run
    C:\oracle\ora92\javavm\install\ initjvm1.sql
    and few other java related scripts from "RDBMS" folder.
    4. I have check listener config . Tried restarting the listener followed by starting the database.
    I think there could be some connectivity issue or is there any parameter which needs to be set.
    I would really appreciate any help.
    Thanks,
    Jerry

    I am not very sure but can u do this on Standby Server? Looks like queries are only allowed on standby server in 11g.
    regards
    Pravin

  • 'No more data to read from socket' error connecting to Oracle 9i

    Hi,
    My Java app connecting to Oracle 9i gets an error: No more data to read from socket.
    Application host is running oraClient805 and JDK1.3.1_06 SE
    Connection string jdbc:oracle:thin:@myhost:1521:mysid worked fine connecting to the Oracle 8 version.
    I've checked tnsnames.ora, tried tnsping util to Ora 9i, it's OK. As well I could connect directly through the SQL Worksheet.
    Could anyone suggest what could be wrong or different to make a connection from Java app to Oracle 9i ?
    I was advised to upgrade the driver, but I am not sure what do I need. I have classes102, classes111, and classes12 in the %ORACLE_HOME%\jdbc\lib\ directory. Do I miss something?
    Thanks a lot.
    Tatiana

    I believe there might be problems using the older drivers with oracle 9. You might search this forum for more info.

  • 'no more data to read from socket ' error while installing rcu

    hi all,
    while installing repository creation utility ,i faced 'no more data to read from socket' exactly at step 2(at this step ,i gave database connection details).could anyone please help me.

    is the local database you are trying to connect ?
    check the network connection and database status.

  • SQL error 17410 No more data to read from socket

    Hi, I may have reached some stability limit of my JDBC thin driver, DB version and
    the complexity of my use cases??
    DB= 9.0.1.0
    Jev/OC4J = 9.0.2
    So this includes the JDBC thin driver included that looks like version; 9.0.2.7.99
    It made no sense but changing a dynamic where clause being set onto a View over an Entity
    like; vo.setWhereClause("myid = "+theID+" and someFk ="+theFkId);
    To a dynamic where clause with bind params for efficiency:
    vo.setWhereClause("myid = :1 and someFk = :2");
    vo.setWhereClauseParam(0, theId);
    vo.setWhereClauseParam(1, theFkId);
    I checked that my bind variables are same data type as what's declared in the Entity.
    This intermitantly causes:
    JBO-26066, which is a wrapper over SQLException 17410 No more data from socket
    Deep into the stack trace are unmarshalUB1(MARengine.java) ...
    leading me to believe this isn't my code but a bug/stress issue with the driver.
    Any thoughts?
    curt

    Steve et al,
    I'd like to re-ask does it make sense what I've done?
    A standard VO over an Entity with no where clause.
    vo.setWhereClause ("myId = :1 and myTypeCd = :2");
    vo.setWhereClauseParam(0, "123")
    vo.setWhereClauseParam(1, new Integer("1"));
    If this makes sense and should work, then I'd like to debug why for me it throws this No more data to
    read from socket error..
    Nothing obvious turns up in the BugDB for this related to bind variables and JDBC based on what you've described so far. An unscientific test would be to download the latest 9.2 JDBC driver and try that to see if the problem persists.I downloaded the latest 9.2 -g debug drivers and got this interesting trace:
    DRVR OPER OracleConnection.getDefaultFixedString() returning false
    DRVR OPER ResultSetUtil.needIdentifier(typeCode=1): return: false
    DRVR SQLS Input SQL:  "SELECT JotfObligationsSum.UNO#,         JotfObligationsSum.OBLIGATION_BALANCE,          JotfObligationsSum.OBLIGATION_TYPE_CD,         JotfObligationsSum.ENTERED_DT,          JotfObligationsSum.RECORD_VERSION,         JotfObligationsSum.ENTERED_BY,          JotfObligationsSum.ROWID FROM JOTF_OBLIGATIONS_SUM JotfObligationsSum WHERE (JotfObligationsSum.Uno# = '1000270' and JotfObligationsSum.Obligation_Type_Cd=1)"
          pStmt = conn.prepareStatement("SELECT JotfObligationsSum.UNO#,         JotfObligationsSum.OBLIGATION_BALANCE,          JotfObligationsSum.OBLIGATION_TYPE_CD,         JotfObligationsSum.ENTERED_DT,          JotfObligationsSum.RECORD_VERSION,         JotfObligationsSum.ENTERED_BY,          JotfObligationsSum.ROWID FROM JOTF_OBLIGATIONS_SUM JotfObligationsSum WHERE (JotfObligationsSum.Uno# = '1000270' and JotfObligationsSum.Obligation_Type_Cd=1)");  // JBO-JDBC-INTERACT
    [803] (30) DRVR OPER OracleStatement.setFetchSize(rows=1)
    Binding param 1: 1000270
    [804] (0) DRVR OPER OraclePreparedStatement.setObject(paramIndex=1, object)
    DRVR OPER OraclePreparedStatement.setObject(paramIndex=1, object, targetSqlType=12, scale=0)
    DRVR OPER OraclePreparedStatement.setString(paramIndex=1, x=1000270)
    Binding param 2: 1
    [805] (0) DRVR OPER OraclePreparedStatement.setObject(paramIndex=2, object)
    DRVR OPER OraclePreparedStatement.setObject(paramIndex=2, object, targetSqlType=4, scale=0)
    DRVR OPER OraclePreparedStatement.setInt(paramIndex=2, x=1)
    DRVR WARN DBError.findMessage(errNum, obj): returned No max length specified in defineColumnType
    SQLWarning: reason(Warning: No max length specified in defineColumnType) SQLstate(null) vendor code(17108)
    DRVR OPER OraclePreparedStatement.executeQuery()
    DRVR OPER OraclePreparedStatement.executeUpdate()
    DRVR OPER OracleConnection.getAutoCommit() returned false
    DRVR WARN DBError.findMessage(errNum, obj): returned No more data to read from socket
    SQLException: SQLState(null) vendor code(17410)
    java.sql.SQLException: No more data to read from socketNotice that the first Select DRVR log shows the bind params already substituted?
    what's the issue of no defined max length? That column is a Number(5) and the bind param is being
    set from an Integer.
    For the duplicate class issue, try searching the *.jpr file to see if somehow you have duplicate entries in there for the class it's complaining about. LOL, this is a good one. The first line in generated *Impl.java files is the package declaration.  If
    you bring up a java file and accidentally remove the first line, you'll get this odd error message.
    Duplicate class found for abc.class
    Thanks, curt

  • Error code: 17410: No more data to read from socket

    We have a strange issue.
    We have a stored procedure which we invoke using JDBC code. Calls to this stored procedure runs fine on 2 databases but fails on the 3rd one. If we run the stored procedure using SQL Plus, it works fine.
    SQLException being thrown is:
    java.sql.SQLException: No more data to read from socket
    Oracle database version is Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production in all three environments
    While debugging the issue we figure the order of Java code made a difference while invoking the stored procedure that did not initially work.
    Original Code:
    ArrayDescriptor desc = ArrayDescriptor.createDescriptor( "SCHOOLLISTTYPE", conn );
    StructDescriptor structdesc = StructDescriptor.createDescriptor( "SCHOOLCODEOBJ", conn );
    Object[] attributes1 = { new String( "00131700" ), new String( "00" ) };
    STRUCT empType1 = new STRUCT( structdesc, conn, attributes1 );
    Object[] attributes2 = { new String( "00115900" ), new String( "01" ) };
    STRUCT empType2 = new STRUCT( structdesc, conn, attributes2 );
    Object[] attributes3 = { new String( "03078200" ), new String( "00" ) };
    STRUCT empType3 = new STRUCT( structdesc, conn, attributes3 );
    Object[] arrayElements = { empType1, empType2, empType3 };
    ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    CallableStatement ps = conn.prepareCall( "{call AWSchools.Names (?, ?, ?)}" );
    Throws the SQLException mentioned above.
    But if I change the code to:
    StructDescriptor structdesc = StructDescriptor.createDescriptor( "SCHOOLCODEOBJ", conn );
    Object[] attributes1 = { new String( "00131700" ), new String( "00" ) };
    STRUCT empType1 = new STRUCT( structdesc, conn, attributes1 );
    Object[] attributes2 = { new String( "00115900" ), new String( "01" ) };
    STRUCT empType2 = new STRUCT( structdesc, conn, attributes2 );
    Object[] attributes3 = { new String( "03078200" ), new String( "00" ) };
    STRUCT empType3 = new STRUCT( structdesc, conn, attributes3 );
    Object[] arrayElements = { empType1, empType2, empType3 };
    ArrayDescriptor desc = ArrayDescriptor.createDescriptor( "SCHOOLLISTTYPE", conn );
    ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    CallableStatement ps = conn.prepareCall( "{call AWSchools.Names (?, ?, ?)}" );
    code works fine.
    This is strange as the ArrayDescriptor and StructDescriptor and independent objects till we invoke ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    Why would creating the ArrayDescriptor after we have done with arrayElements and desc make a difference?
    And this happens only with one database server. The original code works fine in other 2 oracle database.
    We did search in many forums about the error "No more data to read from socket". Seems this is a dark error which does not have any convincing answers.
    Any help will be greatly appreciated.
    Thanks.

    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.

  • JDBC thin driver 8.0.5 giving SQLException: No more data to read from socket

    H/W : sun4u sparc SUNW,Ultra-Enterprise
    OS : SunOS 5.6 Generic_105181-16
    JDBC driver : 8.0.5.0.0 (Production Release)
    Oracle Server : 8.0.5
    I am getting the following error "SOMETIMES". I am using a connection pool to connect to the server using the thin driver. Can anyone tell me why is this happening and how can I fix it.
    Thanks,
    -Ramesh
    SQL Statement: SELECT * FROM blah blah ...
    SQLState: null
    Message: No more data to read from socket
    Vendor: 0
    JDBC close connection failed.
    java.sql.SQLException: No more data to read from socket
    URL=jdbc racle:thin:@<host>:1521:<sid> user=<user_name>
    null

    Hello,
    When I change PLSExtProc to XE, I get a different exception:
    java.sql.SQLException: ORA-00942: table or view does not exist
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:911)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1120)
         at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:962)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1242)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3446)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3491)
         at oracle.Main.main(Main.java:30)
    SQLException: ORA-00942: table or view does not exist
    thanks,
    - Breno

  • No more Data to read from socket from SQL Developer

    Hi,
    When I run the below query from SQL Developer, I get "No more data to be read from socket" error. The Oracle trace shows "Address not mapped".
    select LDateDayPrec, LDateMonPrec, LDateOrder, LDateOrder_cd, LDateSep, LDateYearPrec,
    LanguageCode, LanguageCode_cd, NegNumPres, NegNumPres_cd, NullNumPres, NullNumPres_cd,
    NumDecimalChar, NumUnitSep, NumUnits0, NumUnits1, NumUnits2, NumUnits3, NumUnits4,
    NumUnits5, ProfileName, SDateDayPrec, SDateMonPrec, SDateOrder, SDateOrder_cd, SDateSep,
    SDateYearPrec, TimeFlg, WeekDayPres, WeekDayPres_cd, ZeroPres, ZeroPres_cd,Nls_profile_ver
    FROM NLS_PROFILE WHERE NlsProfileId =1"
    When I run the same query on the server through SQL Plus session, the result is getting fetched properly.
    Next thing , when I select only 28 columns from the table in the above query, then also the row is getting fetched. I tried interchanging the columns. In that case also, the result is same. Also, when I do a "select * from NLS_PROFILE " , the row is getting fetched..
    Can somebody help ?

    SQL> SELECT * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE 11.1.0.7.0 Production
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    One more info: This table "NLS_PROFILE" is not on the DB where I am running the query. It is on a remote DB which is accessed via a synonym created over a DB link
    Edited by: 840203 on Feb 28, 2011 9:57 PM

  • 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.

  • 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?

  • XI to jdbc error:  No more data to read from socket

    i have a XI to JDBC scenario, where a receiver JDBC communication channel sends a query to the database, i get an error in the response (from database) as:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'NAME' (structure 'STATEMENT'): java.sql.SQLException: No more data to read from socket</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi Sudeep,
    This error most likely occurs when you use DB connection pool, which I think is the case in XI. When the JDBC adapter tries to connect to the database and discovers that the connection has been timed out/lost, then this exception is generated. Please have a look of the connection settings of your JDBC adapter and also at the note 831162.
    Cheers...
    Vasu
    <b>** REward POInts if found useful **</b>

Maybe you are looking for

  • ISE 1.2.1 - CLient certificate renewal and expiration

    Hi all, Anyone had any luck setting up and getting this functionality working? I have set up the correct authentication and authorisation flows and all works well. My major issue is that it would appear as though apple iOS devices do not allow you to

  • About third party process

    hi friends, in third party order processing what is the need of creating purchase requisition, cant we create purchase order with out refrence to puchase requisition? Thanks and regards sudhakar

  • Can I install InDesign CS6 and still keep my InDesign CS5 active?

    I have addons in InDesign CS5 that is not compatible with CS6. Can I buy an SC6 subscription (Adobe Creative Cloud) and keep my Adobe InDesign CS5 with addons active (and activated)??

  • Bug in Java objects not serializable

    I plan to use the latest version TopLink 10.1.3.1.0 with Oracle Database 10g (10.2.x). Do I still have to use the "Type Conversion" mapping as I had to do in order to address the reported non-serializable bug exiting in TopLink (9.0.4.5). See the lin

  • Save to computer not iCloud

    The default save location in Mountain Lion appears to be iCloud. How can this be changed so that the default location is on the computer? David Amies