OSM-API-close and HTTP-Request-Pipelining don't work over some proxies - JOSM must be restarted for further edits
|Reported by:||Fabi2||Owned by:||Fabi2|
Now had the time to further analyze the bug in ticket #3970.
After the following HTTP-Request was sent to the proxy, JOSM seems to wait forever for an reply, which never is sent.
PUT http://api.openstreetmap.org/api/0.6/changeset/5656938/close HTTP/1.1 Authorization: Basic Removed= Content-type: text/xml User-Agent: JOSM/1.5 (3503 de) Java/1.6.0_21 Host: api.openstreetmap.org Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Proxy-Connection: keep-alive Content-Length: 0
This means the connection is stalled, as you can see on the wireshark screenshot,
The proxy (Winroute Pro) seems to have this bug with HTTP-request-pipelining, when the Content-Length is 0 bytes.
The request-pipeling is not used by JOSM, as the connection is always closed after each HTTP-request. So "Proxy-Connection: keep-alive" should be "Proxy-Connection: close" or the header should be removed.
The buggy proxy send the request to the outside OSM-API server, but then the connection hangs on the inside.
The changeset is closed on the server, but even when I check manually for it's status (Ctrl-Alt-Q) it is not noticed by JOSM and I must restart JOSM to get rid of the already uploaded changeset. :-(
HTTP-Request-Pipelining for webservers is still turned off by default in Firefox (see about:config), even when many webservers should be better written then some proxy server such as Winroute Pro.
So please turn the pipelining off, at least if an proxy is configured.
System: Linux x86_64
$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)
Change History (19)
Changed 3 years ago by Fabi2
comment:1 Changed 3 years ago by Fabi2
- Summary changed from OSM API close and HTTP-Request-Pipelining don't work over some proxies - JOSM must be restarted for further edits to OSM-API-close and HTTP-Request-Pipelining don't work over some proxies - JOSM must be restarted for further edits
comment:2 follow-up: ↓ 3 Changed 3 years ago by stoecker
- Owner changed from team to Fabi2
- Status changed from new to needinfo
comment:7 Changed 3 years ago by Fabi2
- Resolution set to worksforme
- Status changed from needinfo to closed
comment:8 follow-up: ↓ 9 Changed 3 years ago by stoecker
- Resolution worksforme deleted
- Status changed from closed to reopened