Skip to content

Overflow in fuzzing #588

Closed
Closed
@SBOne-Kenobi

Description

@SBOne-Kenobi

Description

There is problem with negative size in Combinations. This is cause of crash UtBot.

To Reproduce

Run ContestEstimator on project antlr, class org.antlr.v4.parse.LeftRecursiveRuleWalker.

Expected behavior

Tests are supposed to be generated.

Actual behavior

ContestEstimator crashes with exception from fuzz function.

Visual proofs (screenshots, logs, images)

Exception in thread "SymbolicExecution" java.lang.IllegalStateException: Size must be positive or 0 but current value is -1810579852
	at org.utbot.fuzzer.PseudoShuffledIntProgression.<init>(PseudoShuffledIntProgression.kt:95)
	at org.utbot.fuzzer.PseudoShuffledIntProgression.<init>(PseudoShuffledIntProgression.kt:89)
	at org.utbot.fuzzer.CartesianProduct.iterator(CartesianProduct.kt:18)
	at org.utbot.fuzzer.CartesianProduct.asSequence(CartesianProduct.kt:13)
	at org.utbot.fuzzer.FuzzerKt.fuzz(Fuzzer.kt:34)
	at org.utbot.fuzzer.providers.ObjectModelProvider.generateModelsWithFieldsInitialization(ObjectModelProvider.kt:119)
	at org.utbot.fuzzer.providers.ObjectModelProvider.access$generateModelsWithFieldsInitialization(ObjectModelProvider.kt:37)
	at org.utbot.fuzzer.providers.ObjectModelProvider$generate$1.invokeSuspend(ObjectModelProvider.kt:90)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:140)
	at org.utbot.fuzzer.ModelProvider$Combined$generate$1.invokeSuspend(ModelProvider.kt:143)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:140)
	at org.utbot.fuzzer.FuzzerKt.fuzz(Fuzzer.kt:76)
	at org.utbot.fuzzer.providers.ObjectModelProvider$Companion.fuzzParameters(ObjectModelProvider.kt:173)
	at org.utbot.fuzzer.providers.ObjectModelProvider$Companion.access$fuzzParameters(ObjectModelProvider.kt:145)
	at org.utbot.fuzzer.providers.ObjectModelProvider$generate$1.invokeSuspend(ObjectModelProvider.kt:82)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:140)
	at org.utbot.fuzzer.ModelProvider$withFallback$1$1.invokeSuspend(ModelProvider.kt:142)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:140)
	at kotlin.sequences.TakeSequence$iterator$1.hasNext(Sequences.kt:421)
	at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:752)
	at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:782)
	at kotlin.sequences.SequencesKt__SequencesKt$shuffled$1.invokeSuspend(Sequences.kt:140)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:140)
	at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:214)
	at kotlin.sequences.SequencesKt___SequencesKt.first(_Sequences.kt:110)
	at org.utbot.engine.UtBotSymbolicEngine$fuzzing$2.invokeSuspend(UtBotSymbolicEngine.kt:406)
	at org.utbot.engine.UtBotSymbolicEngine$fuzzing$2.invoke(UtBotSymbolicEngine.kt)
	...

Environment

Java 8.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions