Binary package hint: upstart

I cannot control squid via upstart.

Squid is running, I want to stop it:

$ sudo stop squid

stop: Unknown instance:

$ ps -ef|grep squid

proxy 1986 1 0 19:44 ? 00:00:00 (squid)

liptak 3328 1689 0 19:54 pts/1 00:00:00 grep squid

(color of squid will change to red)

$ initctl list|grep squid

squid stop/waiting

$ sudo start squid

start: Job failed to start

$ sudo reload squid

reload: Unknown instance:

The squid is running and fully functioning, I am submitting this bug report via it.

$ lsb_release -rd

Description: Ubuntu 10.04 LTS

Release: 10.04

Using upstart 0.6.5-6 on Ubuntu 10.04 x86_64.

ProblemType: Bug

DistroRelease: Ubuntu 10.04

Package: upstart 0.6.5-6

ProcVersionSignature: Ubuntu 2.6.32-22.33-generic

Uname: Linux 2.6.32-22-generic x86_64

Architecture: amd64

Date: Sun May 2 19:50:18 2010


PATH=(custom, user)



SourcePackage: upstart


=== IMPACT ===

This bug affects the normal operation of squid via the reload command.

=== DEV FIX ===

Fixed in natty in the upstart job file by no longer following forks, and disabling the ‘daemonizing’ code in squid by passing -N. The code path that this takes has been reviewed and doesn’t change the behavior of the daemon significantly.

=== TEST CASE: ===

# install squid

# verify it is running with ‘sudo status squid’

# reload its configuration with ‘sudo reload squid’

# verify that it is still tracked in upstart with ‘sudo status squid’

The bug exists if squid is no longer visible to upstart after the ‘reload’ command. It is fixed if upstart still sees it running, with the same pid.


This does lengthen the race condition between the squid job’s started event and when squid is actually listening for incoming connections. However, there are no blocking calls involved between starting squid and its daemon code forking, so the extra length is negligible. Also while the code has been reviewed and squid has been tested minimally for residual effects of the -N flag, there may be some that we did not foresee.

If you only change the whitelist then it’s not necessary to restart squid. Neither under Ubuntu nor under any other Linux distribution. For only re-reading the configuration squid needs only      >> squid -k reconfigure


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s