Hi,
I realized today that the unit tests of the Kryo serializers (and the fast serializer) in the Wickestuff project were failing since (at least) yesterday (16th october). The last successful build according to https://travis-ci.org/wicketstuff/core/builds was on the 13th. For example https://github.com/wicketstuff/core/blob/master/jdk-1.7-parent/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/KryoSerializerTest.java fails with

Running org.wicketstuff.pageserializer.kryo.KryoSerializerTest
DEBUG - KryoSerializer             - Buffer size: '500 bytes'
DEBUG - KryoSerializer - Going to serialize: '[Page class = org.wicketstuff.pageserializer.kryo.HomePage, id = 0, render count = 1]' ERROR - DebuggingKryo - Wrote '146' bytes for object: 'class org.apache.wicket.markup.html.basic.Label' ERROR - DebuggingKryo - Wrote '269' bytes for object: 'class org.apache.wicket.ajax.markup.html.AjaxLink$1' ERROR - DebuggingKryo - Wrote '320' bytes for object: 'class org.apache.wicket.ajax.markup.html.AjaxLink$1' ERROR - DebuggingKryo - Wrote '320' bytes for object: 'class org.apache.wicket.Behaviors$BehaviorIdList' ERROR - DebuggingKryo - Wrote '340' bytes for object: 'class org.wicketstuff.pageserializer.kryo.HomePage$1' Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.724 sec <<< FAILURE! - in org.wicketstuff.pageserializer.kryo.KryoSerializerTest homepageRendersSuccessfully(org.wicketstuff.pageserializer.kryo.KryoSerializerTest) Time elapsed: 0.678 sec <<< ERROR! com.esotericsoftware.kryo.SerializationException: Buffer limit exceeded writing object of type: org.wicketstuff.pageserializer.kryo.HomePage
        at java.nio.Buffer.nextPutIndex(Buffer.java:521)
        at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:169)
at com.esotericsoftware.kryo.serialize.StringSerializer.put(StringSerializer.java:35) at com.esotericsoftware.kryo.serialize.StringSerializer.writeObjectData(StringSerializer.java:24)
        at com.esotericsoftware.kryo.Serializer.writeObject(Serializer.java:43)
at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:182) at com.esotericsoftware.kryo.serialize.ReferenceFieldSerializer.writeObjectData(ReferenceFieldSerializer.java:52) at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175) at com.esotericsoftware.kryo.serialize.ReferenceFieldSerializer.writeObjectData(ReferenceFieldSerializer.java:52)
        at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
at org.wicketstuff.pageserializer.kryo.DebuggingKryo.writeClassAndObject(DebuggingKryo.java:57) at com.esotericsoftware.kryo.serialize.ArraySerializer.writeArray(ArraySerializer.java:123) at com.esotericsoftware.kryo.serialize.ArraySerializer.writeObjectData(ArraySerializer.java:88) at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175) at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175) at com.esotericsoftware.kryo.serialize.ReferenceFieldSerializer.writeObjectData(ReferenceFieldSerializer.java:52)
        at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
at org.wicketstuff.pageserializer.kryo.DebuggingKryo.writeClassAndObject(DebuggingKryo.java:57) at org.wicketstuff.pageserializer.kryo.KryoSerializer.serialize(KryoSerializer.java:87) at org.wicketstuff.pageserializer.kryo.KryoSerializerTest.homepageRendersSuccessfully(KryoSerializerTest.java:43)

I suspect that some changes in Wicket core might be responsible for the failure. The Kryo projects were not modified in the last days and if I use Wicket version 7.0.0-M3 everything works as expected. Since I neither know Kyro nor the internals of Wicket I'm not sure where this has to be fixed. I just wanted to point this out in case there might be a subtle issue introduced lately into Wicket.

Joachim

Reply via email to