Opened 16 years ago
Closed 9 years ago
#2855 closed defect (othersoftware)
Unhandled broken network connection/TCP reset conditon
Reported by: | Fabi2 | Owned by: | team |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Core | Version: | latest |
Keywords: | Cc: |
Description (last modified by )
When the network connection is first broken and the the server (or a other host without the old connection state) reappears on the net e.g after a reboot, the TCP state information of the old connection ist lost. The server or other host will then send back a TCP RST packet witch triggers a SIGPIPE-exception under Linux while the waiting client stillt holds the connection open. This has caused this java exception.
Path: trunk URL: http://josm.openstreetmap.de/svn/trunk Repository Root: http://josm.openstreetmap.de/svn Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Revision: 1713 Node Kind: directory Last Changed Author: stoecker Last Changed Rev: 1713 Last Changed Date: 2009-06-28 22:41:25 +0200 (Sun, 28 Jun 2009) Memory Usage: 60 MB / 2236 MB (26 MB allocated, but free) Java version: 1.6.0_0 Plugins: Create_grid_of_waysDirectUploadIntersect_waybuildings_toolseditgpxmultipolyopenstreetbugsopenvisibletageditortagging-preset-testerterracerusertoolsutilspluginvalidatorwaydownloaderwmsplugin Plugin Create_grid_of_ways Version: 14371 Plugin DirectUpload Version: 15828 Plugin Intersect_way Version: 12781 Plugin buildings_tools Version: 18 Plugin editgpx Version: 15678 Plugin multipoly Version: ${version.entry.commit.revision} Plugin openstreetbugs Version: 16163 Plugin openvisible Version: 15707 Plugin tageditor Version: 15707 Plugin tagging-preset-tester Version: 14015 Plugin terracer Version: 16162 Plugin usertools Version: 14125 Plugin utilsplugin Version: 16162 Plugin validator Version: 16159 Plugin waydownloader Version: 16177 Plugin wmsplugin Version: 15961 java.lang.RuntimeException: java.lang.RuntimeException: org.openstreetmap.josm.io.OsmTransferException: Verbindung zum OSM-Server fehlgeschlagen. Bitte prüfen sie ihre Internetverbindung. at org.openstreetmap.josm.gui.PleaseWaitRunnable$4.run(PleaseWaitRunnable.java:127) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEvent(EventQueue.java:602) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) Caused by: java.lang.RuntimeException: org.openstreetmap.josm.io.OsmTransferException: Verbindung zum OSM-Server fehlgeschlagen. Bitte prüfen sie ihre Internetverbindung. at org.openstreetmap.josm.io.BoundingBoxDownloader.parseRawGps(BoundingBoxDownloader.java:84) at org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask$Task.realRun(DownloadGpsTask.java:40) at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:102) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: org.openstreetmap.josm.io.OsmTransferException: Verbindung zum OSM-Server fehlgeschlagen. Bitte prüfen sie ihre Internetverbindung. at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:75) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:45) at org.openstreetmap.josm.io.BoundingBoxDownloader.parseRawGps(BoundingBoxDownloader.java:51) ... 8 more Caused by: java.net.UnknownHostException: api.openstreetmap.org at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:158) at java.net.Socket.connect(Socket.java:537) at sun.net.NetworkClient.doConnect(NetworkClient.java:169) at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) at sun.net.www.http.HttpClient.New(HttpClient.java:321) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:813) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:761) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:672) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:73) ... 10 more
Deutsche Erklärung:
In meinem Fall wurde die Internetverbindung unterbrochen und die Windows-Firewall (ja ein paar Idioten benutzen das hier als Proxylösung und ich muß das ganze dann leider benutzen) die es tat wußte nichts vom der laufenden OSM-Serveranfrage und hat die laufende TCP-Verbindung abgehackt, indem der Port gesperrt wurde. Statt der erwarteten Daten kam dann ein TCP-Paket mit RST-Flag von der Windows Firewall, weil die wußte nichts mit der laufenden Verbindung anzufangen und das löst dann unter Linux beim auf Daten warteneden Clienten ein SIGPIPE-Signal aus, das behandelt werden sollte und normalerweise auch wird, ein C-Programm hätte sich hier dann mit "Broken Pipe" beendet.
Das gleiche Problem tritt auch auf, wenn z.B. der Server ausfällt und nach einem schenllen Neustart die Verbindungsinformationen der Clienten nicht mehr aktuell sind.
Attachments (0)
Change History (2)
comment:1 by , 13 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
Resolution: | → othersoftware |
---|---|
Status: | new → closed |
Old Java network stack problem
format