gaob13 / kryo

Automatically exported from code.google.com/p/kryo
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

com.esotericsoftware.kryo.KryoException: Unable to find class: sun.reflect.GeneratedMethodAccessor #97

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.I serialize my Object(MyComplexObject) for 25 times into 25 files(the same 
object) in a for statement,1 second sleep per circle;
2.When I deserialize the Object from the 25 files,the problem occured; 
3.No problem before first 11,problem begine from the 12th and after 12;
4.Something difference between the first 11 files and the 12th file;

What version of the Kryo are you using?
2.20

Please provide any additional information below.
********deserialize***********
com.esotericsoftware.kryo.KryoException: Unable to find class: 
sun.reflect.GeneratedMethodAccessor5
Serialization trace:
delegate (sun.reflect.DelegatingMethodAccessorImpl)
methodAccessor (java.lang.reflect.Method)
method (com.espertech.esper.event.bean.ReflectionPropMethodGetter)
propertyGetterCache (com.espertech.esper.event.bean.BeanEventType)
eventType (com.espertech.esper.event.bean.BeanEventBean)
second (com.espertech.esper.collection.Pair)
    at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:132)
    at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:109)
    at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:613)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:599)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:651)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:605)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:702)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:611)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:732)
    at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:134)
    at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17)
    at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:651)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:605)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:651)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:605)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:651)
    at com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.read(FieldSerializer.java:605)
    at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:221)
    at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:732)
    at com.espertech.esper.util.SerializerUtil.deserialize(SerializerUtil.java:124)
    at com.espertech.esper.util.SerializerUtil.doserialize(SerializerUtil.java:162)
    at com.espertech.esper.collection.TimeWindow.add(TimeWindow.java:199)
    at com.espertech.esper.view.window.TimeWindowView.update(TimeWindowView.java:136)
    at com.espertech.esper.view.ZeroDepthStream.insert(ZeroDepthStream.java:58)
    at com.espertech.esper.view.stream.StreamFactorySvcImpl$2.matchFound(StreamFactorySvcImpl.java:181)
    at com.espertech.esper.core.service.EPRuntimeImpl.processStatementFilterSingle(EPRuntimeImpl.java:1258)
    at com.espertech.esper.core.service.EPRuntimeImpl.processMatches(EPRuntimeImpl.java:1019)
    at com.espertech.esper.core.service.EPRuntimeImpl.processWrappedEvent(EPRuntimeImpl.java:505)
    at com.espertech.esper.core.service.EPRuntimeImpl.processEvent(EPRuntimeImpl.java:481)
    at com.espertech.esper.core.service.EPRuntimeImpl.sendEvent(EPRuntimeImpl.java:240)
    at com.espertech.esper.example.terminal.jse.simulate.TerminalEventProcessingAgent.sendEvent(TerminalEventProcessingAgent.java:165)
    at com.espertech.esper.example.terminal.jse.simulate.TerminalEventSimulator.sendEvents(TerminalEventSimulator.java:49)
    at com.espertech.esper.example.terminal.jse.simulate.TerminalEventSimulator.main(TerminalEventSimulator.java:64)
Caused by: java.lang.ClassNotFoundException: 
sun.reflect.GeneratedMethodAccessor5
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:130)
    ... 37 more

Original issue reported on code.google.com by ficksong on 29 Nov 2012 at 7:51

GoogleCodeExporter commented 8 years ago
It seems you serialized an instance of sun.reflect.GeneratedMethodAccessor5. 
This is likley not what you wanted. Turn on debug and watch the log during 
serialization to see what object lead you to serialize GeneratedMethodAccessor5.

Original comment by nathan.s...@gmail.com on 29 Nov 2012 at 8:02

GoogleCodeExporter commented 8 years ago

Original comment by nathan.s...@gmail.com on 4 Dec 2012 at 12:25