apache / apache/openwhisk

DockerContainerTests heseinbug

Open
#3,008 1 comment 0 reactions 0 assignees View on GitHub
heisenbug testing
Dominant language
Scala
Stars
6.8k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
2

Description

Failed in this Travis CI build 307526229

```
whisk.core.containerpool.docker.test.DockerContainerTests > DockerContainer should eventually terminate even if no sentinels can be found FAILED
org.scalatest.exceptions.TestFailedException: 246 was greater than or equal to 100, but 246 was not less than 200
at org.scalatest.MatchersHelper$.indicateFailure(MatchersHelper.scala:340)
at org.scalatest.Matchers$ShouldMethodHelper$.shouldMatcher(Matchers.scala:6668)
at org.scalatest.Matchers$AnyShouldWrapper.should(Matchers.scala:6704)
at whisk.core.containerpool.docker.test.DockerContainerTests$$anonfun$22.apply(DockerContainerTests.scala:582)
at whisk.core.containerpool.docker.test.DockerContainerTests$$anonfun$22.apply(DockerContainerTests.scala:560)
at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1682)
at org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)
at whisk.core.containerpool.docker.test.DockerContainerTests.org$scalamock$scalatest$AbstractMockFactory$$super$withFixture(DockerContainerTests.scala:59)
at org.scalamock.scalatest.AbstractMockFactory$$anonfun$withFixture$1.apply(AbstractMockFactory.scala:35)
at org.scalamock.scalatest.AbstractMockFactory$$anonfun$withFixture$1.apply(AbstractMockFactory.scala:34)
at org.scalamock.MockFactoryBase$class.withExpectations(MockFactoryBase.scala:51)
at whisk.core.containerpool.docker.test.DockerContainerTests.withExpectations(DockerContainerTests.scala:59)
at org.scalamock.scalatest.AbstractMockFactory$class.withFixture(AbstractMockFactory.scala:34)
at whisk.core.containerpool.docker.test.DockerContainerTests.withFixture(DockerContainerTests.scala:59)
at org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1679)
at org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)
at org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)
at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
at org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1692)
at whisk.core.containerpool.docker.test.DockerContainerTests.org$scalatest$BeforeAndAfterEach$$super$runTest(DockerContainerTests.scala:59)
at org.scalatest.BeforeAndAfterEach$class.runTest(BeforeAndAfterEach.scala:221)
at whisk.core.containerpool.docker.test.DockerContainerTests.runTest(DockerContainerTests.scala:59)
at org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)
at org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)
at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:396)
at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)
at scala.collection.immutable.List.foreach(List.scala:392)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:373)
at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:410)
at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)
at scala.collection.immutable.List.foreach(List.scala:392)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:379)
at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
at org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1750)
at org.scalatest.FlatSpec.runTests(FlatSpec.scala:1685)
at org.scalatest.Suite$class.run(Suite.scala:1147)
at org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1685)
at org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)
at org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)
at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
at org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1795)
at whisk.core.containerpool.docker.test.DockerContainerTests.org$scalatest$BeforeAndAfterAll$$super$run(DockerContainerTests.scala:59)
at org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:213)
at org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:210)
at whisk.core.containerpool.docker.test.DockerContainerTests.run(DockerContainerTests.scala:59)
```

Contributor guide

Open the contributing guide

Research direction

Start with DockerContainerTests.scala, especially the failing test around lines 560-582, and inspect the DockerContainer termination behavior it exercises. Reproduce the failure from Travis CI build 307526229 and determine why termination exceeds the test's 200-unit bound when no sentinels are found. Done means the test passes reliably while preserving eventual termination.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, scala
Domain
backend, devops, testing
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.