You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Mark Brouwer (JIRA)" <ji...@apache.org> on 2007/03/31 18:39:25 UTC
[jira] Created: (RIVER-21) HTTP based server endpoints only work
reliable over mod_proxy when downgrading to HTTP 1.0
HTTP based server endpoints only work reliable over mod_proxy when downgrading to HTTP 1.0
------------------------------------------------------------------------------------------
Key: RIVER-21
URL: https://issues.apache.org/jira/browse/RIVER-21
Project: River
Issue Type: Bug
Reporter: Mark Brouwer
During my work for "Jini across the Firewall" in which the client {{HttpEndpoint}} communicated with an {{HttpServerEndpoint}} through {{mod_proxy}} (Apache 1.2.x and 2.x) I noticed I could only have reliable connections when I downgraded the HTTP protocol in the Apache configuration with:
{noformat:nopanel}
SetEnvIf User-Agent ".*com\.sun.*HttpClientConnection" downgrade-1.0
{noformat}
I was in the possession of some log files but given the timespan between submitting this issue and the time I ran into the problems they seem to have disappeared. IIRC the {{HttpEndpoint}} tried to initiate a request over an HTTP connection that was kept alive while the {{HttpServerEndpoint}} thought otherwise.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (RIVER-21) HTTP based server endpoints only work
reliable over mod_proxy when downgrading to HTTP 1.0
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Brouwer updated RIVER-21:
------------------------------
Component/s: net_jini_jeri
Affects Version/s: jtsk_2.1
> HTTP based server endpoints only work reliable over mod_proxy when downgrading to HTTP 1.0
> ------------------------------------------------------------------------------------------
>
> Key: RIVER-21
> URL: https://issues.apache.org/jira/browse/RIVER-21
> Project: River
> Issue Type: Bug
> Components: net_jini_jeri
> Affects Versions: jtsk_2.1
> Reporter: Mark Brouwer
>
> During my work for "Jini across the Firewall" in which the client {{HttpEndpoint}} communicated with an {{HttpServerEndpoint}} through {{mod_proxy}} (Apache 1.2.x and 2.x) I noticed I could only have reliable connections when I downgraded the HTTP protocol in the Apache configuration with:
> {noformat:nopanel}
> SetEnvIf User-Agent ".*com\.sun.*HttpClientConnection" downgrade-1.0
> {noformat}
> I was in the possession of some log files but given the timespan between submitting this issue and the time I ran into the problems they seem to have disappeared. IIRC the {{HttpEndpoint}} tried to initiate a request over an HTTP connection that was kept alive while the {{HttpServerEndpoint}} thought otherwise.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (RIVER-21) HTTP based server endpoints only work
reliable over mod_proxy when downgrading to HTTP 1.0
Posted by "Mark Brouwer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/RIVER-21?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489987 ]
Mark Brouwer commented on RIVER-21:
-----------------------------------
When cleaning my computer I found some stacktraces I mentioned were lost, see below. The stack traces occurred in the ServiceUI of Seven (client side).
{noformat:nopanel}
mod_proxy Apache 2.0.52
09-Sep-2006 21:09:55 com.sun.jini.example.browser.Browser addOne
INFO: obtaining locator failed
java.rmi.UnmarshalException: exception unmarshalling response; nested exception is:
java.io.EOFException
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:847)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:324)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:129)
at org.cheiron.seven.proxy.StubInvokerHandler.invoke(StubInvokerHandler.java:142)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:324)
at org.cheiron.seven.proxy.ServiceStubProxyHandler.specializedInvoke(ServiceStubProxyHandler.java:164)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:119)
at com.sun.jini.reggie.$Proxy8.getLocator(Unknown Source)
at com.sun.jini.reggie.RegistrarProxy.getLocator(RegistrarProxy.java:262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:328)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:129)
at $Proxy7.getLocator(Unknown Source)
at com.sun.jini.example.browser.Browser.addOne(Browser.java:620)
at com.sun.jini.example.browser.Browser.access$3200(Browser.java:148)
at com.sun.jini.example.browser.Browser$LookupListener$1.run(Browser.java:1116)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.jini.example.browser.Browser$Handler$1.run(Browser.java:784)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jini.example.browser.Browser$Handler.invoke(Browser.java:776)
at $Proxy6.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.io.EOFException
at net.jini.jeri.BasicObjectEndpoint.executeCall(BasicObjectEndpoint.java:415)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:806)
... 35 more
mod_proxy Apache 2.2.3
java.rmi.UnmarshalException: exception unmarshalling response; nested exception is:
java.io.IOException: stream invalid
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:847)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:324)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:129)
at org.cheiron.seven.proxy.StubInvokerHandler.invoke(StubInvokerHandler.java:142)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:324)
at org.cheiron.seven.proxy.ServiceStubProxyHandler.specializedInvoke(ServiceStubProxyHandler.java:164)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:119)
at org.cheiron.seven.core.$Proxy18.getServiceUids(Unknown Source)
at org.cheiron.seven.core.ContainerAdminProxy.getServiceUids(ContainerAdminProxy.java:382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.cheiron.seven.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:328)
at org.cheiron.seven.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:129)
at $Proxy17.getServiceUids(Unknown Source)
at org.cheiron.seven.admin.ui.SevenModel$1.action(SevenModel.java:653)
at org.cheiron.util.swing.SwingTask$1.run(SwingTask.java:170)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.cheiron.util.proxy.BasicInvocationHandler.invokeMethod(BasicInvocationHandler.java:149)
at org.cheiron.util.proxy.BasicInvocationHandler.invoke(BasicInvocationHandler.java:111)
at org.cheiron.util.proxy.ProxyWrapper$ProxyWrapperHandler.access$1001(ProxyWrapper.java:873)
at org.cheiron.util.proxy.ProxyWrapper$ProxyWrapperHandler$1$1.run(ProxyWrapper.java:1012)
at java.security.AccessController.doPrivileged(Native Method)
at org.cheiron.util.proxy.ProxyWrapper$ProxyWrapperHandler$1.run(ProxyWrapper.java:1005)
at java.security.AccessController.doPrivileged(Native Method)
at org.cheiron.util.proxy.ProxyWrapper$ProxyWrapperHandler.invoke(ProxyWrapper.java:936)
at $Proxy24.run(Unknown Source)
at org.cheiron.util.swing.SwingTask.run(SwingTask.java:165)
at org.cheiron.util.thread.ThreadPoolImpl$ContextTask$1.run(ThreadPoolImpl.java:1527)
at java.security.AccessController.doPrivileged(Native Method)
at org.cheiron.util.thread.ThreadPoolImpl$ContextTask.run(ThreadPoolImpl.java:1522)
at org.cheiron.util.thread.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:2657)
Caused by: java.io.IOException: stream invalid
at com.sun.jini.jeri.internal.http.Request$ContentInputStream.invalidate(Request.java:430)
at com.sun.jini.jeri.internal.http.Request$ContentInputStream.checkOpen(Request.java:378)
at com.sun.jini.jeri.internal.http.Request$ContentInputStream.read(Request.java:302)
at com.sun.jini.jeri.internal.http.Request$ContentInputStream.read(Request.java:297)
at net.jini.jeri.BasicObjectEndpoint.executeCall(BasicObjectEndpoint.java:411)
at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:806)
... 36 more
Caused by: com.sun.jini.jeri.internal.http.HttpParseException: unexpected EOF in start line
at com.sun.jini.jeri.internal.http.StartLine.<init>(StartLine.java:81)
at com.sun.jini.jeri.internal.http.MessageReader.readStartLine(MessageReader.java:63)
at com.sun.jini.jeri.internal.http.HttpClientConnection$OutboundRequestImpl.startInput(HttpClientConnection.java:747)
at com.sun.jini.jeri.internal.http.Request$ContentInputStream.checkOpen(Request.java:365)
... 40 more
{noformat}
Also I found some cryptic notes as part of the file, along the lines of "some request succeed, some of them fail without a detectable pattern" and "Apache doesn't log the requests and no reverse proxy takes place".
> HTTP based server endpoints only work reliable over mod_proxy when downgrading to HTTP 1.0
> ------------------------------------------------------------------------------------------
>
> Key: RIVER-21
> URL: https://issues.apache.org/jira/browse/RIVER-21
> Project: River
> Issue Type: Bug
> Reporter: Mark Brouwer
>
> During my work for "Jini across the Firewall" in which the client {{HttpEndpoint}} communicated with an {{HttpServerEndpoint}} through {{mod_proxy}} (Apache 1.2.x and 2.x) I noticed I could only have reliable connections when I downgraded the HTTP protocol in the Apache configuration with:
> {noformat:nopanel}
> SetEnvIf User-Agent ".*com\.sun.*HttpClientConnection" downgrade-1.0
> {noformat}
> I was in the possession of some log files but given the timespan between submitting this issue and the time I ran into the problems they seem to have disappeared. IIRC the {{HttpEndpoint}} tried to initiate a request over an HTTP connection that was kept alive while the {{HttpServerEndpoint}} thought otherwise.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.