Modify

Opened 6 years ago

Closed 4 years ago

Last modified 4 years ago

#8562 closed defect (fixed)

JOSM does not use IPV6

Reported by: stoecker Owned by: team
Priority: minor Milestone: 15.05
Component: Core Version:
Keywords: java7 ipv6 network Cc:

Description

While Java should support IPV6 and JOSM server uses IPV6, when calling JOSM, only IPV4 requests are sent.

Either a Java issue (I have OpenJSK on openSUSE) or a JOSM issue.

Attachments (0)

Change History (29)

comment:1 Changed 6 years ago by Don-vip

Cannot help on this one, my Internet connection being IPv4 only.

comment:2 Changed 6 years ago by stoecker

comment:3 Changed 6 years ago by Don-vip

Nice. I'll give it a try :)

comment:5 Changed 6 years ago by stoecker

Java still requires an explicit "-Djava.net.preferIPv6Addresses=true" even on an OS with native IPV6. Rather outdated behaviour.

comment:6 Changed 6 years ago by stoecker

Resolution: fixed
Status: newclosed

In 5892/josm:

fix #8562 - use IPv6 when existing

comment:7 Changed 6 years ago by stoecker

Again a fix probably not working with webstart...

comment:8 Changed 6 years ago by stoecker

Could someone with IPV4 only test if it works as expected?

comment:9 Changed 6 years ago by stoecker

In 5893/josm:

see #8562 - remote control using dual stack

comment:10 Changed 6 years ago by Firefishy

I have a machine with a non-working IPv6 stack. I explicitly run JOSM with -Djava.net.preferIPv6Addresses=false

The change in r5893/josm breaks my machine all ALL downloads fail.

comment:11 Changed 6 years ago by anonymous

Java 1.7.0_17 with JOSM 5899. Broken IPv6 teredo tunneling.

Java Djava.net.preferIPv6Stack=true + JOSM prefer.ipv6=true = Timeout
Java Djava.net.preferIPv4Stack=true + JOSM prefer.ipv6=true = Works
Java Djava.net.preferIPv6Stack=true + JOSM prefer.ipv6=false = Works
Java Djava.net.preferIPv4Stack=true + JOSM prefer.ipv6=false = Works

In summary: JOSM since r5893/josm in default config now fails on a machine with a broken IPv6 stack.

comment:12 Changed 6 years ago by iandees

On my MacOS X 10.8.2 box running Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203) r5899/josm fails. I have an ipv6 address but it's probably just from my wireless router and isn't routable.

comment:13 Changed 6 years ago by stoecker

In 5900/josm:

Java IPv6 is so broken, it can't be enabled by default (fix #8627, see #8562)

comment:14 Changed 6 years ago by stoecker

Also wanted to do a stackoverflow question once :-)

http://stackoverflow.com/questions/16164175

Maybe others know more about Java and IPv6.

comment:15 Changed 6 years ago by Don-vip

upvoted as well :)

comment:16 Changed 6 years ago by Don-vip

Keywords: java7 added
Resolution: fixed
Status: closedreopened

So we can reopen a ticket :)
I think this is something we should only care about after Java 7 transition.
Loking at IPV6-related JDK bugs, I see plenty of ones fixed between 7 and 7u1. There's no hope to have a valid implementation with Java 6.

comment:17 Changed 6 years ago by Manu1400

Keywords: ipv6 network added

comment:18 Changed 4 years ago by saerdnaer

Any updates on this issue?

comment:19 Changed 4 years ago by stoecker

No. Java still does their own stuff instead of using the local solver. You can set "prefer.ipv6=true" if you have a working IPv6 connection and it should have no negative effects. But we can't make it default.

Maybe we can test it? Try connecting to "josm.openstreetmap.de" with IPv6 and when it works set prefer IPv6 when "prefer.ipv6=auto" is auto (and make "auto" default)?

comment:20 Changed 4 years ago by saerdnaer

I have an IPv6-only OSM API endpoint at http://maps.testi.ber.c3voc.de:3000/api which I can't reach, even when I set "prefer.ipv6=true" and restarted JOSM on Mac OS X 10.10.

comment:21 Changed 4 years ago by stoecker

Milestone: 15.05

Did you have a look wireshark to see what JOSM actually tries to do? What error messages do you get (or what console outputs). For a working IPV6 setup "prefer.ipv6=true" should not be necessary at all to reach an IPv6 only target.

I get this (without special ipv6 setting):

INFO: GET http://maps.testi.ber.c3voc.de:3000/api/0.6/user/details (Anzahl der ungelesenen Nachrichten abrufen)
WARNUNG: org.openstreetmap.josm.io.OsmApiException: ResponseCode=401
org.openstreetmap.josm.io.OsmApiException: ResponseCode=401

called josm with

java -jar josm-latest.jar --set=osm-server.url=http://maps.testi.ber.c3voc.de:3000/api

comment:22 Changed 4 years ago by stoecker

Nice, Actually "prefer.ipv6" is totally useless, because changing it during runtime has no effect. Only works as a java commandline option. Java IPv6 support is still completely broken.

comment:23 Changed 4 years ago by stoecker

Ah no, it's even more complex. It works as is set before first network access, but an autodetect does not work, as this causes first network access and afterwards changing this is useless. Bloody hell!

comment:24 Changed 4 years ago by stoecker

Resolution: fixed
Status: reopenedclosed

In 8295/josm:

fix #8562 - autodetect working IPv6 - hopefully solve bad Java IPv6 support

comment:25 Changed 4 years ago by stoecker

In 8296/josm:

see #8562 - move IPv6 detection to main class instead of preferences

comment:26 Changed 4 years ago by stoecker

In 8299/josm:

see #8562 - text correction

comment:27 Changed 4 years ago by stoecker

In 8298/josm:

see #8562 - text improvement

comment:28 Changed 4 years ago by simon04

For reference: there's an ongoing discussion on JOSM's IPv6 support on the mailinglist: https://lists.openstreetmap.org/pipermail/josm-dev/2015-December/007590.html

comment:29 Changed 4 years ago by stoecker

In 9238/josm:

see #8562 - restart JOSM in case we switched from IPv6 to IPv4 only, so we have no broken connection

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.