When I set workers=2, squid need access to /var/run/squid dir with write permissions. It holds coordinator.ipc kid-1.ipc kid-2.ipc files there. But this folder disapear on reboot. Maybe we need to create it in squid start. Reproducible: Always Steps to Reproduce: 1.install squid 3.3 2.set workers=2 3.start squid -- read /var/log/messages (there will be some errors of squid) 4.create folder /var/run/squid/ 5.set owner #chown squid:squid /var/run/squid 6. restart squid -- squid is ok. 7.reboot Actual Results: No folder /var/run/squid/ Expected Results: folder /var/run/squid/ with write permissions for squid user [I] net-proxy/squid Installed versions: 3.3.11(01:46:38 30.12.2013) (caps ecap ipv6 ldap logrotate mysql pam postgres qos samba sasl snmp ssl -icap-client -ipf-transparent -kerberos -kqueue -nis -pf-transparent -radius -selinux -sqlite -ssl-crtd -test -tproxy ELIBC="-uclibc" KERNEL="linux")
Created attachment 366512 [details] emerge --info
That's odd. ~/portage/net-proxy/squid-3.3.11/work/squid-3.3.11 # fgrep -r DEFAULT_STATEDIR . ./src/ipc/Makefile.am:DEFS += -DDEFAULT_STATEDIR=\"/run/squid\" ./src/ipc/Makefile.in:DEFS = @DEFS@ -DDEFAULT_STATEDIR=\"/run/squid\" ./src/ipc/mem/Segment.cc:const char *Ipc::Mem::Segment::BasePath = DEFAULT_STATEDIR; ./src/ipc/Port.cc:const char Ipc::coordinatorAddr[] = DEFAULT_STATEDIR "/coordinator.ipc"; ./src/ipc/Port.cc:const char Ipc::strandAddrPfx[] = DEFAULT_STATEDIR "/kid";
(In reply to Jeroen Roovers from comment #2) > That's odd. Do you need some additional info? I try to look in my src when emerging. # cd /var/tmp/portage/net-proxy/squid-3.3.11/work/squid-3.3.11/ fgrep -r DEFAULT_STATEDIR Output was like yours, but I had one more line: src/ipc/Makefile:DEFS = -DHAVE_CONFIG_H -DDEFAULT_STATEDIR=\"/run/squid\"
Ok, firstly it looks like variable DEFAULT_STATEDIR is not set. # env| grep DEFAULT_STATEDIR has no output. When I run DEFAULT_STATEDIR=\"/run/squid\" rc-service squid restart it creates /var/run/squid and /run/squid folders. But they belongs to root user and can`t be written by user squid.
And squid maybe needs access not to /var/run/squid/ but to /run/squid/, because /var/run/ is a symlink to /run and I cant detect where squid go.
Should be fixed in net-proxy/squid-3.4.2. Please let me know if you still have a problem.
(In reply to Eray Aslan from comment #6) > Should be fixed in net-proxy/squid-3.4.2. Please let me know if you still > have a problem. Yes, it works fine. Thank you!