Modify

Opened 7 years ago

Last modified 4 years ago

#15609 new defect

Accessing tiles from the download dialog behind a proxy

Reported by: bxl-forever Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report javabug proxy ntlm Cc:

Description

What steps will reproduce the problem?

  1. Use a proxy
  2. File > Download data
  3. Scroll the area a bit so that JOSM will download new tiles

What is the expected result?

The tiles should be downloaded normally when the map scrolls.

What happens instead?

Several warning dialogs (apparently equal to the number of new tiles that are loaded).
But the tiles are loaded properly and JOSM works normally after that.
It is just considerably annoying because the download window is almost unusable.
I did not encounter this problem with former versions, it appeared with the upgrade to version 13170.
When I use the same machine with a connection where I don’t have to use a proxy, version 13170 works fine.

Please provide any additional information below. Attach a screenshot if possible.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-11-26 14:31:59 +0100 (Sun, 26 Nov 2017)
Build-Date:2017-11-26 13:34:54
Revision:13170
Relative:URL: ^/trunk

Identification: JOSM/1.5 (13170 en) Linux Arch Linux
Memory Usage: 462 MB / 1751 MB (252 MB allocated, but free)
Java version: 1.8.0_144-b01, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768
Maximum Screen Size: 1366x768
VM arguments: [-Djosm.restart=true]

Plugins:
+ measurement (33760)
+ pt_assistant (33860)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.util.NoSuchElementException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: TMS-downloader-1 (41)
java.util.NoSuchElementException
	at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
	at sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:2054)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:132)
	at org.openstreetmap.josm.tools.HttpClient.connect(HttpClient.java:78)
	at org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.isCacheValidUsingHead(JCSCachedTileLoaderJob.java:470)
	at org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.loadObject(JCSCachedTileLoaderJob.java:311)
	at org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.run(JCSCachedTileLoaderJob.java:236)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Attachments (0)

Change History (10)

comment:1 by Don-vip, 7 years ago

Keywords: javabug proxy added
Owner: changed from team to bxl-forever
Status: newneedinfo

Can you please try to update to latest version of Java 8? (8u152)

comment:2 by Don-vip, 7 years ago

In 13179/josm:

see #15609 - catch NoSuchElementException when performing HTTP call

comment:3 by Don-vip, 7 years ago

Ticket #13637 has been marked as a duplicate of this ticket.

comment:4 by Don-vip, 7 years ago

I setup a proxy (squid) and can't reproduce the issue. Can you please tell me:

  • what is your proxy software
  • if you're using SOCKS or classic proxy
  • if it requires a login/password
  • how did you set up OSM authentication (OAuth or basic auth)

The error happens here:

                // send the "CONNECT" request to establish a tunnel
                // through proxy server
                sendCONNECTRequest();
                responses.reset();

                // There is no need to track progress in HTTP Tunneling,
                // so ProgressSource is null.
                http.parseHTTP(responses, null, this);

                /* Log the response to the CONNECT */
                if (logger.isLoggable(PlatformLogger.Level.FINE)) {
                    logger.fine(responses.toString());
                }

                if (responses.filterNTLMResponses("Proxy-Authenticate")) {
                    if (logger.isLoggable(PlatformLogger.Level.FINE)) {
                        logger.fine(">>>> Headers are filtered");
                        logger.fine(responses.toString());
                    }
                }

                statusLine = responses.getValue(0);
                StringTokenizer st = new StringTokenizer(statusLine);
                st.nextToken();
                respCode = Integer.parseInt(st.nextToken().trim()); << NoSuchElementException

comment:5 by bxl-forever, 7 years ago

@Don-vip, thanks for helping.

When the condition occurs, I use no specific proxy software, just the manual proxy configuration in JOSM to a proxy on my local network (this is the company proxy). Authentification with username and password. And connexion to the OSM server through OAuth.
In fact, the main annoyance is to have this avalanche of pop-up windows—upon opening the download dialog and each time I scroll the map within that dialog to get new tiles—because once I have downloaded the tiles I can work normally in JOSM and upload changesets.

The reason I suspect it was linked to the proxy is because when I use a direct connexion without a proxy—when I am not on my company network—it works perfectly.

comment:6 by Don-vip, 7 years ago

OK I'll try to test with a real NTLM proxy. But not before January.

comment:7 by Don-vip, 7 years ago

Keywords: ntlm added
Owner: changed from bxl-forever to team
Status: needinfonew

comment:8 by Don-vip, 6 years ago

Ticket #16955 has been marked as a duplicate of this ticket.

comment:9 by skyper, 4 years ago

Component: CoreCore imagery

comment:10 by stoecker, 4 years ago

Component: Core imageryCore

Please don't change old tickets, especially not technical details decided by the developer.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to bxl-forever.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


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