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

fd leak - closing channel unable to be used but already given fd by OS #187

Open
wants to merge 102 commits into
base: master
Choose a base branch
from

Conversation

zanella
Copy link

@zanella zanella commented Oct 5, 2016

This bug can be seen if you "open" more than 1 client locally, since the trying for bind() always goes from PORT_RANGE_START to PORT_RANGE_END the number of leaked file descriptors (socket, TCP) can be determined by the summation of (i - 1) for i in N:

for (int i = 1; i <= N; i++) { sum += i - 1; }

To get a high throughput I'm creating a lot of seeder clients, so I exhausted the number of fds rather quickly, heh.

pankdm and others added 30 commits April 10, 2013 12:37
…sage.parse

Order of the parameters to the HTTPAnnounceRequestMessage constructor was incorrect in the parse() method. Thanks to Dan Oxlade for reporting the problem.

Closes mpetazzoni#48.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Allow trackerless torrent files mpetazzoni#2

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
…h InboundThread and OutboundThread to a common ExchangeThread superclass.
Add ability to set upload/download rate limits.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Fix read when message size wasn't read in one step

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
BDecode support for negative integers

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Fixes bug with selecting the announce client

A previous change introduced a bug in the selection
of the announce tier and client. Closes mpetazzoni#51.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Use maven-shade-plugin to produce executable jar

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Update pom for compatibility with the maven-release-plugin

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Clean up javadoc problems

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Shell script updates for wider platform compatibility

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Move entry-point main methods to separate package

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
mpetazzoni and others added 28 commits August 3, 2015 11:03
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Bitfield payload was truncated to the highest bit that was set. As a
consequence clients dropped the connection.

This is one of two changes required to resolve issues 91: download
resume not working
mpetazzoni#91
This change fixes a race condition in peer message exchange. First
incoming messages can be lost because incoming thread is started before
it is possible to register a message listener. There is a high
probability of missing the peer’s bitfield message immediately after
handshake and as a consequence downloads will not resume.

This fix is required to resolve issue mpetazzoni#91
mpetazzoni#91
Fixed bitfield payload in bitfield message
Remove dependency on Apache comons-codec
…eerexchange

Allow immedidate shutdown of peerexchange by notifying out-going thread
This change prevents the modification of a storage file in case the
file is already complete and all pieces are available.
…zoni#169

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
…ng-file-only-if-required

Change the length of an existing storage file only if required
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
In preparation of incoming 1.5 release, with the cli/core split.

Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org>
The old implementation of byteArrayToHexString drops the byte array’s
leading zeros.
…tring

Fix byteArrayToHexString and add tests
Unchoke the random peer in optimistic unchoking
Fixed a BufferUnderflowException in message parsing when PeerExchange is closing
@zanella zanella changed the title Closing channel unable to be used but already given fd by OS fd leak - closing channel unable to be used but already given fd by OS Oct 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.