przystajnik

Java – chwilowe przejściowe

Po jednej z ostatnich aktualizacji mojego Debiana (SID), padła w nim Java. Padła w ten sposób, że żaden skrypt w przeglądarce nie planował się uruchomić poprawnie, o czym informował beztroskim:

load: class JavaVersionDisplayApplet.class not found.
(…)
Caused by: java.net.ConnectException: Network is unreachable

Niestety, nie byłem w stanie dotrzeć do tego, który to pakiet tak nabroił. Aktualizacje traktuję jako radosny rytuał początku dnia, gdy przy porannej herbacie, z nogami wyciągniętymi na blat biurka (podpatrzyłem na filmie), szpikuję system nieśmiertelnym apt-get update;apt-get upgrade. I jakoś nie zwróciłem uwagi, czy ta Java działa, czy nie, dopóki znajomy nie dopomniał się o zwrot kasy i chcąc nie chcąc zawędrowałem na stronę banku. Jak łatwo zgadnąć, utknąłem na błędach jak powyżej. To dało mi do myślenia – coś nie działa.

Podejrzewam, że poszła jakaś aktualizacja albo java-common, albo netbase. Mniejsza z tym, sytuacja była nie do odratowania przeinstalowaniem paczki (pierwszy odruch to reinstalacja sun-java6-*). Jedynym punktem zaczepienia było to, że Java nie potrafi się połączyć z siecią (Network is unreachable). Pozostało kopalnictwo sieciowe i przyniosło ono skutek w postaci odkrycia, że ‚jakoś’ Java nastawiła się na pracę w IPv6, podczas, gdy ja takiego połączenia nie mam.

Kolejną rzeczą, którą udało się ustalić, to to, że można zablokować Javie korzystanie z IPv6, poprzez edycję pliku ~/.java/deployment/deployment.properties i wstawienie linijki:

deployment.javaws.jre.0.args=-Djava.net.preferIPv4Stack\=true

I wszystko wraca do normy. Oczywiście, pewnie po kolejnej aktualizacji też by to wróciło do normy, ale sami rozumiecie, że gdy chodzi o pieniądze ludzie tracą poczucie humoru, dlatego musiałem działać 🙂

Post navigation

Translate »