sendfile fails from livecd

J.p. Lien jp at tsmworks.com
Fri Mar 6 21:18:17 MSK 2009


My company makes an rails app that we serve using nginx.  I'm trying to make a
livecd that we can use distribute the app to customers.  This has gone
remarkably smoothly so far, with one small sticking point.  When booted from the
CD, nginx serves the rails content just fine, but won't serve any images.  I get:

------
2009/03/06 18:13:43 [crit] 7474#0: *1 sendfile() failed (22: Invalid argument)
while sending response to client, client: 192.168.1.147, server: ubuntu, URL:
"/images/chart_ignored_hover.gif", host: "192.168.1.113", referrer:
"http://192.168.1.113/stylesheets/application.css?1233944282"
2009/03/06 18:14:16 [crit] 7474#0: *2 sendfile() failed (22: Invalid argument)
while sending response to client, client: 192.168.1.147, server: ubuntu, URL:
"/images/bug.png", host: "192.168.1.113"
-------

The permissions on the images directory are right, and it will serve other
static content (e.g. public/404.html).  If I edit the config file and set
"sendfile" to "off", the images show up.  My best guess is that some system
config file is getting mangled, or that something is being mounted differently.
 Can anyone offer a suggestion as to what I should look at next?  I checked the
(english) documentation, and I can't figure out what enabling sendfile does or
why I would want to use it anyway.

Some details:
nginx version is nginx/0.5.33.  OS is ubuntu 8.04, kernel version is 2.6.24-23.
 LiveCD is using casper, and mounting / using unionfs.  error_log level is at debug.

J.p. Lien
TSMworks, Inc.






More information about the nginx mailing list