Project

General

Profile

Bug #1572

users can't finish downloads of static files (in error.log: write failed: Bad address 827)

Added by Anonymous over 12 years ago. Updated almost 12 years ago.

Status:
Missing Feedback
Priority:
High
Category:
core
Target version:
ASK QUESTIONS IN Forums:

Description

server.event-handler = "linux-sysepoll"
server.network-backend = "writev"

When using writev under high load (over 500 simultaneous connections) serving large static files, I get tons of these messages in error.log:

2008-02-25 21:33:08: (network_writev.c.303) write failed: Bad address 795
2008-02-25 21:33:08: (connections.c.603) connection closed: write failed on fd 795

I've seen this:
http://trac.lighttpd.net/trac/changeset/829
and this bug is supposed to be fixed, but it's not.

Users are complaining that when they use download managers they fail to download the last segment of file (ie download stops at 99%). We were able to reproduce that, when trying to download really small chunk (740 bytes) from the end of 500mb file, lighttpd resets the connection (download manager gives "error occurred!" messages without transferring anything) without any HTTP headers sent.

Please fix this as writev is basically the only backend capable of serving large files. sendfile() causes lightly to work vey slow at 200+ connections due to high iowait.

-- slipper

#1

Updated by stbuehler almost 12 years ago

  • Status changed from New to Assigned
#2

Updated by stbuehler almost 12 years ago

Tried with a file exactly 500MB on linux:


dd if=/dev/zero of=bigfile2 bs=1048576 count=500
curl -v http://localhost:8081/bigfile2 --range 524287296-524288000

and it worked. so it would be really nice if you can tell us how you reproduced it; and some details about your system would be nice too.

#3

Updated by stbuehler almost 12 years ago

  • Target version changed from 1.4.20 to 1.4.21
#4

Updated by stbuehler almost 12 years ago

  • Status changed from Assigned to Missing Feedback
  • Pending changed from Yes to No
  • Patch available set to No

Also available in: Atom