Ok, I realize this is a bit of a stretch, as my Synapse code is not exactly an official release, but;
 
I'm running Synapse 1.1.1, with the NHTTP transport code from Synapse 1.2 (didn't want to take Axis 1.4 for reasons I won't go into here).  I'm also hosting an Axis2 generated service within my Synapse runtime.  I have an Axis2 generated client which is calling into my hosted service.  The client is running over the blocking HttpClient based transport, and obviously the service is running on the Synapse NHTTP transport.  I should also mention I'm running with the fix I proposed for JIRA-415 (since without that fix, I run out of HttpServerWorkers in less than a minute).
 
Every now and then (maybe once every 30 seconds under heavy load?), I'll send a request from the client, the server will receive it and process it, but then will fail to send a reply back to my client.  Every now and then I see this happen for my proxy services, too, but I have yet to figure out a way to reproduce it consistently, whereas I can make it happen easily for the hosted service.  Looking at the Synapse logs, I see:
 
<log4j:event logger="org.apache.synapse.transport.nhttp.ServerHandler" timestamp="1219446649613" level="ERROR" thread="HttpServerWorker-27">
<log4j:message><![CDATA[Unexpected HTTP protocol error : Response already submitted]]></log4j:message>
<log4j:throwable><![CDATA[org.apache.http.HttpException: Response already submitted
        at org.apache.http.impl.nio.DefaultNHttpServerConnection.submitResponse(DefaultNHttpServerConnection.java:202)
        at org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(ServerHandler.java:212)
        at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:208)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
]]></log4j:throwable>
</log4j:event>
So, it seems that the service isn't writing a reply, because for some reason it believes the response has already been written.  Thoughts?  Pointers for how to chase this down?