# Failed to deserialize exception response from stream

**URL:** https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307
**Category:** Elasticsearch
**Created:** [November 7, 2013, 4:28pm UTC](https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307 "2013-11-07T16:28:02Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Gil\_Rouquette](https://avatars.discourse-cdn.com/v4/letter/g/a9adbd/32.png) [@Gil\_Rouquette](https://discuss.elastic.co/u/Gil_Rouquette)
#### Post date: [November 7, 2013, 4:28pm UTC](https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307/1 "2013-11-07T16:28:02Z")

</div>

_ElasticSearch :_

- OS: linux 3.2.0-29 ubuntu server 12.04.1 LTS
- Java : jdk 1.7.0\_40 64 bits
- Elastic search : _0.90.5_
- 3 indexs

\*Cliant application :

- 

- Windows 8 Server 64
- Tomcat: 7.0.37 64b
- Java 1.7.0\_10 Hostspot 64 bits server

- 
- 

This problem happens when saving one data.

On other environments all works fine.

Have you a track to define error oirigin ?

Thanks for the replies.

_See logs above : (see attached file 'errors.txt')_  
_12:29:40,854 WARN netty:124 - [km\_node\_1\_GeoCatClt] Message not fully read  
(response) for [1143] handler org.elasticsearch.action.support.r  
eplication.TransportShardReplicationOperationAction$AsyncShardOperationAction$2@14636965,  
error [true], resetting  
12:29:40,855 ERROR FollowProcessConnector:132 - saveFollowProcess(FollowProcess) -  
error {}org.elasticsearch.transport.TransportSerializationException: Failed to deserialize  
exception response from stream  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:168)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:122)  
at  
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.ja  
va:791)  
at  
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)  
at  
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)  
at  
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)  
at  
org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)  
at  
org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)  
at  
org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)  
at  
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)  
at  
org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)  
at  
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)  
at  
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)  
at  
org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)  
at  
org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)  
at  
org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)  
at  
org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)  
at  
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)  
at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)  
at java.lang.Thread.run(Thread.java:722)  
Caused by: java.io.StreamCorruptedException: unexpected end of block data  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1369)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)  
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:498)  
at java.lang.Throwable.readObject(Throwable.java:913)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:601)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)  
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:498)  
at java.lang.Throwable.readObject(Throwable.java:913)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:601)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)  
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)  
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:498)  
at java.lang.Throwable.readObject(Throwable.java:913)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:601)  
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)  
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)  
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)  
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)  
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)  
at  
org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:166)  
... 23 more  
----------------------------------------------------------------------------------_

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)
#### Post date: [November 7, 2013, 4:52pm UTC](https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307/2 "2013-11-07T16:52:16Z")

</div>

You can not mix 7u10 and 7u45 Java in a single ES cluster.

Oracle changed an internal class responsible for network address  
serialization in 7u21 which makes JVM exception transport incompatible over  
the wire between newer and older Java 7 JVMs.

The lesson is: check the JVM version (not the Java version). The _JVM  
version_ must be exactly the same on all nodes throughout the ES cluster,  
also the client nodes.

The JVM version is shown as the "build" specification in "java -version" on  
the third line.

Example:

java version "1.7.0\_25"  
Java(TM) SE Runtime Environment (build 1.7.0\_25-b15)  
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

JVM version is 23.25-b01

Jörg

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![Gil\_Rouquette](https://avatars.discourse-cdn.com/v4/letter/g/a9adbd/32.png) [@Gil\_Rouquette](https://discuss.elastic.co/u/Gil_Rouquette)
#### Post date: [November 8, 2013, 7:41am UTC](https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307/3 "2013-11-08T07:41:00Z")

</div>

Thanks for the reply

Le jeudi 7 novembre 2013 17:52:16 UTC+1, Jörg Prante a écrit :

> You can not mix 7u10 and 7u45 Java in a single ES cluster.
> 
> Oracle changed an internal class responsible for network address  
> serialization in 7u21 which makes JVM exception transport incompatible over  
> the wire between newer and older Java 7 JVMs.
> 
> The lesson is: check the JVM version (not the Java version). The _JVM  
> version_ must be exactly the same on all nodes throughout the ES cluster,  
> also the client nodes.
> 
> The JVM version is shown as the "build" specification in "java -version"  
> on the third line.
> 
> Example:
> 
> java version "1.7.0\_25"  
> Java(TM) SE Runtime Environment (build 1.7.0\_25-b15)  
> Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
> 
> JVM version is 23.25-b01
> 
> Jörg

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 6, 2017, 2:08am UTC](https://discuss.elastic.co/t/failed-to-deserialize-exception-response-from-stream/14307/4 "2017-07-06T02:08:14Z")

</div>


