Bug #10606

civetweb keeps receiving data after client canceled download

Added by Mustafa Muhammad about 9 years ago. Updated about 8 years ago.

Can't reproduce
Target version:
% Done:


Community (user)
2 - major
Affected Versions:
Pull request ID:
Crash signature (v1):
Crash signature (v2):


I am testing civetweb, I am getting huge rx with little tx, after investigating the issue, I found that civetweb keeps receiving data from the cluster even after the client disconnected (canceled the download).
I can provide logs or any info you request.


#1 Updated by Yehuda Sadeh about 9 years ago

What do you mean huge rx vs tx? Much more reads than writes?

#2 Updated by Sage Weil about 9 years ago

  • Status changed from New to Need More Info
  • Source changed from other to Community (user)

#3 Updated by Mustafa Muhammad about 9 years ago

I am using this gateway only for downloading, I mean e.g. the node receives 10 GB (from the ceph cluster) and only sends 1 GB (to the customers), so much more received data than sent data.

#4 Updated by Sage Weil almost 9 years ago

  • Status changed from Need More Info to Can't reproduce

#5 Updated by Mustafa Muhammad almost 9 years ago

Hi, this is the procedure I used to reproduce:
1) Open the gateway, running civetweb, and start dstat
2) Open Chrome and start downloading a file (about 1.4G), watch dstat, there is a traffic (in and out)
3) Cancel the download early (before it reaches half).
4) Watch dstat, only incoming traffic (no outgoing, since the client disconnected).
5) If you just booted the server (ifconfig was reporting about 0 bytes before you begin), you will have 1.4G (file size) incoming and less that that (maybe 100M or 500M, depending on when you canceled the download) outgoing.
This means after the user cancel the download, civetweb keeps receiving data for the disconnected client, this doesn't happen with apache, and this is the reason I can't use civetweb.


#6 Updated by Aaron Bassett almost 9 years ago

I've experienced this issue as well. When downloading a large object (i.e. 6GB) if I cancel in the middle of the download (using Ctrl+C with curl or closing the fd with libcurl) the gw seems to pull the rest of the object from the cluster even though the client is no longer around. Currently I'm using civetweb but I'm about to switch to apache and see if the issue exists there as well.

#7 Updated by Mustafa Muhammad over 8 years ago

Can anybody check this again, please? It is reproducible here.

#8 Updated by Aaron Bassett over 8 years ago

finally got around to upgrading to hammer and not seeing this anymore. Also hammer is awesome so far.

#9 Updated by Mustafa Muhammad about 8 years ago

This is now fixed in 9.2 Infernalis, thank you, please close this bug.

Also available in: Atom PDF