From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko) Description of problem: squid no longer starts after today's update. Log says: Mar 5 07:50:00 rpppc1 (squid): failed to find or read error text file. Mar 5 07:50:00 rpppc1 squid[18221]: Squid Parent: child process 18247 started Mar 5 07:50:00 rpppc1 squid[18221]: Squid Parent: child process 18247 exited due to signal 6 Mar 5 07:50:01 rpppc1 squid: . Version-Release number of selected component (if applicable): squid-2.5.STABLE5-1 How reproducible: Always Steps to Reproduce: 1.boot with squid enabled 2. 3. Additional info:
Problem is default squid.conf says: error_directory /etc/squid/errors I changed it to: error_directory /etc/squid/errors/English Now squid starts
squid-2.5.STABLE5-2 seems to work for me in FC development latest.
Not fixed in squid-2.5.STABLE5-2, /etc/squid/squid.conf (and the associated .default config) still create this error due to not having the language specified. Is the language supposed to be identified in another way? When error_directory is set to /etc/squid/errors this error occurs. 2004/04/18 00:36:34| errorTryLoadText: '/etc/squid/errors/ERR_READ_TIMEOUT': (2) No such file or directory 2004/04/18 00:36:34| errorTryLoadText: '/usr/local/squid/etc/errors/ERR_READ_TIMEOUT': (2) No such file or directory FATAL: failed to find or read error text file. Squid Cache (Version 2.5.STABLE5): Terminated abnormally. Squid starts cleanly when /English is added to the error_directory.
I personally am uncertain how you are producing this error. I use squid often and I have never needed to do this.
This may be a problem generated from an upgrade from previous rawhide squid, rather than clean install. The postinstall scriptlet for squid (rpm -q --scripts squid) includes: postinstall scriptlet (using /bin/sh): /sbin/chkconfig --add squid if [ $1 = 0 ]; then case "$LANG" in bg*) DIR=Bulgarian ;; <snipped out others here> esac ln -snf /usr/share/squid/errors/$DIR /etc/squid/errors fi On my system /etc/squid/errors is NOT a link, but is a directory (that is owned by the squid package). If this scriptlet failed, then having the squid variable set to /etc/squid/errors would leave no language directory selected => failure to start squid. Removal of squid, and reinstallation of squid-2.5.STABLE5-2 (via yum, http://download.fedora.us/fedora/fedora/1.91/i386/RPMS.updates) fixed the problem. Sorry, the problem is indeed not squid but perhaps dirty test system (this scriptlet could be more failsafe for this problem). Users of FC1 may run into the same upgrade issue to FC2.
Thank you for the thorough analysis. It appears that the change history of squid through the various versions needs to be analyzed, and maybe rawhide squid changed, so that this does not become a very common problem for FC2 final users.
No need to worry. It was a link in FC1, it remained as such until some point in development when it became a directory containing all language subdirs, but then it was changed back to a link. Only people upgrading from test releases containing this problem (are there any?) to final will observe this problem, and then, probably only if they do create something in the dir (such as links to the language subdirs to get squid to run) to prevent it from being removed during the upgrade.