The init script currently sets pidfile=${REDIS_PID:-/run/redis/redis.pid} and then later does start_pre() { checkpath -d -m 0775 -o ${REDIS_USER}:${REDIS_GROUP} $(dirname ${REDIS_PID}) } if for some reason REDIS_PID is unset $pidfile has a value, but checkpath/dirname gets confused and the init script refuses to run. It would be easier to set: REDIS_PID=${REDIS_PID:-/run/redis/redis.pid} and then replace $pidfile with $REDIS_PID everywhere
It looks like this got fixed at some point along the way. We don't define start_pre at all now.