[ 
https://issues.apache.org/jira/browse/CASSANDRA-15313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17030151#comment-17030151
 ] 

Brandon Williams edited comment on CASSANDRA-15313 at 2/4/20 10:01 PM:
-----------------------------------------------------------------------

This is mostly due to the two places where a rather large example size is used, 
500.  I did many runs lowering this number until I could be sure there were no 
timeouts, and that number is 35.  However, once the test was not always timing 
out (at around 40 examples) it discovered a seed that always fails:
{code:java}
[junit-timeout] Seed was 552252992721215
[junit-timeout]         at 
org.quicktheories.core.ExceptionReporter.falsify(ExceptionReporter.java:43)
[junit-timeout]         at 
org.quicktheories.core.ExceptionReporter.falisification(ExceptionReporter.java:37)
[junit-timeout]         at 
org.quicktheories.impl.TheoryRunner.reportFalsification(TheoryRunner.java:48)
[junit-timeout]         at 
org.quicktheories.impl.TheoryRunner.check(TheoryRunner.java:37)
[junit-timeout]         at 
org.quicktheories.dsl.TheoryBuilder4.check(TheoryBuilder4.java:150)
[junit-timeout]         at 
org.quicktheories.dsl.TheoryBuilder4.checkAssert(TheoryBuilder4.java:162)
[junit-timeout]         at 
org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest.corruptionCausesFailure(ChecksummingTransformerTest.java:88)
[junit-timeout] 
[junit-timeout] 
[junit-timeout] Test 
org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest FAILED
{code}
Sometimes instead of failing the test, it will crash the jvm here:
{code:java}
[junit-timeout] # C  [liblz4-java4100719362944375598.so+0x5eb7]  
LZ4_decompress_fast+0x117
{code}
I've reproduced this against lz4 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.7.0, and 
1.7.1. I think beyond the flakiness which can be solved by reducing the amount 
of examples, we've got a legitimate bug in lz4. I pushed the branch to 
reproduce here: [https://github.com/driftx/cassandra/tree/CASSANDRA-15313] 
You'll need to override the test timeout as this takes around 7 minutes.
 WDYT, [~samt]?


was (Author: brandon.williams):
This is mostly due to the two places where a rather large example size is used, 
500.  I did many runs lowering this number until I could be sure there were no 
timeouts, and that number is 35.  However, once the test was not always timing 
out (at around 40 examples) it discovered a seed that always fails:
{code:java}
[junit-timeout] Seed was 552252992721215
[junit-timeout]         at 
org.quicktheories.core.ExceptionReporter.falsify(ExceptionReporter.java:43)
[junit-timeout]         at 
org.quicktheories.core.ExceptionReporter.falisification(ExceptionReporter.java:37)
[junit-timeout]         at 
org.quicktheories.impl.TheoryRunner.reportFalsification(TheoryRunner.java:48)
[junit-timeout]         at 
org.quicktheories.impl.TheoryRunner.check(TheoryRunner.java:37)
[junit-timeout]         at 
org.quicktheories.dsl.TheoryBuilder4.check(TheoryBuilder4.java:150)
[junit-timeout]         at 
org.quicktheories.dsl.TheoryBuilder4.checkAssert(TheoryBuilder4.java:162)
[junit-timeout]         at 
org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest.corruptionCausesFailure(ChecksummingTransformerTest.java:88)
[junit-timeout] 
[junit-timeout] 
[junit-timeout] Test 
org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest FAILED
{code}
Sometimes instead of failing the test, it will crash the jvm here:
{code:java}
[junit-timeout] # C  [liblz4-java4100719362944375598.so+0x5eb7]  
LZ4_decompress_fast+0x117
{code}
I've reproduced this against lz4 1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.7.0, and 
1.7.1. I think beyond the flakiness which can be solved by reducing the amount 
of examples, we've got a legitimate bug in lz4. I pushed the branch to 
reproduce here: https://github.com/driftx/cassandra/tree/CASSANDRA-15313
WDYT, [~samt]?

> Fix flaky - ChecksummingTransformerTest - 
> org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15313
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15313
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/dtest
>            Reporter: Vinay Chella
>            Assignee: Brandon Williams
>            Priority: Normal
>             Fix For: 4.0-alpha
>
>
> During the recent runs, this test appears to be flaky.
> Example failure: 
> [https://circleci.com/gh/vinaykumarchella/cassandra/459#tests/containers/94]
> corruptionCausesFailure-compression - 
> org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest
> {code:java}
> java.lang.OutOfMemoryError: GC overhead limit exceeded
>       at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
>       at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)
>       at org.quicktheories.impl.Precursor.<init>(Precursor.java:17)
>       at 
> org.quicktheories.impl.ConcreteDetachedSource.<init>(ConcreteDetachedSource.java:8)
>       at 
> org.quicktheories.impl.ConcreteDetachedSource.detach(ConcreteDetachedSource.java:23)
>       at org.quicktheories.generators.Retry.generate(CodePoints.java:51)
>       at 
> org.quicktheories.generators.Generate.lambda$intArrays$10(Generate.java:190)
>       at 
> org.quicktheories.generators.Generate$$Lambda$17/1847008471.generate(Unknown 
> Source)
>       at org.quicktheories.core.DescribingGenerator.generate(Gen.java:255)
>       at org.quicktheories.core.Gen.lambda$map$0(Gen.java:36)
>       at org.quicktheories.core.Gen$$Lambda$20/71399214.generate(Unknown 
> Source)
>       at org.quicktheories.core.Gen.lambda$map$0(Gen.java:36)
>       at org.quicktheories.core.Gen$$Lambda$20/71399214.generate(Unknown 
> Source)
>       at org.quicktheories.core.Gen.lambda$mix$10(Gen.java:184)
>       at org.quicktheories.core.Gen$$Lambda$45/802243390.generate(Unknown 
> Source)
>       at org.quicktheories.core.Gen.lambda$flatMap$5(Gen.java:93)
>       at org.quicktheories.core.Gen$$Lambda$48/363509958.generate(Unknown 
> Source)
>       at 
> org.quicktheories.dsl.TheoryBuilder4.lambda$prgnToTuple$12(TheoryBuilder4.java:188)
>       at 
> org.quicktheories.dsl.TheoryBuilder4$$Lambda$40/2003496028.generate(Unknown 
> Source)
>       at org.quicktheories.core.DescribingGenerator.generate(Gen.java:255)
>       at org.quicktheories.core.FilteredGenerator.generate(Gen.java:225)
>       at org.quicktheories.core.Gen.lambda$map$0(Gen.java:36)
>       at org.quicktheories.core.Gen$$Lambda$20/71399214.generate(Unknown 
> Source)
>       at org.quicktheories.impl.Core.generate(Core.java:150)
>       at org.quicktheories.impl.Core.shrink(Core.java:103)
>       at org.quicktheories.impl.Core.run(Core.java:39)
>       at org.quicktheories.impl.TheoryRunner.check(TheoryRunner.java:35)
>       at org.quicktheories.dsl.TheoryBuilder4.check(TheoryBuilder4.java:150)
>       at 
> org.quicktheories.dsl.TheoryBuilder4.checkAssert(TheoryBuilder4.java:162)
>       at 
> org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest.corruptionCausesFailure(ChecksummingTransformerTest.java:87)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to