2016-05-04 120 views
0

私は本当にAIXのJavaの問題に固執しています。私はSOとWeb上の他の問題と一致しない問題がここにあります。AIX java.net.SocketException:システムコールが無効なパラメータを受け取りました

私のアプリケーションコードは、まったく同じJRE - IBM AIX Java 1.8を備えた別のAIXサーバーで正常に動作しますが、必要なサーバー上では動作しません。

両方のサーバーは、同じTARボールから同じJARおよび同じJREを実行するAIX 7.1です。

Spring RestTemplate.exchange()を使用してJSONを取得および非マーシャルするときに、次のエラーが発生します。

これはサーバー構成の問題でなければなりませんが、私は非常に固執しており、助けていただければ幸いです!

Caused by: java.net.SocketException: A system call received a parameter that is not valid. 
    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:127) 
    at java.net.SocketInputStream.read(SocketInputStream.java:181) 
    at java.net.SocketInputStream.read(SocketInputStream.java:152) 
    at com.ibm.jsse2.a.a(a.java:209) 
    at com.ibm.jsse2.a.b(a.java:41) 
    at com.ibm.jsse2.a.a(a.java:193) 
    at com.ibm.jsse2.as.a(as.java:268) 
    at com.ibm.jsse2.as.a(as.java:745) 
    at com.ibm.jsse2.e.read(e.java:56) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:257) 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:297) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:356) 
    at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:564) 
    at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:621) 
    at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:708) 
    at java.io.FilterInputStream.read(FilterInputStream.java:144) 
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3352) 
    at java.io.FilterInputStream.read(FilterInputStream.java:144) 
    at java.io.PushbackInputStream.read(PushbackInputStream.java:197) 
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.loadMore(UTF8StreamJsonParser.java:178) 
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.parseEscapedName(UTF8StreamJsonParser.java:1749) 
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.slowParseName(UTF8StreamJsonParser.java:1654) 
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._parseName(UTF8StreamJsonParser.java:1484) 
    at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:700) 
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:120) 
    at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:149) 
    at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:18) 
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993) 
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2158) 
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:222) 
+0

JREは同一なので、最初に、両方のAIXシステムが同じOSパッチ・レベル(またはIBMが呼び出すもの)と同じものがインストールされていることを確認することから始めます。 2つのシステムの間にはおそらく微妙に異なるものがあります。または、メッセージが間違っていて、どこかにハードウェアの問題がある可能性があります。システムイベントログで問題を確認しましたか? –

+0

これはIBMのJDKのバグであり、IBMに提出する必要があります。 – EJP

+0

(Javaフレームワークはネットワークの問題を適切に処理できないことが知られていますが、実際の接続では接続損失は正常です。 –

答えて

0

おそらくファイアウォールの問題です。 何らかの種類のファイアウォールによって突然通信が切断されるため、OSによってソケットが閉じられ、読み込みを試みるとエラーが発生します。

関連する問題