Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 397897 - www-servers/lighttpd Won't start when /var/run on tmpfs and (Fast)CGI enabled.
Summary: www-servers/lighttpd Won't start when /var/run on tmpfs and (Fast)CGI enabled.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Alex Alexander (RETIRED)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2012-01-06 14:53 UTC by Kamil Kamiński
Modified: 2012-01-08 20:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kamil Kamiński 2012-01-06 14:53:21 UTC
If machine is using tmpfs for /var/run lighttpd cannot properly start as FastCGI (and propably others) are trying to access subdirectory that does not exist.

Please change /etc/init.d/lighttpd script to add something similar to:

if [ ! -d "/var/run/lighttpd" ]; then
    mkdir "/var/run/lighttpd"
    chown lighttpd:lighttpd "/var/run/lighttpd"
fi

Reproducible: Always

Steps to Reproduce:
1. Setup /var/run on tmpfs and reboot, or remove /var/run/lighttpd/
2. /etc/init.d/lighttpd start

Actual Results:  
start-stop-daemon shows "[OK]" but actually lighttpd had died laving information about being unable to write /var/run/lighttpd/somepid.pid in error.log.

Expected Results:  
lighttpd up and running

Portage 2.1.10.44 (default/linux/x86/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.1.5-gentoo i686)
=================================================================
System uname: Linux-3.1.5-gentoo-i686-VIA_Samuel_2-with-gentoo-2.1
Timestamp of tree: Thu, 22 Dec 2011 07:30:01 +0000
app-shells/bash:          4.2_p20
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.7
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.1-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-march=c3 -m3dnow -Os -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=c3 -m3dnow -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="pl_PL.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm glibc-omitfp gpm graphite hardened iconv idn ipv6 modules mudflap ncurses nls nptl nptlonly openmp pam pcre pppd readline session sqlite sqlite3 ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" PHP_TARGETS="php5-4" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2012-01-07 22:40:54 UTC
Hi, does this patch work for you?


Index: www-servers/lighttpd/files/lighttpd.initd
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/lighttpd.initd,v
retrieving revision 1.20
diff -u -b -B -u -r1.20 lighttpd.initd
--- www-servers/lighttpd/files/lighttpd.initd	1 Jan 2012 00:03:47 -0000	1.20
+++ www-servers/lighttpd/files/lighttpd.initd	7 Jan 2012 22:40:08 -0000
@@ -28,6 +28,7 @@
 
 start() {
 	checkconfig || return 1
+	checkpath -d -q -m 0750 -o lighttpd:lighttpd /var/run/lighttpd/
 
 	ebegin "Starting lighttpd"
 	start-stop-daemon --start --quiet --exec /usr/sbin/lighttpd \
Comment 2 Kamil Kamiński 2012-01-08 20:35:09 UTC
Yup, lighttpd is working after reboot and logfiles are clean :)
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2012-01-08 20:45:22 UTC
Thanks. Fixed without revbump