Modify

Opened 15 years ago

Closed 8 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 skyper)

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 skyper, 12 years ago

Description: modified (diff)

format

comment:2 by Don-vip, 8 years ago

Resolution: othersoftware
Status: newclosed

Old Java network stack problem

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.