Проблема с получением Java Streams в тандеме HP (без перерыва)

StackOverflow https://stackoverflow.com/questions/1758062

Вопрос

Мы переносим простое применение Java между тандемными безостановочными системами, от серии G до H-серии. Java версия 1.5.0_02.

При выполнении основных задач ввода/вывода, таких как получение вывода по потоку или открытие клиентского сокета, мы получаем исключения, такие как

java.io.IOException: Value out of range

или же

java.net.SocketException: Value out of range

(«Стоимость вне диапазона» - это нативный жаргон тандема, ну, в общем, все, что я полагаю).

У кого -нибудь есть подобные проблемы? т.е. коррупция ввода/вывода, например, возиться с JNI?

Я полагаю, что с системой что -то не так, но где это может быть?

Спасибо.

РЕДАКТИРОВАТЬ:

Добавление фрагментов по запросу

образец фрагмента (а) - с использованием Runtime.exec () (адаптировано)

Properties envVars = new Properties();
Process p = r.exec("/bin/env");
envVars.load(p.getInputStream());

Степенный трассировка (а):

java.io.IOException: Value out of range (errno:4034)
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:194)
    at java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:221)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
    at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
    at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
    at java.io.InputStreamReader.read(InputStreamReader.java:167)
    at java.io.BufferedReader.fill(BufferedReader.java:136)
    at java.io.BufferedReader.readLine(BufferedReader.java:299)
    at java.io.BufferedReader.readLine(BufferedReader.java:362)
    at util.Environment.getVariables(Environment.java:39)

Последняя строка не удается, и выход перенаправляется на консоли (!).

образец фрагмента (b) - с помощью HttpURLConnection:

public WorkerThread (HttpURLConnection conn, String requestData, Logger logger)
{
    this.conn = conn;
    ...
}


public void run ()
{
    OutputStream out = conn.getOutputStream ();
}

Степенный трассировка (б):

java.net.SocketException: Value out of range (errno:4034)
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
  at java.net.Socket.connect(Socket.java:507)
  at sun.net.NetworkClient.doConnect(NetworkClient.java:155)
  at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
  at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
  at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:280)
  at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:337)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:176)
  at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:162)
  at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:828)
  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)

Случай (а) можно избежать, потому что это был обходной путь для других проблем с предыдущей версией JRE (!), Но одно и то же поведение с розетками действительно неприятно.

Это было полезно?

Решение 2

Обновление: проблема была вызвана ложным .so библиотека.

Другие советы

Код ошибки 4034, кажется, указывает на то, что конкретный сервер не работает в вашем непрерывном кластере. Вы уверены, что ваша система настроена правильно?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top