You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (Jira)" <ji...@apache.org> on 2020/02/04 21:59:00 UTC

[jira] [Commented] (CASSANDRA-15313) Fix flaky - ChecksummingTransformerTest - org.apache.cassandra.transport.frame.checksum.ChecksummingTransformerTest

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

Brandon Williams commented on CASSANDRA-15313:
----------------------------------------------

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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org