typelevel / typelevel/fs2

Intermittent test failure in CompressionSpec

Open
#1,931 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
2.5k
Forks
636
Avg merge
2d 4h
Merged PRs (30d)
7

Description

I've only seen this once but it should be easy to reproduce using the init seed.

2020-06-30T13:24:01.2915898Z [info] - deflate |> inflate ~= id *** FAILED *** (15 milliseconds)
2020-06-30T13:24:01.2923127Z [info]   GeneratorDrivenPropertyCheckFailedException was thrown during property evaluation. (CompressionSpec.scala:182)
2020-06-30T13:24:01.2925822Z [info]     Falsified after 12 successful property evaluations.
2020-06-30T13:24:01.2928298Z [info]     Message: Insufficient data
2020-06-30T13:24:01.2931902Z [info]     Occurred when passed generated values (
2020-06-30T13:24:01.2938149Z [info]       "欎쇔ꪮꦼ༪ꢾ怷þ懈辷阬鉁䉒䭣Ê閄俧뾩鹇䚃絼䊎밄펵쯒휆촴䠇ꜿ㼉跦膐꯲馶簙뇉ﰶ弲෉ㅀ৶녯㯰㈖⛻",
2020-06-30T13:24:01.2942187Z [info]       true,
2020-06-30T13:24:01.2990114Z [info]       SIX,
2020-06-30T13:24:01.2993112Z [info]       DEFAULT,
2020-06-30T13:24:01.2995697Z [info]       NO_FLUSH
2020-06-30T13:24:01.2998414Z [info]     )
2020-06-30T13:24:01.3001258Z [info]     Init Seed: 1593523441226
2020-06-30T13:24:01.3003767Z [info]   org.scalatest.exceptions.GeneratorDrivenPropertyCheckFailedException:
2020-06-30T13:24:01.3006539Z [info]   ...
2020-06-30T13:24:01.3010119Z [info]   at org.scalatest.enablers.PropCheckerAsserting$$anon$3.indicateFutureFailure(PropCheckerAsserting.scala:1575)
2020-06-30T13:24:01.3013577Z [info]   at org.scalatest.enablers.FuturePropCheckerAsserting$FuturePropCheckerAssertingImpl.checkResult(PropCheckerAsserting.scala:1402)
2020-06-30T13:24:01.3016669Z [info]   at org.scalatest.enablers.FuturePropCheckerAsserting$FuturePropCheckerAssertingImpl.$anonfun$check5$1(PropCheckerAsserting.scala:1480)
2020-06-30T13:24:01.3019842Z [info]   at scala.util.Success.$anonfun$map$1(Try.scala:255)
2020-06-30T13:24:01.3022602Z [info]   at scala.util.Success.map(Try.scala:213)
2020-06-30T13:24:01.3025493Z [info]   at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
2020-06-30T13:24:01.3028158Z [info]   at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
2020-06-30T13:24:01.3030968Z [info]   ...
2020-06-30T13:24:01.3033513Z [info]   Cause: java.util.zip.DataFormatException: Insufficient data
2020-06-30T13:24:01.3037267Z [info]   at fs2.compression$.$anonfun$_inflate_stream$2(compression.scala:448)
2020-06-30T13:24:01.3043234Z [info]   at fs2.compression$.$anonfun$_inflate_stream$2$adapted(compression.scala:439)
2020-06-30T13:24:01.3049848Z [info]   at fs2.Pull$.$anonfun$flatMap$1(Pull.scala:64)
2020-06-30T13:24:01.3054348Z [info]   at fs2.internal.FreeC$$anon$1.cont(Algebra.scala:33)
2020-06-30T13:24:01.3059365Z [info]   at fs2.internal.FreeC$ViewL$$anon$9$$anon$10.<init>(Algebra.scala:219)
2020-06-30T13:24:01.3063614Z [info]   at fs2.internal.FreeC$ViewL$$anon$9.cont(Algebra.scala:219)
2020-06-30T13:24:01.3067728Z [info]   at fs2.internal.FreeC$ViewL$$anon$9$$anon$10.cont(Algebra.scala:221)
2020-06-30T13:24:01.3071649Z [info]   at fs2.internal.FreeC$ViewL$.mk(Algebra.scala:210)
2020-06-30T13:24:01.3131855Z [info]   at fs2.internal.FreeC$ViewL$.apply(Algebra.scala:201)
2020-06-30T13:24:01.3136649Z [info]   at fs2.internal.FreeC.viewL(Algebra.scala:86)
2020-06-30T13:24:01.3141339Z [info]   ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with CompressionSpec.scala:182 and rerun the failing property using init seed 1593523441226. Trace the failure into compression.scala:448, where the stack trace reports DataFormatException: Insufficient data. Done means the intermittent deflate/inflate property no longer fails for this case and the relevant test passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.