[ 
https://issues.apache.org/jira/browse/XMLRPC-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12480417
 ] 

Jochen Wiedmann commented on XMLRPC-137:
----------------------------------------

Your fix cannot be applied.

The close() calls in the finally clause may seem to be redundant, but they are 
not. The first close() is called when everything seems to work fine. However, 
if an Exception is raised in that close(), then it is an error and that bug 
must be thrown, so that the user is aware.

The close() within the finally clause is *only* called when an exception is 
thrown. But that exception (the first exception) must not be hidden.


> javax.servlet.ServletException: I/O error while processing request: This 
> output stream has already been closed
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: XMLRPC-137
>                 URL: https://issues.apache.org/jira/browse/XMLRPC-137
>             Project: XML-RPC
>          Issue Type: Bug
>          Components: Releases
>    Affects Versions: 3.0
>         Environment: Sun Application Server 7, Java 1.4.2_x
>            Reporter: Sebastian Wiemer
>             Fix For: unspecified
>
>
> Hi,
> there's an issue with the Sun Application Server 7 on booth ends (client, 
> server) using XmlRpcServletServer. This error does not occure on Tomcat 5x 
> (running booth client and server) or other client/server implementations 
> based on eg python or ruby.
> The clients successfully send the request to the server endpoint. The server 
> recieved to call and processed all parameters. The error seems
> to occure, when the server writes the response back to the client. The 
> problem is, that althouch the business logic behind the request was processed 
> correctly, the client doen't have a chance to get the response value 
> (including exceptions)
> On the server side we get the following exception:
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout: 2007-03-13 
> 12:39:16,936 [service-j2ee-3] INFO  
> com.gfk.management4c.service.impl.Management4cServiceImpl - gfk4u wants to 
> activate account 'wrbaer'
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout: 2007-03-13 
> 12:39:16,937 [service-j2ee-3] ERROR 
> org.apache.xmlrpc.server.XmlRpcStreamServer - execute: Error while performing 
> request
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout: java.io.IOException: 
> Cannot close the same input stream twice
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.connector.RequestStream.close(RequestStream.java:155)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:183)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.xmlrpc.webserver.XmlRpcServletServer.execute(XmlRpcServletServer.java:103)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> com.gfk.xmlrpc.spring.SpringXmlRpcServlet.doService(SpringXmlRpcServlet.java:97)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:358)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:309)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
> [13/Mar/2007:12:39:16] INFO (22136): CORE3282: stdout:  at 
> com.iplanet.ias.web.WebContainer.service(WebContainer.java:850)
> The client side gives:
> [13/Mar/2007:12:39:16] INFO (15538): CORE3282: stdout: 2007-03-13 
> 12:39:16,943 [service-j2ee-2] ERROR CmcCaller  - Could not activate account: 
> wrbaer
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr: 
> org.apache.xmlrpc.XmlRpcException: Cannot close the same input stream twice
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:184)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:145)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> com.gfk.gfk4u.profile.xmlrpc.impl.CmcCaller.activate(CmcCaller.java:73)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> com.gfk.gfk4u.profile.cocoon.acting.ProfileModifyAction.act(ProfileModifyAction.java:156)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:124)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.Cocoon.process(Cocoon.java:639)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1098)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> java.security.AccessController.doPrivileged(Native Method)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
> [13/Mar/2007:12:39:16] WARNING (15538): CORE3283: stderr:       at 
> com.iplanet.ias.web.WebContainer.service(WebContainer.java:850)
> Do you know any transform layers which work correctly with the Sun 
> Application Server ?
> greets,
> Sebastian

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to