Z programów napisanych w Javie korzystam raczej rzadko (wyjątkiem jest bloxer2, którym od dłuższego czasu wrzucam tu wpisy), więc nie zauważyłem tego wcześniej. Debian w wersji Squeeze, Java z repozytorium (wersja 6.20-dlj-1).
Jedna ze stron nie mogła załadować appletu i rzucała:
load: class VncViewer.class not found
[różności]
Caused by: java.net.ConnectException: Network is unreachable
Ta sama aplikacja nie działała wcześniej na samodzielnie robionej Javie od Sun, z kolei działała (i nadal działa) na różnych wersjach Javy w Debianie Lenny. Na szczęście coś mi świtało, że ogólnie jest problem z IPv6 w Javie, szybkie gógiel potwierdził, więc pozostało znalezienie, co trzeba zmienić. Dobrzy ludzie z IRCa pomogli (!java ipv6), więc przybliżę rozwiązanie.
Winne jest zmienione domyślne ustawienie dla IPv6 w Debianie Squeeze. Okazuje się, że błąd jest zgłoszony, a działanie sieci pod Javą przywraca (tzn. w części aplikacji, niektóre działają bez problemu) ustawienie w pliku /etc/sysctl.d/bindv6only.conf:
net.ipv6.bindv6only = 0
Też właśnie ostatnio z tym probleme nie mogłem się uporać. Netbeans nie chciał się aktualizować a Wuala łączyć do sieci. Ciekawy jestem dlaczego w domyślnej konfiguracji jest ustawiona opcja, żeby tylko po ipv6 się łączyło.
Ta opcja niezupełnie to oznacza. 😉 Zacytuję komentarz w /etc/sysctl.d/bindv6only.conf:
# This sysctl sets the default value of the IPV6_V6ONLY socket option.
#
# When disabled, IPv6 sockets will also be able to send and receive IPv4
# traffic with addresses in the form ::ffff:192.0.2.1 and daemons listening
# on IPv6 sockets will also accept IPv4 connections.
#
# When IPV6_V6ONLY is enabled, daemons interested in both IPv4 and IPv6
# connections must open two listening sockets.
# This is the default behaviour of almost all modern operating systems.
Więcej powinno być napisane w lists.debian.org/debian-devel/2009/10/msg00541.html ale link mi nie działa w tej chwili. Wygląda na błąd (źle napianego demona) Javy, tak naprawdę.
dzieki chlopie ! walczylem z tym od dluzszego czasu 🙂
Jconsole miało dokładnie taki sam objaw 🙂 sysctl net.ipv6.bindv6only=0 z palca i problem do restartu z głowy.
Tx Rozie