Skip to content

KryoException: Error during Java serialization when running contest estimator #1698

Open
@Markoutte

Description

@Markoutte

Description

When running contest estimator on guava project with java 8 there are many exceptions like this:

Exception in thread "SymbolicExecution" org.utbot.instrumentation.util.InstrumentedProcessError: Error in the instrumented process |> com.jetbrains.rd.util.reactive.RdFault: Writing to Kryo exception |> com.esotericsoftware.kryo.kryo5.KryoException: Error during Java serialization.
Serialization trace:
exception (org.utbot.framework.plugin.api.UtExplicitlyThrownException)
result (org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult)
	at com.esotericsoftware.kryo.kryo5.serializers.JavaSerializer.write(JavaSerializer.java:54)
	at com.esotericsoftware.kryo.kryo5.Kryo.writeObject(Kryo.java:642)
	at com.esotericsoftware.kryo.kryo5.serializers.ReflectField.write(ReflectField.java:70)
	at com.esotericsoftware.kryo.kryo5.serializers.FieldSerializer.write(FieldSerializer.java:108)
	at com.esotericsoftware.kryo.kryo5.Kryo.writeObject(Kryo.java:642)
	at com.esotericsoftware.kryo.kryo5.serializers.ReflectField.write(ReflectField.java:70)
	at com.esotericsoftware.kryo.kryo5.serializers.FieldSerializer.write(FieldSerializer.java:108)
	at com.esotericsoftware.kryo.kryo5.Kryo.writeClassAndObject(Kryo.java:711)
	at org.utbot.instrumentation.util.KryoHelper.writeObject(KryoHelper.kt:70)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$2.invoke(InstrumentedProcessMain.kt:143)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$2.invoke(InstrumentedProcessMain.kt:130)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1$1.invoke(ClientProcessUtil.kt:96)
	at org.utbot.rd.IdleWatchdog.wrapActive(ClientProcessUtil.kt:83)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1.invoke(ClientProcessUtil.kt:95)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:182)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:173)
	at com.jetbrains.rd.framework.impl.RdCall.onWireReceived(RdTask.kt:360)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:57)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:56)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.util.threading.SingleThreadSchedulerBase$queue$1.run(SingleThreadScheduler.kt:41)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.NullPointerException
	at com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase.writeObject(JAXWSExceptionBase.java:97)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1154)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
	at com.esotericsoftware.kryo.kryo5.serializers.JavaSerializer.write(JavaSerializer.java:51)
	... 25 more
, reason: org.utbot.instrumentation.util.WritingToKryoException: Writing to Kryo exception |> com.esotericsoftware.kryo.kryo5.KryoException: Error during Java serialization.

Steps to reproduce the behavior:

For esimator set these values:

methodFilter = "com.google.common.base.Throwables.propagate"
projectFilter = listOf("guava-26.0")
fuzzingRatio = 0.1

Expected behavior

No problems with serialization should occur.

Actual behavior

Exceptions about serialization.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions