This discussion is archived
9 Replies Latest reply: Jan 26, 2013 5:26 PM by 979783 RSS

Caused by: java.net.SocketException: Software caused connection abort:

979783 Newbie
Currently Being Moderated
I running JSP on Oracle 11g, Weblogic 10.3.4. I have 2 managed server and a oracle admin server installed.

I am encountering an error where intermittently the log file of the 2 managed server and admin server will show java.net.SocketException: Software caused connection abort: socket write error. The application can run for 2 days without showing this error or it can show up a few times in a day. The server load are similar everday.

When this error is been encountered, the server will just stop accepting connections and will not be able to access the application. Even if I try to access the application through localhost, I will not be able to access the JSP pages and a 503 http status is shown but then I am able to access the static HTML page. I will not be able to access the Oracle 11g Weblogic admin console page. When I take a look at admin server log, it shows that the managed servers are disconnected from the admin server and vice versa.

Magically the application is able to recover by its own and the application is able to access again or I need to restart the server as restarting the service of the application does not work.

The FTP connections that the application is connected to are closed as well.

I am able to ping to telnet to the server port. The event log doesn't seem to be leaving any information. We did run wireshark to see the packet traffic and it seems that the application port is sending a RST, ACK packet to the load balancer.

Any kind help will greatly be appreciated. Should you need more info, feel free to ask me.

Thanks in advance.
  • 1. Re: Caused by: java.net.SocketException: Software caused connection abort:
    Kalyan Pasupuleti-Oracle Expert
    Currently Being Moderated
    Hi,

    It seems that there are some issues with network socket connection.

    To avoid this try to enable Http tunneling on server instance.

    This will solve you problem.

    Regards,
    Kal
  • 2. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    Hi Kal,

    Thank you for your guidance. I will try that out and see if it still occurs.
    May i ask what does HTTP tunneling do as it seems that it give little information while googling.
  • 3. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    Any experts can comments?
  • 4. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    Hi,
    Anyone will like to comment.
    Thanks
  • 5. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    Hi,
    below is the stacktrace i getting.
    Anyone experts kindly advise?


    A-000000> <[Error] GetPageContentTag: pageContext flush error, exception in doEndTag {java.net.SocketException: Software caused connection abort: socket write error}>
    <Notice> <StdErr> <BEA-000000> <java.net.SocketException: Software caused connection abort: socket write error>
    <Notice> <StdErr> <BEA-000000> <at java.net.SocketOutputStream.socketWrite0(Native Method)>
    <Notice> <StdErr> <BEA-000000> <at java.net.SocketOutputStream.write(SocketOutputStream.java:136)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:539)>
    <Notice> <StdErr> <BEA-000000> <at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ChunkOutputWrapper.flush(ChunkOutputWrapper.java:188)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:427)>
    <Notice> <StdErr> <BEA-000000> <at bcd.cores.frameworks.view.layout.taglib.GetPageContentTag.doEndTag(GetPageContentTag.java:107)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:568)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_screen_template._jspService(__bcd_screen_template.java:830)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_screen_template._jsp__tag1(__bcd_screen_template.java:1385)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspWriterImpl.flush(JspWriterImpl.java:99)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_main_tail._jspService(__bcd_main_tail.java:95)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_definitions_trg._jspService(__bcd_definitions_trg.java:224)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_definitions_quotation._jspService(__bcd_definitions_quotation.java:393)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_definitions_proposal2._jspService(__bcd_definitions_proposal2.java:695)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at jsp_servlet.__bcd_definitions_aim._jspService(__bcd_definitions_aim.java:845)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)>
    <Notice> <StdErr> <BEA-000000> <at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)>
  • 6. Re: Caused by: java.net.SocketException: Software caused connection abort:
    anjhawar - oracle Explorer
    Currently Being Moderated
    I think what you are observing is an expected behavior in the following situation:

    In case there is a full page request (such as a reload or full page load) occurs, any POST request that is occuring in the background will be interrupted. If the Socket is active when the full page request occurs, this exception will occur.

    I think there would be no functionality loss as a result of this exception. There should only be a log.

    Additionally, you may consider running the WLS process with the following parameters to use the JDK HTTP handler like:

    -DUseSunHttpHandler=true
    -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol

    --
    AJ
  • 7. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    Hi, Thank you for your reply.

    When getting the mentioned exception, the weblogic server will stop responding thus the application is not accessible. Even if the weblogic service is been restarted, it does not help. Only a restart of the server allow the application to be accessible again. This problem might occur a few time in a day or 2 week once..

    Thanks in advance
  • 8. Re: Caused by: java.net.SocketException: Software caused connection abort:
    anjhawar - oracle Explorer
    Currently Being Moderated
    What you are stating is that when WLS process is restarted, it does not help?

    and to restore the service you need to restart the complete physical node?

    If later is the case, then you may need to look on OS and Network level to understand whats happening.. possibly some issue with incoming traffic..
  • 9. Re: Caused by: java.net.SocketException: Software caused connection abort:
    979783 Newbie
    Currently Being Moderated
    It seems that the pageContext.getOut().flush() caused the socket write error. (Meaning flushing)?? It look like the stream has been closed. We have pageContext.getOut().flush() in our doEndTag method of a Tag class as we are using JSTL tag. We call the pageContext.getOut().clearBuffer() manually and the application came alive. This include the console admin page as well which we are able to access. Just wondering, what could cause the buffer unable to flush or stream to be closed? Any experts will like to comment

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points