Socket communication error

I am facing a problem in presentation server .
When i am using AGO date functions i have encountered an error named as.:
nQS Error:12002 : Socket Communication error at call=recv (number=10054)
I have goggle'd it but cannot understand thier explanation ...

Hi,
Mistakenly my machine got restarted and after that when I tried to start OPMN services,its showing all the processes alive but after that ,while restarting BI services from windows
its throwing an error of unexpectedly shutting down of services.
My NQS log says:
[nQSError: 12010] Communication error connecting to remote end point: address = 192.168.10.209; port = 80.
[nQSError: 46119] Failed to open HTTP connection to server 192.168.10.209 at port 80.
I have checked that IP is still same. What is the issue behind it?
This is very urgent.I have already posted this issues many times but didn't get any response So please help.

Similar Messages

  • Request giving Socket communication error at call=recv: error.

    Hi All,
    My requirement goes like this for OBIEE 11G :
    I have two requests(analysis) and I want to show either of them at a given time based on a Dashboard prompt. I have set a Presentation variable {PV} for this Prompt whcih always hays two values A and B.
    My first request is like this :
    Dim 1 Measure 1 ( this should be shown when I select Dashboard Prompt A.
    My second request is:
    Dim 2 Measure 2 ( this should be shown when I select Dashboard Prompt B.
    I have to use the Guided Navigation ( Sectional Condition in 11g)
    When Dashboard Prompt A is selected Section 1 i.e. Request 1 should be shown when Dashboard Prompt B is selected then it should show request 2.
    To achieve this in request 1 I have added a extra filter '@{PV}' is equal to/is in 'A' and in request 2 I have added a extra filter '@{PV}' is equal to/is in 'B' so as when we select B in Prompt the first request should 'No Results' so as I can achieve my Guided Navigation.
    But to my surprise when I select B in the Dashboard Prompt the first request throws an error.
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 12002] Socket communication error at call=recv: (Number=10038) An operation was attempted on something that is not a socket. (HY000)
    Please help me out with this regards as I was able to achieve this functionality easily in 10G OBIEE.
    Regards,
    Bhavik

    Hi,
    Mistakenly my machine got restarted and after that when I tried to start OPMN services,its showing all the processes alive but after that ,while restarting BI services from windows
    its throwing an error of unexpectedly shutting down of services.
    My NQS log says:
    [nQSError: 12010] Communication error connecting to remote end point: address = 192.168.10.209; port = 80.
    [nQSError: 46119] Failed to open HTTP connection to server 192.168.10.209 at port 80.
    I have checked that IP is still same. What is the issue behind it?
    This is very urgent.I have already posted this issues many times but didn't get any response So please help.

  • Socket communication error in OBIEE 10g.

    Hi
    I have below error in nqserver log by which i am unable to connect admin tool and presentation service. I am using OBIEE 10g.
    [nQSError: 12002] Socket communication error at call=recv: (Number=10004) A blocking operation was interrupted by a call to WSACancelBlockingCall
    Please Suggest.

    Hi ,
    Its not about the no. of connection pools u have in ur RPD .Its the maximum number of connections allowed for this connection pool. The default is 10. This value should be determined by the database make and model
    and the configuration of the hardware box on which the database runs as well as the number of concurrent users who require access.
    Ref :
    http://siebel.ittoolbox.com/groups/technical-functional/siebel-analytics-l/oracle-bi-server-stops-automatically-after-some-time-3645235
    Just give it try .

  • [nQSError: 12002] Socket communication error at call=recv: (Number=10004)

    Can any1 plz help...!
    I am unable to start presentation services...! I am currently using windows server 2003 service pack 2. I tried configuring scheduler after which I got the message:
    "Windows could'nt start Oracle BI Presentation server on local computer. For more information review the system event log. If this is a non-microsft service, contact the service vendor, and refer to service-specific error code -1."
    I am getting these 2 errors:
    In nqserver.log shows below error
    [nQSError: 12002] Socket communication error at call=recv: (Number=10004) A blocking operation was interrupted by a call to WSACancelBlockingCall.
    In nqscheduler.log shows below error
    [nQSError: 12002] Socket communication error at call=: (Number=10048) Only one usage of each socket address (protocol/network address/port) is normally permitted.
    I have changed scheduler port (in Job manager-->file-->configure options..>schedule-->general tab) to an available open port since 9705 is not available. I also updated port number in instanceconfig.xml file.
    Any suggestions would be really appreciated.

    have you seen the blog of John about this? http://obiee101.blogspot.com/2008/08/obiee-configuring-configuring-scheduler.html
    hope this heps

  • [nQSError: 12002] Socket communication error at call=(Number=10004, 10048)

    Can any1 plz help...!
    I am unable to start presentation services...! I am currently using windows server 2003 service pack 2. I tried configuring scheduler after which I got the message:
    "Windows could'nt start Oracle BI Presentation server on local computer. For more information review the system event log. If this is a non-microsft service, contact the service vendor, and refer to service-specific error code -1."
    I am getting these 2 errors:
    In nqserver.log shows below error+
    [nQSError: 12002] Socket communication error at call=recv: (Number=10004) A blocking operation was interrupted by a call to WSACancelBlockingCall.
    In nqscheduler.log shows below error_
    [nQSError: 12002] Socket communication error at call=: (Number=10048) Only one usage of each socket address (protocol/network address/port) is normally permitted.
    I have changed scheduler port (in Job manager-->file-->configure options..>schedule-->general tab) to an available open port since 9705 is not available. I also updated port number in instanceconfig.xml file.
    Any suggestions would be really appreciated.

    user12970693 wrote:
    Can any1 plz help...!Gawsh. That's awful.
    I wonder whether people who deal primarily with BI Server might be able to help you better than people who deal primarily with the database?
    http://forums.oracle.com/forums/category.jspa?categoryID=145
    I am unable to start presentation services...! I am currently using windows server 2003 service pack 2. I tried configuring scheduler after which I got the message:
    "Windows could'nt start Oracle BI Presentation server on local computer. For more information review the system event log. If this is a non-microsft service, contact the service vendor, and refer to service-specific error code -1."
    I am getting these 2 errors:
    In nqserver.log shows below error+
    [nQSError: 12002] Socket communication error at call=recv: (Number=10004) A blocking operation was interrupted by a call to WSACancelBlockingCall.
    In nqscheduler.log shows below error_
    [nQSError: 12002] Socket communication error at call=: (Number=10048) Only one usage of each socket address (protocol/network address/port) is normally permitted.
    I have changed scheduler port (in Job manager-->file-->configure options..>schedule-->general tab) to an available open port since 9705 is not available. I also updated port number in instanceconfig.xml file.
    Any suggestions would be really appreciated.On first guess, I'd almost think some anti-virus or firewall is haunting that machine.

  • [nQSError: 12002] Socket communication error at call=recv: (Number=10038)

    Hi, When I try to run any reports in Oracle Answers I am getting the following error:
    Odbc driver returned an error (SQLExecDirectW).
    State: HY000. Code: 10058. NQODBC SQL_STATE: HY000 nQSError: 10058 A general error has occurred.
    nQSError: 12002 Socket communication error at call=recv: (Number=10038) An operation was attempted on something that is not a socket. (HY000)
    When I try to issue a 'Direct Database Request' from Answers, it is working fine and I can see the results. The error is occuring only when I select any columns from the Presentation Catalog and try to run the Adhoc report.
    Please could you help me fix this issue.
    Thanks
    Srikanth

    Hi, When I try to run any reports in Oracle Answers I am getting the following error:
    Odbc driver returned an error (SQLExecDirectW).
    State: HY000. Code: 10058. NQODBC SQL_STATE: HY000 nQSError: 10058 A general error has occurred.
    nQSError: 12002 Socket communication error at call=recv: (Number=10038) An operation was attempted on something that is not a socket. (HY000)
    When I try to issue a 'Direct Database Request' from Answers, it is working fine and I can see the results. The error is occuring only when I select any columns from the Presentation Catalog and try to run the Adhoc report.
    Please could you help me fix this issue.
    Thanks
    Srikanth

  • BI Server Socket communication error

    All,
    OBIEE 10G with Oracle 11 database on Sun solaris.
    BI Server is randomly crashing with following error message:
    Odbc driver returned an error (SQLDriverConnectW).
    State: HY000. Code: 0. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 12008]
    Unable to connect to port 9703 on machine LOCALHOST. [nQSError: 12010]
    Communication error connecting to remote end point: address = LOCALHOST; port = 9703. [nQSError: 12002]
    Socket communication error at call=: (Number=-1) Unknown error (HY000)
    If you restart, it works fine for 1-2 days. Then again crash happens.
    Any ideas ..?
    ~R

    I've had similar issues due to insufficient memory on HP-UX. Probably best to raise a support log with oracle.

  • How to correct socket communications error 10054: connection reset by peer

    We are running Lookout 5.1 (build 8) reading data through Modbus Ethernet Drivers and we are constantly getting "socket communications error 10054: connection reset by peer" alarms on the server. When I connect to the server file with a client file the client is experiencing communications problems including locking up when editing, trends not showing up, stops updating completely (can only be corrected by restarting server file), and losing symbolic link.
    Does anyone know how to stop this alarm from happening and if this could be the cause of my faulty server-client connection or is this strictly a problem between the server and the ethernet radios in the field?
    Any response would be appreciated.
    Thanks!
    Jason
    Jason Phillips

    DST1,
    All I had to do was increase the receive timeout in each driver's properties until the socket errors disappeared. I have them all set to 30000 msec. Communications have been great on this wireless ethernet system ever since.
    Sorry for not answering sooner - needed to make time to go back and look at the file and then TS Lee came our way!
    Jason Phillips

  • Problem with socket communications

    I am trying to put together a client server socket communication pair.
    I have one application that runs in the background acting as a server and another that can be started and stopped that acts as a client.
    I can start the server and create a server socket with no problem.
    I can start the client and it connects to the server.
    The server acknowledges the connection and appears to go into a blocking state waiting for the client to send another message.
    The server blocks at the line
    parent.logit("Waiting for message from EVR..... ");
    The problem is that when the client sends another message, the server doesn't hear it.
    I am not sure if the problem is with the client or server communication code.
    If anyone out there is a socket communication guru, I would appreciate it if you could tell me what I am doing wrong.
    Thanks
    Server code:
    import java.io.*;
    import java.net.*;
    public class EVRServer
        extends Thread
      EVRDataLoader parent = null;
      ServerSocket serverSock = null;
      Socket clientSock = null;
      BufferedReader reader = null;
      BufferedWriter writer = null;
      int evrPort = 0;
      int retryLimit = 10;
      int retryCount = 0;
      boolean alive = false;
      boolean killSocket = false;
      boolean evrConnected = false;
      boolean retry = true;
      EVRListener evrListener = null;
    //=============================================================================
    // Full constructor
    //=============================================================================
       * Full constructor.
       * @param dl DataLoader - Parent application
       * @param port int Socket port
      public EVRServer(EVRDataLoader dl, int port)
        parent = dl;
        evrPort = port;
    //=============================================================================
    //  Run method - Main thread executed by start() method
    //=============================================================================
       * Main thread executed by start() method
      public void run()
        while (retry)
          if (retryCount > retryLimit)
            retry = false;
          parent.logit("Retry count = " + retryCount);
          // Create new server socket connection
          if (serverSock == null)
            try
              serverSock = new ServerSocket(evrPort);
              parent.logit("Created Server Socket for EVR on port " + evrPort);
              alive = true;
              killSocket = false;
              evrConnected = false;
            catch (Exception e)
              parent.logit(
                  "ERROR - Could not create Server socket connection for EVR: " +
                  e.toString());
              killSocket = true;
              alive = false;
          // Create new client socket connection
          if (clientSock == null)
            try
              parent.logit("Waiting for EVR to connect");
              clientSock = null;
              clientSock = serverSock.accept();
              retryCount = 0;
              evrConnected = true;
              killSocket = false;
              parent.logit("EVR connected on server Socket Port " + evrPort);
            catch (Exception e)
              parent.logit("ERROR - Error accepting EVR connection: " + e.toString());
              killSocket = true;
            try
              reader = new BufferedReader(new InputStreamReader(
                  clientSock.getInputStream()));
              writer = new BufferedWriter(new OutputStreamWriter(
                  clientSock.getOutputStream()));
              parent.logit( "Created reader "+reader);
              parent.logit( "Created writer "+writer);
            catch (Exception e)
              parent.logit(
                  "ERROR - creating reader or writer to EVR: " + e.toString());
              killSocket = true;
          int nullCount = 0;
          while (killSocket == false)
            try
              parent.logit("Waiting for message from EVR..... ");
    //          sendMessage("Data Controller connected on port " + evrPort);
              String s = reader.readLine();
              parent.logit("EVR - Received message: " + s);
              if (s != null)
                parent.processEvrMessage( s);
              else
                sleep(1000);
                nullCount++;
                if (nullCount > 10)
                  parent.logit("Exceeded retry limit: ");
                  killSocket = true;
            catch (Exception ex)
              parent.logit("Error Reading from EVR: " + ex.toString());
              killSocket = true;
          parent.logit( "After while loop");
          evrConnected = false;
          try
            retryCount++;
            parent.logit("Closing EVR connection. ");
            reader.close();
            writer.close();
            clientSock.close();
            writer = null;
            reader = null;
            clientSock = null;
            try
              sleep(1000);
            catch (Exception ee)
              parent.logit("Error after sleep " + ee.toString());
          catch (Exception e)
            parent.logit("Error closing EVR server socket");
    //=============================================================================
    // Call this method to kill the client socket connection.
    //=============================================================================
       * Call this method to kill the client socket connection.
      public void killConnection()
        killSocket = true;
    //=============================================================================
    // Return RTM connected state
    //=============================================================================
       * Return RTM connected state
       * @return boolean - Returns true if RTM is connected to server, false if not.
      public boolean isRtmConnected()
        return evrConnected;
    //=============================================================================
    // Returns state of server socket.
    //=============================================================================
       * Returns state of server socket.
       * @return boolean - Returns true if server socket is enabled, false if not.
      public boolean isServerSocketAlive()
        return alive;
    //=============================================================================
    // Send a message to the client socket.
    //=============================================================================
         * Send a message to the client socket.
         * @param msg String - Message to send.
         * @return boolean - Returns true if message sent OK, false if not.
      public boolean sendMessage(String msg)
        parent.logit(" In EVR Server - Send Message - got message: " + msg);
        if (evrConnected)
          try
            parent.logit("Sending message to EVR: " + msg);
            writer.write(msg + "\n");
            writer.flush();
            return true;
          catch (Exception e)
            parent.logit("ERROR - Error sending message to EVR: " + e.toString());
            return false;
        else
          parent.logit("EVR not connected, cannot send message: " + msg);
          return false;
    }Client code:
    package evrsimulator;
    import java.net.*;
    import java.io.*;
    class PortConnector
          extends Thread
       ServerSocket serverSock = null;
       boolean isIP = false;
       InetAddress addr = null;
       Frame1 parent = null;
       byte[] rawIP;
        //   String initialMsg = "";
       public PortConnector( Frame1 f )
         parent = f;
       // This method is called when the thread runs
       public void run()
          if ( parent.hostName.indexOf( "." ) > 0 )
             isIP = true;
             byte[] rawIP = parent.getRawIP( parent.hostName );
          try
             System.out.println( "Connecting to host " +
                                            parent.hostName + " on port " +
                                            parent.socketPort );
             if ( isIP )
                addr = InetAddress.getByAddress( rawIP );
             else
                addr = InetAddress.getByName( parent.hostName );
             System.out.println( "Inet address = " + addr );
             SocketAddress sockaddr =
                   new InetSocketAddress( addr, parent.socketPort );
             // Create an unbound socket
             parent.client = new Socket();
             // This method will block no more than timeoutMs.
             // If the timeout occurs, SocketTimeoutException is thrown.
             parent.client.connect( sockaddr, parent.socketTimeOut );
             parent.socketOut =
                   new BufferedWriter( new OutputStreamWriter(
                   parent.client.getOutputStream() ) );
             parent.socketIn = new BufferedReader( new InputStreamReader(
                   parent.client.getInputStream() ) );
             parent.localName = parent.localName +
                   parent.client;
             System.out.println( "Parent socketOut = "+parent.socketOut);
             System.out.println( "Parent socketIn = "+parent.socketIn);
          catch ( UnknownHostException uhe )
             System.out.println( "Unknown Host - " + uhe.getMessage() );
          catch ( SocketTimeoutException ste )
             System.out.println( "Socket time out - " + ste.getMessage());
          catch ( IOException ioe )
             System.out.println( "IO exception - " + ioe.getMessage() );
          // Listen on socket for message from host - thread should block.
          parent.portConnected = true;
          while ( parent.portConnected )
             try
                String msg = parent.socketIn.readLine();
                System.out.println( "Message from Host: " + msg );
                System.out.println( "Message from Host: |" + msg + "|" );
                if( msg.length() > 2)parent.processMessage( msg );
             catch ( IOException ioe )
                System.out.println( "Exception creating server socket." );
          try
             System.out.println(
                   "PortConnection - Closing socket and IO connections" );
             parent.socketIn.close();
             parent.socketOut.close();
             parent.client.close();
             parent.clockRunning = false;
             if( parent.heartBeating) heartBeat.interrupt();
          catch ( IOException ioex )
             System.out.println( "Exception closing socket." );
    }

    Your first problem is that you keep closing and recreating the ServerSocket. Do this once only in the lifetime of the server.
    This is such a basic error that I haven't read the rest of the code. Before you go any further I suggest you read the Custom Networking trail of the Java Tutorial.

  • Socket read error: connection reset by peer

    Hi.
    Has anybody experienced the error message �Socket read error: connection reset by peer�
    Please see below for detailed information.
    Appreciate your help
    Regards
    RT
    Enviroment specification
    Server: HP/UX 11.00 64-bit, Oracle RDBMS 8.1.6.0.0 64-bit
    2 firewalls between client and db.
    Client:
    Win 2000,
    SP3,
    Oracle Client 8.1.7.0.0 ,JDBC OCI (thin JDBC driver,class12.zip)
    JDK 1.3
    JRUN3.0
    The TCP protocol is being used in the communication
    Error messages
    Web Users receive:           Socket read error: connection reset by peer
    Trace files on the sever:      Read unexpected EOF ERROR on 18.
    Explanation: The error in the server sqlnet trace file, suggests that a client connection has terminated abnormally, i.e. client machine powered off, a cable removed or a network connection aborted without warning. No user has complained of such a problem and there is no client trace with an error.
    The problem
    The users of the java web application, experiencing an exception almost once or twice a day.
    The JRUN web-server reports broken connections to the db and client are receiving "connection reset by peer".
    At the moment when the errors occurs the users just have to wait a while(2-10 min) and then they can use the web application again.(no action is taken)
    This problem can not be reproduced. The problem happens only occasionally when the network is under heavy load and new DB connection is being created.
    The application
    The java web-application uses a customized connection pooling against the database. This pool is shared among all the users of the website. whenever a user process needs to fetch data from the database, a free connection from this pool is allocated. The application is testing if the connection is valid before making a transaction (select '1' from dual). When the error occurs a ORA-3113 end-of-file on communication channel is returned to the application.
    The path between the client and db involves at least two firewalls. The firewalls are opened for sql*net traffic. The network group can tell that enquiries from the app.server is not getting feedback from the db. They have not however, identified if the enquiries are reaching the db-srever, or if they are stopped earlier in the network.
    Around 1000 users, are using other applications which uses dedicated sqlnet connections against the db and they have not experienced any problems.
    Issues considered
    Connection pooling
    It is a customized connection pooling, developed by Lindorff developers.
    I have read through the source code for the connection pooling and it does the job as it should, and in case of bad connection, it tries to create a new connection.
    The log file shows that the call to the method DriverManager.getConnection() hangs until the server goes down, which is probably because of the fact that the method DriverManager.setLoginTimeout(), does not take effect and timeout value is Zero. ( According to oracle , Oracle JDBC does not support login timeouts and calling the static DriverManager.setLoginTimeout() method will have no effect).
    Firewall
    One thing to consider is when the firewall may decide to shut down the socket due to long inactivity of a connection. This will cause problems to JDBC Connection Pool because the pool is not aware of this disconnection at the TCP/IP level; until someone checks out the connection from the pool and tries to use it. The user will get a Socket read error: connection reset by peer.
    Jrun timeout paramter is less than the firewall�s timeout so the firewall will not close a connection before Jrun does.
    Number of processes the DB can handle
    Processes parameter is 1300, , they have not experienced the Oracle error msg �max # of processes reached�.
    Port redirection through a firewall:
    Since the firewall has a sql net proxy Port redirection through a firewall is not a problem. Problems with port redirection only appear at connect time, but in this situation the connections fail long after the connection is established.
    The network group
    The network people who investigaged the problem at Lindorff report that there are a significant amount of "dropped packages" between the database server and the jdbc client (web-application) 24 hrs. The reason for this is "unknown established TCP packet" which means that the firewall does not consider these packages to be part of an already established session. The network group believes this happen because one of the hosts send a RESET or FIN signal which the firewall have noticed but are not received by the other host.
    It seems like the firewall are dropping packages bacause of "Unknown
    established TCP packet" from both the JDBC client and the TNSLISTENER on the database server. The dropped packages are SQL*Net v2 traffic so clearly Oracle products are involved

    Presumably something is working.
    Thus the problem is not with your code. At least not the database part that you have control over.
    That error occurs when the other side closes the socket. Presumably you are catching lost connection exceptions and trying to restore it.

  • Socket communication failure between Java applet and C++ application

    I have a java applet that connects to a C++ application via Java's ServerSocket and Socket objects. THe C++ application is using the Winsock 2 API. The applet and application are running on an NT workstation (SP 6) and using IE (5.5) For a very simple C++ test applications the communictions work fine. Once more code gets added to the C++ application the portion of the socket that C++ listens to seems to close. Upon performing a recv call the return value is a zero. Microsoft insists this is a sign the Java side has shut down the socket. The Java applet can still receive messages from the C++ app but C++ cannot receive responses from the Java side. Java throws no exceptions and an explicit check of the socket shows no errors. Again, what puzzles me is that it works for simple C++ applications. Are there any known conflicts between Java and C++ in this regard?
    I have inlcuded the basic java code segments below.
    / run Method.
      * This method is called by the Thread.start() method. This
      * method is required for the implementation of the Runnable interface
      * This method sets up the server side socket communication and
      * contiuously loops looking for requests from a external
      * socket.
      * @author Chris Duke
      public void run(){
         // create socket connections
         boolean success = false;
         try {
             cServerSocket = new ServerSocket(cPortID);
             System.out.println("Waiting for client to connect...");
             cClientSocket = cServerSocket.accept();
             System.out.println("Client connected");
             // Create a stream to read from the client
             cInStream = new BufferedReader(new InputStreamReader(
               cClientSocket.getInputStream()));
             // Create a stream to write to the client       
             cOutStream = new PrintWriter(
               cClientSocket.getOutputStream(), true);
             success = true;
         }catch (IOException e) {
             System.out.println("CommSocket:Run - Socket Exception(1) " + e);
             success = false;
         // if the socket was successfully created, keep the thread running
         while (success){
             try{
                // check socket to see if it is still available for reading
                if (cInStream != null && cInStream.ready()){
                    // check for an incoming message
                    String message = ReceiveMessage();
                    // Send message to listeners
                    Event(message);
                if (cInStream == null){
                    success = false;
                    System.out.println("CommSocket:Run - shutdown");
             }catch (IOException e){
                System.out.println("CommSocket:Run - Socket not ready exception");
                break;
    // SendMessage method -
      *  Sends a text message to a connected listener through port specified by portID
      * @author Chris Duke
      * @param  String message - This will be the message sent out through the server
      * socket's port specified by portID.
       public void SendMessage(String message){
          cOutStream.println(message);
          if (cOutStream.checkError() == true)
            System.out.println("SendMessage : Flush = Error");
          else{
            System.out.println("SendMessage : Flush - No Error");
       }

    a very simple C++ test applications the communictions work fine. Once more code gets added to the C++ application the portion of the socket that C++ listens to seems to close.
    This quite strongly implicates the extra code in the C++ App. The firstly thing I would try would be telnet. Try connecting to both versions of the C++ Application and manually reproducing a proper exchange.
    a recv call the return value is a zero. Microsoft insists this is a sign the Java side has shut down the socket.
    A correct implementation of recv should return the number of bytes received, or -1 for an error. A zero return indicates no bytes received not a socket closed/error. This sounds like FUD to me.
    Are there any known conflicts between Java and C++ in this regard?
    I can see no obvious faults, though the code is incomplete, I don't think it's an sockets implementation issue, at either end, it sounds more likely to be a protocol/handshaking bug in the C++ App.

  • Socket communication very slow on Mac OS X 10.6

    Hi everybody,
    I'm using a socket based communication in an application and in Mac OS 10.5 everything works quick and flawless using XCode 3.1.4.
    In Mac OS 10. 6, using XCode 3.2.4, I set the Mac OS X 10.6 SDK, I recompiled the app. but the responsiveness of the app is terrible slow. The GUI itself runs OK but any socket related action is painfully slow (sometimes connection timeout).
    The socket communication is implemented using standard CFSocket classes.
    Is this a XCode migration issue from 3.1 to 3.2 or a Mac OS 10.6 related one (I've seen lots of complains on networking issues)?
    Thank you very much,
    Dan

    Thank you very much for the info but why it worked (and really fast) on 10.5. I also wonder why I didn't run into TCP_NODELAY problem there ? My TCP buffer size is 1K and I'm using the same testing environment.
    Of course there is much more to it than some init parameters but still, what could be so different on 10.6 ? And I tried already the sysctl.conf TCP_NODELAY setting but no effect.
    This is the code (briefly):
    1. CONNECT
    // Create signature from ip and port
    struct sockaddr_in sin; /* TCP/UDP socket address structure. */
    self->m_RemoteSocketSignature = (CFSocketSignature*)malloc(sizeof(CFSocketSignature));
    self->m_RemoteSocketSignature->protocolFamily = PF_INET; /* IPv4 */
    self->m_RemoteSocketSignature->socketType = SOCK_STREAM; /* Stream oriented. */
    self->m_RemoteSocketSignature->protocol = IPPROTO_TCP; /* TCP */
    memset( &sin, 0, sizeof( sin ) );
    sin.sin_len= sizeof( sin );
    sin.sin_family = AF_INET; /* Address is IPv4. Use PF_xxx for protocol
    description, AF_xxx for address description. */
    /* sin.port and sin.addr are in network( big endian ) byte order. */
    sin.sin_port = CFSwapInt16HostToBig( port );
    inet_aton( [address UTF8String], &sin.sin_addr ); /* inet_aton() gives back
    network order addresses from strings. */
    self->m_RemoteSocketSignature->address = CFDataCreate( NULL, (UInt8 *)&sin, sizeof( sin ) );
    // Connect the Write & the Read streams to the socket
    CFStreamCreatePairWithPeerSocketSignature (
    kCFAllocatorDefault,
    m_RemoteSocketSignature,
    & m_ReadStream,
    & m_WriteStream
    if((m_ReadStream != NULL) && (m_WriteStream != NULL))
    bOpenWrite = CFWriteStreamOpen (m_WriteStream);
    bOpenRead = CFReadStreamOpen (m_ReadStream);
    2. RECEIVE
    CFIndex iTotalBytesRead = 0;
    while (true == CFReadStreamHasBytesAvailable(m_ReadStream))
    char buffer[1024];
    CFIndex bufferLength = 1024;
    CFIndex iBytesRead = CFReadStreamRead (
    m_ReadStream,
    buffer,
    bufferLength
    // Error ?
    if(iBytesRead < 0)
    return iBytesRead;
    // EOS ?
    if(iBytesRead == 0)
    return iTotalBytesRead;
    iTotalBytesRead += iBytesRead;
    if(string != nil)
    [string appendString:[NSString stringWithCString:buffer length:(unsigned)iBytesRead]];
    3. SEND
    CFIndex iBytesSent = CFWriteStreamWrite (
    m_WriteStream,
    buffer,
    bufferLength
    Thanks a lot for your help,
    Dan

  • Socket communication problem

    hello all,
    i have written a small program to send a message to echo server and get back the response from the server.
    it gives a error as
    COULD NOT GET I/O FOR CONNECTION TO <ip address>
    i am working on win nt version 4 service pack 4 installed on a home computer.
    the code is as below:
    import java.io.*;
    import java.net.*;
    public class net4a {
    public static void main(String[] args) throws IOException{
    Socket echoSocket = null;
    DataOutputStream os = null;
    DataInputStream is = null;
         DataInputStream stdIn = new DataInputStream(System.in);
         InetAddress host = InetAddress.getLocalHost();
    try {
    echoSocket = new Socket(host, 7);
    os = new DataOutputStream(echoSocket.getOutputStream());
    is = new DataInputStream(echoSocket.getInputStream());
    } catch (UnknownHostException e) {
    System.err.println("Don't know about host: " + host);
    } catch (IOException e) {
    System.err.println("Couldn't get I/O for the connection to: " + host);
    if (echoSocket != null && os != null && is != null) {
    try {
    String userInput;
    while ((userInput = stdIn.readLine()) != null) {
    os.writeBytes(userInput);
    os.writeByte('\n');
    System.out.println("echo: " + is.readLine());
    os.close();
    is.close();
    echoSocket.close();
    } catch (IOException e) {
    System.err.println("I/O failed on the connection to: " + host);
    look forward to ur valuable tips on the same.

    Hello,
    Long time java programmer, first time forum user.
    Looks like you looking to looking to get a java applet/program communicating with a web server. This is not an extremely difficult task and I have successfully got apache communicating CGI transactions to and from an applet with no drama�s.
    This is very useful as it is restrictive to have to open up extra sockets across a network as many networks today restrict socket communication often for security or business/organization policies.
    An alternative is to use HTTP request using the POST command to talk to a web server with the web server replying to the request. For example, you may need to ask a database to pull out all customer names from a server-side database. The applet need only send a URLEncoded request to the server, the webserver invokes the CGI process (I use Java to handle the CGI requests but other methods/languages can be used) which returns the result of the transaction.
    I have listed some code that included the a �ping-pong� request to a server. It included the applet function that calls the webserver, the CGI batch script (for win NT/XP) to invoke the java program, the cgi-lib to simply parse the URL request (many thanks to the author) and the server-side java program that responds to the request.
    I hope you find this useful. The download for apache, the webserver, is available at
    http://www.apache.org/
    and is a pretty simple install. Make sure you fix up the httpd.conf file to suit your system.
    Good luck.
    Dale Miller
    CLIENT-SIDE (Java Applet Snippit)
    public class Comm {
         private String server;
         private URL toServer;
         private URLConnection uRLConnection;
         private DataOutputStream dataOutputStream;
         private StringBuffer output;
         private BufferedReader dataInputStream;
         private String result;
         private int resultsLast;
         private String results[] = new String[100];
         private int firstTU;
         //this function starts in its own thread and takes care
         //of logins and there re-tries, the messaging.
         //Please see the actual function for better details
         //private LoginWatcher loginWatcher;
         public Comm(String serverAddress) throws UnsupportedEncodingException{
              System.out.println("loaded Comm class!");
              //First thing we need to do is set up the login watcher
              //loginWatcher = new LoginWatcher();
              this.output = new StringBuffer();
              this.server = serverAddress;
              try {
                   this.toServer = new URL(server + "ping.cgi");
              } catch (MalformedURLException e) {
                   System.out.println("ERROR : in contacting the server");
                   System.out.println("Server : " + server);
                   System.out.println("NOT FOUND!!");
              try {
                   this.uRLConnection = toServer.openConnection();
              } catch (IOException e) {
                   System.out.println("ERROR : Connection to server refused");
              this.uRLConnection.setUseCaches(false);
              this.uRLConnection.setDoInput(true);
              this.uRLConnection.setDoOutput(true);
              this.uRLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
              try {
                   this.dataOutputStream = new DataOutputStream(uRLConnection.getOutputStream());
              } catch (IOException e) {
                   System.out.println("ERROR : opening dataoutputstream");
              this.output.setLength(0);
              output.append("first=" + URLEncoder.encode("I am", "UTF-8"));
              output.append("&last=" + URLEncoder.encode("number 1", "UTF-8"));
              try {
                   dataOutputStream.writeBytes(new String(output));
              } catch (IOException e) {
                   System.out.println("ERROR : Sending string to cgi ping.cgi");
              try {
                   this.dataInputStream = new BufferedReader(new InputStreamReader(uRLConnection.getInputStream()));
              } catch (IOException e) {
                   System.out.println("ERROR : Setting up input stream");
              String grab = new String();
              System.out.print("Searching for server..");
              try {
                   grab = dataInputStream.readLine();
                   grab = dataInputStream.readLine();
              } catch (IOException e) {
                   System.out.println("ERROR : Reciving ping data from server");
              if (grab.equals("pass")) {
                   System.out.println("OK");
              } else {
                   System.out.println("ERROR\n\nSERVER NOT FOUND!!!");
                   System.exit(-1);
              //loginWatcher.loginWatcherTh.start();
    CGI BATCH TO INVOKE CGI PROGRAM
    #!java -cp c:\ss\ middle
    CGI-LIB TO PARSE HTTP REQUESTS
    import java.util.*;
    import java.io.*;
    * cgi_lib.java<p>
    * <p>
    * Usage: This library of java functions, which I have encapsulated inside
    * a class called cgi_lib as class (static) member functions,
    * attempts to duplicate the standard PERL CGI library (cgi-lib.pl).
    * You must invoke any Java program that uses this library from
    * within a UNIX script, Windows batch file or equivalent. As you
    * will see in the following example, all of the CGI environment
    * variables must be passed from the script into the Java application
    * using the -D option of the Java interpreter. This example
    * UNIX script uses the "main" routine of this class as a
    * CGI script:
    * <pre>
    * (testcgi.sh)
    * #!/bin/sh
    * java \
    * -Dcgi.content_type=$CONTENT_TYPE \
    * -Dcgi.content_length=$CONTENT_LENGTH \
    * -Dcgi.request_method=$REQUEST_METHOD \
    * -Dcgi.query_string=$QUERY_STRING \
    * -Dcgi.server_name=$SERVER_NAME \
    * -Dcgi.server_port=$SERVER_PORT \
    * -Dcgi.script_name=$SCRIPT_NAME \
    * -Dcgi.path_info=$PATH_INFO \
    * cgi_lib
    * </pre>
    * Question and comments can be sent to [email protected].<p>
    * @version 1.0
    * @author Pat L. Durante
    class cgi_lib
    * Parse the form data passed from the browser into
    * a Hashtable. The names of the input fields on the HTML form will
    * be used as the keys to the Hashtable returned. If you have a form
    * that contains an input field such as this,<p>
    * <pre>
    * &ltINPUT SIZE=40 TYPE="text" NAME="email" VALUE="[email protected]"&gt
    * </pre>
    * then after calling this method like this,<p>
    * <pre>
    * Hashtable form_data = cgi_lib.ReadParse(System.in);
    * </pre>
    * you can access that email field as follows:<p>
    * <pre>
    * String email_addr = (String)form_data.get("email");
    * </pre>
    * @param inStream The input stream from which the form data can be read.
    * (Only used if the form data was posted using the POST method. Usually,
    * you will want to simply pass in System.in for this parameter.)
    * @return The form data is parsed and returned in a Hashtable
    * in which the keys represent the names of the input fields.
    public static Hashtable ReadParse(InputStream inStream)
    Hashtable form_data = new Hashtable();
    String inBuffer = "";
    if (MethGet())
    inBuffer = System.getProperty("cgi.query_string");
    else
    // TODO: I should probably use the cgi.content_length property when
    // reading the input stream and read only that number of
    // bytes. The code below does not use the content length
    // passed in through the CGI API.
    DataInput d = new DataInputStream(inStream);
    String line;
    try
    while((line = d.readLine()) != null)
    inBuffer = inBuffer + line;
    catch (IOException ignored) { }
    // Split the name value pairs at the ampersand (&)
    StringTokenizer pair_tokenizer = new StringTokenizer(inBuffer,"&");
    while (pair_tokenizer.hasMoreTokens())
    String pair = urlDecode(pair_tokenizer.nextToken());
    // Split into key and value
    StringTokenizer keyval_tokenizer = new StringTokenizer(pair,"=");
    String key = new String();
    String value = new String();
    if (keyval_tokenizer.hasMoreTokens())
    key = keyval_tokenizer.nextToken();
    else ; // ERROR - shouldn't ever occur
    if (keyval_tokenizer.hasMoreTokens())
    value = keyval_tokenizer.nextToken();
    else ; // ERROR - shouldn't ever occur
    // Add key and associated value into the form_data Hashtable
    form_data.put(key,value);
    return form_data;
    * URL decode a string.<p>
    * Data passed through the CGI API is URL encoded by the browser.
    * All spaces are turned into plus characters (+) and all "special"
    * characters are hex escaped into a %dd format (where dd is the hex
    * ASCII value that represents the original character). You probably
    * won't ever need to call this routine directly; it is used by the
    * ReadParse method to decode the form data.
    * @param in The string you wish to decode.
    * @return The decoded string.
    public static String urlDecode(String in)
    StringBuffer out = new StringBuffer(in.length());
    int i = 0;
    int j = 0;
    while (i < in.length())
    char ch = in.charAt(i);
    i++;
    if (ch == '+') ch = ' ';
    else if (ch == '%')
    ch = (char)Integer.parseInt(in.substring(i,i+2), 16);
    i+=2;
    out.append(ch);
    j++;
    return new String(out);
    * Generate a standard HTTP HTML header.
    * @return A String containing the standard HTTP HTML header.
    public static String Header()
    return "Content-type: text/html\n\n";
    * Generate some vanilla HTML that you usually
    * want to include at the top of any HTML page you generate.
    * @param Title The title you want to put on the page.
    * @return A String containing the top portion of an HTML file.
    public static String HtmlTop(String Title)
    String Top = new String();
    Top = "<html>\n";
    Top+= "<head>\n";
    Top+= "<title>\n";
    Top+= Title;
    Top+= "\n";
    Top+= "</title>\n";
    Top+= "</head>\n";
    Top+= "<body>\n";
    return Top;
    * Generate some vanilla HTML that you usually
    * want to include at the bottom of any HTML page you generate.
    * @return A String containing the bottom portion of an HTML file.
    public static String HtmlBot()
    return "</body>\n</html>\n";
    * Determine if the REQUEST_METHOD used to
    * send the data from the browser was the GET method.
    * @return true, if the REQUEST_METHOD was GET. false, otherwise.
    public static boolean MethGet()
    String RequestMethod = System.getProperty("cgi.request_method");
    boolean returnVal = false;
    if (RequestMethod != null)
    if (RequestMethod.equals("GET") ||
    RequestMethod.equals("get"))
    returnVal=true;
    return returnVal;
    * Determine if the REQUEST_METHOD used to
    * send the data from the browser was the POST method.
    * @return true, if the REQUEST_METHOD was POST. false, otherwise.
    public static boolean MethPost()
    String RequestMethod = System.getProperty("cgi.request_method");
    boolean returnVal = false;
    if (RequestMethod != null)
    if (RequestMethod.equals("POST") ||
    RequestMethod.equals("post"))
    returnVal=true;
    return returnVal;
    * Determine the Base URL of this script.
    * (Does not include the QUERY_STRING (if any) or PATH_INFO (if any).
    * @return The Base URL of this script as a String.
    public static String MyBaseURL()
    String returnString = new String();
    returnString = "http://" +
    System.getProperty("cgi.server_name");
    if (!(System.getProperty("cgi.server_port").equals("80")))
    returnString += ":" + System.getProperty("cgi.server_port");
    returnString += System.getProperty("cgi.script_name");
    return returnString;
    * Determine the Full URL of this script.
    * (Includes the QUERY_STRING (if any) or PATH_INFO (if any).
    * @return The Full URL of this script as a String.
    public static String MyFullURL()
    String returnString;
    returnString = MyBaseURL();
    returnString += System.getProperty("cgi.path_info");
    String queryString = System.getProperty("cgi.query_string");
    if (queryString.length() > 0)
    returnString += "?" + queryString;
    return returnString;
    * Neatly format all of the CGI environment variables
    * and the associated values using HTML.
    * @return A String containing an HTML representation of the CGI environment
    * variables and the associated values.
    public static String Environment()
    String returnString;
    returnString = "<dl compact>\n";
    returnString += "<dt><b>CONTENT_TYPE</b> <dd>:<i>" +
    System.getProperty("cgi.content_type") +
    "</i>:<br>\n";
    returnString += "<dt><b>CONTENT_LENGTH</b> <dd>:<i>" +
    System.getProperty("cgi.content_length") +
    "</i>:<br>\n";
    returnString += "<dt><b>REQUEST_METHOD</b> <dd>:<i>" +
    System.getProperty("cgi.request_method") +
    "</i>:<br>\n";
    returnString += "<dt><b>QUERY_STRING</b> <dd>:<i>" +
    System.getProperty("cgi.query_string") +
    "</i>:<br>\n";
    returnString += "<dt><b>SERVER_NAME</b> <dd>:<i>" +
    System.getProperty("cgi.server_name") +
    "</i>:<br>\n";
    returnString += "<dt><b>SERVER_PORT</b> <dd>:<i>" +
    System.getProperty("cgi.server_port") +
    "</i>:<br>\n";
    returnString += "<dt><b>SCRIPT_NAME</b> <dd>:<i>" +
    System.getProperty("cgi.script_name") +
    "</i>:<br>\n";
    returnString += "<dt><b>PATH_INFO</b> <dd>:<i>" +
    System.getProperty("cgi.path_info") +
    "</i>:<br>\n";
    returnString += "</dl>\n";
    return returnString;
    * Neatly format all of the form data using HTML.
    * @param form_data The Hashtable containing the form data which was
    * parsed using the ReadParse method.
    * @return A String containing an HTML representation of all of the
    * form variables and the associated values.
    public static String Variables(Hashtable form_data)
    String returnString;
    returnString = "<dl compact>\n";
    for (Enumeration e = form_data.keys() ; e.hasMoreElements() ;)
    String key = (String)e.nextElement();
    String value = (String)form_data.get(key);
    returnString += "<dt><b>" + key + "</b> <dd>:<i>" +
    value +
    "</i>:<br>\n";
    returnString += "</dl>\n";
    return returnString;
    * The main routine is included here as a test CGI script to
    * demonstrate the use of all of the methods provided above.
    * You can use it to test your ability to execute a CGI script written
    * in Java. See the sample UNIX script file included above to see
    * how you would invoke this routine.<p>
    * Please note that this routine references the member functions directly
    * (since they are in the same class), but you would have to
    * reference the member functions using the class name prefix to
    * use them in your own CGI application:<p>
    * <pre>
    * System.out.println(cgi_lib.HtmlTop());
    * </pre>
    * @param args An array of Strings containing any command line
    * parameters supplied when this program in invoked. Any
    * command line parameters supplied are ignored by this routine.
    public static void main( String args[] )
    // This main program is simply used to test the functions in the
    // cgi_lib class.
    // That said, you can use this main program as a test cgi script. All
    // it does is echo back the form inputs and enviroment information to
    // the browser. Use the testcgi UNIX script file to invoke it. You'll
    // notice that the script you use to invoke any Java application that
    // uses the cgi_lib functions MUST pass all the CGI enviroment variables
    // into it using the -D parameter. See testcgi for more details.
    // Print the required CGI header.
    System.out.println(Header());
    // Create the Top of the returned HTML
    // page (the parameter becomes the title).
    System.out.println(HtmlTop("Hello World"));
    System.out.println("<hr>");
    // Determine the request method used by the browser.
    if (MethGet())
    System.out.println("REQUEST_METHOD=GET");
    if (MethPost())
    System.out.println("REQUEST_METHOD=POST");
    System.out.println("<hr>");
    // Determine the Base URL of this script.
    System.out.println("Base URL: " + MyBaseURL());
    System.out.println("<hr>");
    // Determine the Full URL used to invoke this script.
    System.out.println("Full URL: " + MyFullURL());
    System.out.println("<hr>");
    // Print all the CGI environment variables
    // (usually only used while testing CGI scripts).
    System.out.println(Environment());
    System.out.println("<hr>");
    // Parse the form data into a Hashtable.
    Hashtable form_data = ReadParse(System.in);
    // Print out each of the name/value pairs
    // from sent from the browser.
    System.out.println(Variables(form_data));
    System.out.println("<hr>");
    // Access a particular form value.
    // (This assumes the form contains a "name" input field.)
    String name = (String)form_data.get("name");
    System.out.println("Name=" + name);
    System.out.println("<hr>");
    // Create the Bottom of the returned HTML page - which closes it cleanly.
    System.out.println(HtmlBot());
    SERVER-SIDE PROGRAM TO RETURN PING
    import java.util.*;
    import java.io.*;
    class ping
         public static void main(String args[]) {
              System.out.println(cgi_lib.Header());
              Hashtable form_data = cgi_lib.ReadParse(System.in);
              String one = (String)form_data.get("first");
              String two = (String)form_data.get("last");
              boolean test;
              test = false;
              if (one.equals("I am")) {
                   if (two.equals("number 1")) {
                        test = true;
              if (test == true) {
                   System.out.println("pass");
              } else {
                   System.out.println("fail");
         //Datavasee
    ENJOY :)

  • Random Communication error in WL 8.1 using DB2

    We just recently upgraded our WL server to 8.1 sp2 from 6.1 sp4 and are seeing a random communication error. This error occurrs at random several times a day, but hitting the page refresh it goes away (i.e. we reconnect without issue) but then it will come back again after some time.
    WL Version: 8.1 sp2 using JDK 1.4.2_06 on SUN Solaris using Db2 v 7.2 drivers to connect to our DB2 6.1 database.
    Any help would be much appreciated.
    Thanks,
    Dominic
    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "". Communication function detecting the error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
    <Jun 9, 2005 10:57:21 AM PDT> <Error> <JDBC> <BEA-001112> <Test "select count(*) from sysibm.sysdummy1" set up for pool "FWM1-administrator-pool" failed with exception: "COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0601E Invalid statement handle or statement is closed. SQLSTATE=S1000".>
    EXCEPTION CAUGHT:
    java.rmi.RemoteException: EJB Exception: ; nested exception is:
    javax.ejb.EJBException: nested exception is: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "". Communication function detecting the error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
    at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:103)
    at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome.java:304)
    at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:253)
    at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:141)
    at com.finaplex.fwm.accountgroup.controller.ejb.AccountGroupManagerEJB_473uyk_EOImpl.getAccountGroups(AccountGroupManagerEJB_473uyk_EOImpl.java:566)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.getAccountGroups(AccountGroupsTag.java:979)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.getAccountGroups(AccountGroupsTag.java:921)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.doStartTag(AccountGroupsTag.java:183)
    at com.finaplex.fwm.jsp._components._fwml._lot.__financialassetsearch._jspService(__financialassetsearch.java:371)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.PageAccessFilter.doFilter(PageAccessFilter.java:118)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.LoginFilter.doFilter(LoginFilter.java:429)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
    at com.finaplex.fwm.jsp._accounts._assets.__financial2._jspService(__financial2.java:797)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.PageAccessFilter.doFilter(PageAccessFilter.java:118)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.LoginFilter.doFilter(LoginFilter.java:429)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

    Hi Robert,
    I am also running across the same error. did you by chance figure what was
    causing it?
    thanks!
    LJ
    Robert McGinnis wrote:
    We just recently upgraded our WL server to 8.1 sp2 from 6.1 sp4 and are seeing a random communication error. This error occurrs at random several
    times a day, but hitting the page refresh it goes away (i.e. we reconnect
    without issue) but then it will come back again after some time.
    WL Version: 8.1 sp2 using JDK 1.4.2_06 on SUN Solaris using Db2 v 7.2 drivers to connect to our DB2 6.1 database.
    Any help would be much appreciated.
    Thanks,
    Dominic
    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2] SQL30081N A communication error has been detected. Communication protocol being used:
    "TCP/IP". Communication API being used: "SOCKETS". Location where the error
    was detected: "". Communication function detecting the error: "recv".
    Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
    <Jun 9, 2005 10:57:21 AM PDT> <Error> <JDBC> <BEA-001112> <Test "select count(*) from sysibm.sysdummy1" set up for pool "FWM1-administrator-pool"
    failed with exception: "COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver]
    CLI0601E Invalid statement handle or statement is closed. SQLSTATE=S1000".>
    EXCEPTION CAUGHT:
    java.rmi.RemoteException: EJB Exception: ; nested exception is:
    javax.ejb.EJBException: nested exception is: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2] SQL30081N A
    communication error has been detected. Communication protocol being used:
    "TCP/IP". Communication API being used: "SOCKETS". Location where the error
    was detected: "". Communication function detecting the error: "recv".
    Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
    at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:103)
    at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome.java:304)
    at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:253)
    at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:141)
    at com.finaplex.fwm.accountgroup.controller.ejb.AccountGroupManagerEJB_473uyk_EOImpl.getAccountGroups(AccountGroupManagerEJB_473uyk_EOImpl.java:566)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.getAccountGroups(AccountGroupsTag.java:979)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.getAccountGroups(AccountGroupsTag.java:921)
    at com.finaplex.fwm.accountgroup.tags.AccountGroupsTag.doStartTag(AccountGroupsTag.java:183)
    at com.finaplex.fwm.jsp._components._fwml._lot.__financialassetsearch._jspService(__financialassetsearch.java:371)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.PageAccessFilter.doFilter(PageAccessFilter.java:118)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.LoginFilter.doFilter(LoginFilter.java:429)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:613)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:400)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
    at com.finaplex.fwm.jsp._accounts._assets.__financial2._jspService(__financial2.java:797)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.PageAccessFilter.doFilter(PageAccessFilter.java:118)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.finaplex.fwm.servlets.LoginFilter.doFilter(LoginFilter.java:429)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

  • CF11 is crashing ( application pool suffered a fatal communication error with the Windows Process Activation Service)

    I have a cluster of 2 IIS web servers on Windows Server 2008 R2. They had been running on CF10 for over a year (if not two) with no problems. I upgraded one server to CF11 and now that server is crashing while the CF10 servers is still running fine.
    In the Windows event log I'm seeing 4 instances of this error:
    "A process serving application pool '******' suffered a fatal communication error with the Windows Process Activation Service. The process id was '4652'. The data field contains the error number."
    Then finally:
    "Application pool '******' is being automatically disabled due to a series of failures in the process(es) serving that application pool.".
    Looking at the application pool in the IIS admin it is stopped. Restarting will resolve but it will eventually crash.
    What could be the issue?
    -Phil

    I'm seeing in the CF logs leading up to the crash:
    Jun 04, 2014 11:11:31 AM org.apache.coyote.ajp.AjpProcessor getRealPathFromServer
    SEVERE: Error in getRealPathFromConn
    java.net.SocketException: Connection reset by peer: socket write error
      at java.net.SocketOutputStream.socketWrite0(Native Method)
      at java.net.SocketOutputStream.socketWrite(Unknown Source)
      at java.net.SocketOutputStream.write(Unknown Source)
      at org.apache.coyote.ajp.AjpProcessor.getRealPathFromServer(AjpProcessor.java:402)
      at org.apache.coyote.ajp.AbstractAjpProcessor.getRealPath(AbstractAjpProcessor.java:1276)
      at org.apache.naming.resources.FileDirContext.doGetRealPath(FileDirContext.java:202)
      at org.apache.naming.resources.BaseDirContext.getRealPath(BaseDirContext.java:424)
      at org.apache.catalina.core.StandardContext.getRealPath(StandardContext.java:4660)
      at org.apache.catalina.core.ApplicationContext.getRealPath(ApplicationContext.java:432)
      at org.apache.catalina.core.ApplicationContextFacade.getRealPath(ApplicationContextFacade.ja va:333)
      at coldfusion.runtime.ServletContextWrapper.doGetRealPath(ServletContextWrapper.java:184)
      at coldfusion.runtime.ServletContextWrapper._doGetRealPath(ServletContextWrapper.java:116)
      at coldfusion.runtime.ServletContextWrapper.getRealPath(ServletContextWrapper.java:98)
      at coldfusion.filter.FusionContext.getRealPath(FusionContext.java:999)
      at coldfusion.filter.FusionContext.getRealPath(FusionContext.java:937)
      at coldfusion.runtime.RuntimeServiceImpl.resolveTemplatePath(RuntimeServiceImpl.java:866)
      at coldfusion.tagext.lang.IncludeTag.setTemplate(IncludeTag.java:420)
      at cfApplication2ecfc1835967654.runPage(C:\Data\http\domain\apps\Application.cfc:3)
      at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246)
      at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
      at coldfusion.runtime.TemplateProxyFactory.resolveComponentHelper(TemplateProxyFactory.java: 538)
      at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:248)
      at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:159)
      at coldfusion.runtime.TemplateProxyFactory.resolveFile(TemplateProxyFactory.java:120)
      at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:138)
      at coldfusion.cfc.CFCProxy.<init>(CFCProxy.java:84)
      at coldfusion.runtime.AppEventInvoker.<init>(AppEventInvoker.java:64)
      at coldfusion.filter.PathFilter.resolveApplicationScope(PathFilter.java:195)
      at coldfusion.filter.PathFilter.invoke(PathFilter.java:124)
      at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
      at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
      at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
      at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
      at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
      at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
      at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
      at coldfusion.CfmServlet.service(CfmServlet.java:219)
      at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:303)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 )
      at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterCha in.java:97)
      at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorR equestHandler.java:472)
      at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest( FusionReactorRequestHandler.java:312)
      at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(Fusio nReactorRequestHandler.java:192)
      at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorR equestHandler.java:507)
      at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCor eFilter.java:36)
      at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterCha in.java:79)
      at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactor StaticFilter.java:53)
      at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChai nPointCut.java:41)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422)
      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:198)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:607)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

Maybe you are looking for

  • Trying to download a family dvd to iMovie to edit.  I have video but no audio

    I am trying to download a family dvd to iMovie to edit.  The DVD was originally done professionally but I want to attempt to fix some errors.  The format of the dvd is UDF (if that helps).  The video downloaded, but I have no audio.  Insert DVD Open

  • Help converting MS SQL to Oracle

    Can someone help me to translate this query from MS SQL to Oracle? WITH GetProjectRootTree(ID, FolderName, PathName) AS( --Find the root record SELECT DISTINCT L.OBJECT_ID1 ,P.CN_DESCRIPTION + ' ' + P.CN_PROJECT_ID ,CAST(P.CN_DESCRIPTION + ' ' + P.CN

  • 10gAS clustering benefits

    Can some one give me list of benefits for clustering 10gAS(10.1.3.4) SOA Suite? Thank you. -Megha

  • NoSuchAlgorithmException with 1.5.0Beta2 and Blowfish

    Hi, I try to use the Blowfish algorithm with jdk 1.5.0Beta2. When I run the following code (the standard code from http://sourceforge.net/snippet/detail.php?type=snippet&id=100808) I get a NoSuchAlgorithmException // Install SunJCE provider Provider

  • Trigger click event on RichLink from Managed Bean

    I want to fire a click event from a managed bean of a RichLink which has a clientListener of click type. For this, I have tried many options, but nothing works. My problem is that the RichLink doesn't have action and actionListener properties, then I