Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ci] SimpleNetty4TransportTests.testChannelCloseWhileConnecting #32289

Closed
andyb-elastic opened this issue Jul 23, 2018 · 8 comments
Closed

[ci] SimpleNetty4TransportTests.testChannelCloseWhileConnecting #32289

andyb-elastic opened this issue Jul 23, 2018 · 8 comments
Assignees
Labels
:Distributed Coordination/Network Http and internode communication implementations >test-failure Triaged test failures from CI

Comments

@andyb-elastic
Copy link
Contributor

Does not reproduce

https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+6.x+release-tests/888/console
build-888.txt

REPRODUCE WITH: ./gradlew :modules:transport-netty4:test \
  -Dtests.seed=493C139EBD4D6E7E \
  -Dtests.class=org.elasticsearch.transport.netty4.SimpleNetty4TransportTests \
  -Dtests.method="testChannelCloseWhileConnecting" \
  -Dtests.security.manager=true \
  -Dbuild.snapshot=false \
  -Dtests.jvm.argline="-Dbuild.snapshot=false" \
  -Dtests.locale=es-PR \
  -Dtests.timezone=Europe/Madrid
  1> [2018-07-23T16:08:37,101][ERROR][i.n.u.ResourceLeakDetector] LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
  1> WARNING: 3 leak records were discarded because the leak record count is limited to 4. Use system property io.netty.leakDetection.maxRecords to increase the limit.
  1> Recent access records: 4
  1> #4:
  1>    Hint: 'pipelining' will handle the message from this point.
  1>    io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.touch(AdvancedLeakAwareCompositeByteBuf.java:36)
  1>    io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpMessage.touch(HttpObjectAggregator.java:374)
  1>    io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest.touch(HttpObjectAggregator.java:454)
  1>    io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest.touch(HttpObjectAggregator.java:404)
  1>    io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:116)
@andyb-elastic andyb-elastic added :Distributed Coordination/Network Http and internode communication implementations >test-failure Triaged test failures from CI labels Jul 23, 2018
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra

@original-brownbear
Copy link
Member

This can be reproduced by running org.elasticsearch.http.netty4.Netty4HttpServerPipeliningTests in a loop.
This test just fails because the buffer lived on from the test before it and now is GCed a little later.

@original-brownbear original-brownbear self-assigned this Jul 23, 2018
@andyb-elastic
Copy link
Contributor Author

Different test but looks related - same resource leak stack trace from netty

https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+6.x+default-distro/176/console
build-176.txt

original-brownbear added a commit to original-brownbear/elasticsearch that referenced this issue Jul 23, 2018
* Test `handler` must release buffer the same way the replaced `org.elasticsearch.http.netty4.Netty4HttpRequestHandler#channelRead0` releases it
* Closes elastic#32289
@original-brownbear
Copy link
Member

Fixed in #32296 in a pretty straightforward way. Hope this is the only source (second one looks like it could be from the same source, so I have some optimism :))

original-brownbear added a commit that referenced this issue Jul 24, 2018
* Test `handler` must release buffer the same way the replaced `org.elasticsearch.http.netty4.Netty4HttpRequestHandler#channelRead0` releases it
* Closes #32289
@nik9000
Copy link
Member

nik9000 commented Aug 20, 2018

@original-brownbear this failed again for me:
https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+master+multijob-unix-compatibility/os=ubuntu&&virtual/2623/console

I can get it to fail in a loop:

 while ./gradlew :modules:transport-netty4:test -Dtests.seed=D6D51485DA928AEE -Dtests.class=org.elasticsearch.transport.netty4.SimpleNetty4TransportTests -Dtests.method="testChannelCloseWhileConnecting" -Dtests.security.manager=true -Dtests.locale=fi -Dtests.timezone=Europe/Istanbul -Dcompiler.java=10 -Druntime.java=8; do echo ok; done

@nik9000 nik9000 reopened this Aug 20, 2018
@original-brownbear
Copy link
Member

@nik9000 right, seems this is a different failure though, not a buffer leak. I'll take a look at it regardless in a bit though :)

@Tim-Brooks
Copy link
Contributor

The reopening of this issue should be fixed by #32991

@Tim-Brooks
Copy link
Contributor

#32991 has been merged. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed Coordination/Network Http and internode communication implementations >test-failure Triaged test failures from CI
Projects
None yet
Development

No branches or pull requests

5 participants