Opened 9 years ago
Closed 9 years ago
#12341 closed defect (fixed)
very slow opening of preferences when network is down
Reported by: | richlv | Owned by: | richlv |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | tested |
Keywords: | Cc: |
Description
if dns resolves, but actual connections time out, opening of the preferences (to enter proxy data, for example) is extremely slow. trying to open preferences makes josm freeze for a very long time
Attachments (0)
Change History (10)
comment:1 by , 9 years ago
comment:3 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
Please test whether the changes in #8824 resolved your issues, and report more details otherwise.
follow-up: 5 comment:4 by , 9 years ago
not sure how to test #8824 - it seems like the last commit there is 9414, but the latest development version on https://josm.openstreetmap.de/wiki/Download#DevelopmentVersion is 9345 ?
startup is actually pretty quick for me, but after hitting f12 it takes 2 minutes for the preferences to open. after they open, the following timeouts can be seen in the console output :
INFO: GET https://api.openstreetmap.org/api/0.6/user/details -> !!! WARNING: java.net.SocketTimeoutException: connect timed out java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:158) at org.openstreetmap.josm.gui.JosmUserIdentityManager.initFromOAuth(JosmUserIdentityManager.java:217) at org.openstreetmap.josm.gui.JosmUserIdentityManager.getInstance(JosmUserIdentityManager.java:66) at org.openstreetmap.josm.io.MessageNotifier.isUserEnoughIdentified(MessageNotifier.java:128) at org.openstreetmap.josm.io.MessageNotifier.start(MessageNotifier.java:97) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:512) ERROR: java.net.SocketTimeoutException: connect timed out java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:158) at org.openstreetmap.josm.gui.JosmUserIdentityManager.initFromOAuth(JosmUserIdentityManager.java:217) at org.openstreetmap.josm.gui.JosmUserIdentityManager.getInstance(JosmUserIdentityManager.java:66) at org.openstreetmap.josm.io.MessageNotifier.isUserEnoughIdentified(MessageNotifier.java:128) at org.openstreetmap.josm.io.MessageNotifier.start(MessageNotifier.java:97) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:512) ERROR: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: connect timed out org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection. at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:139) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:158) at org.openstreetmap.josm.gui.JosmUserIdentityManager.initFromOAuth(JosmUserIdentityManager.java:217) at org.openstreetmap.josm.gui.JosmUserIdentityManager.getInstance(JosmUserIdentityManager.java:66) at org.openstreetmap.josm.io.MessageNotifier.isUserEnoughIdentified(MessageNotifier.java:128) at org.openstreetmap.josm.io.MessageNotifier.start(MessageNotifier.java:97) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:512) Caused by: java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) ... 9 more INFO: Message notifier active (checks every 5 minutes) INFO: GET https://api.openstreetmap.org/api/0.6/user/details -> !!! WARNING: java.net.SocketTimeoutException: connect timed out java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.MessageNotifier$Worker.run(MessageNotifier.java:63) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) WARNING: Already here java.net.SocketTimeoutException: connect timed out ERROR: java.net.SocketTimeoutException: connect timed out java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.MessageNotifier$Worker.run(MessageNotifier.java:63) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) WARNING: org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection.. Cause: java.net.SocketTimeoutException: connect timed out org.openstreetmap.josm.io.OsmTransferException: Could not connect to the OSM server. Please check your internet connection. at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:139) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:96) at org.openstreetmap.josm.io.OsmServerReader.getInputStream(OsmServerReader.java:60) at org.openstreetmap.josm.io.OsmServerUserInfoReader.fetchUserInfo(OsmServerUserInfoReader.java:173) at org.openstreetmap.josm.io.MessageNotifier$Worker.run(MessageNotifier.java:63) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:113) at org.openstreetmap.josm.io.OsmServerReader.getInputStreamRaw(OsmServerReader.java:136) ... 11 more
comment:5 by , 9 years ago
Replying to richlv:
the last commit there is 9414, but the latest development version on https://josm.openstreetmap.de/wiki/Download#DevelopmentVersion is 9345 ?
Indeed there's a big problem here.
comment:6 by , 9 years ago
the cron fails with:
javac -cp /tmp/josm/bin -d /tmp/josm /tmp/josm/josm/scripts/BuildProjectionDefinitions.java touch /tmp/josm/bin/data/projection/custom-epsg cd /tmp/josm/josm && java -cp /tmp/josm/bin:/tmp/josm BuildProjectionDefinitions Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at BuildProjectionDefinitions.main(BuildProjectionDefinitions.java:51) make: *** [/tmp/josm/bin/data/projection/custom-epsg] Error 1
comment:10 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | needinfo → closed |
while i didn't get to detailed tests, latest version did not seem to have such a huge delay anymore - there was some slowdown, but it was a few seconds at most. closing this ticket, thanks for the reminder :)
JOSM start does take a while when no connections can be established – therefore we have
--offline=all
.For the preference window I cannot reproduce.