[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#904014: Runtime directory not created on boot, trafficserver fails to start



Package: trafficserver
Version: 7.1.2+ds-3~bpo9+1
X-Debbugs-CC: debian-backports@lists.debian.org, aron@debian.org, debian@jbfavre.org

Hi all,

After having a memory leak (~2MB/min) in stable/trafficserver I installed stretch-backports/trafficserver and the memory leak seems fixed, only cached memory is increasing, not used real.
However, when rebooting, trafficserver was not able to start normally:
> Jul 18 09:09:59 host systemd[1]: Started Apache Traffic Server is a fast, scalable and extensible caching proxy server..
> Jul 18 09:09:59 host traffic_cop[3019]: binpath is bin
> Jul 18 09:09:59 host traffic_cop[3019]: unable to locate local state directory '/var/run/trafficserver'
> Jul 18 09:09:59 host traffic_cop[3019]:  please try setting correct root path in either env variable TS_ROOT
> Jul 18 09:09:59 host systemd[1]: trafficserver.service: Main process exited, code=exited, status=1/FAILURE
> Jul 18 09:09:59 host systemd[1]: trafficserver.service: Unit entered failed state.
> Jul 18 09:09:59 host systemd[1]: trafficserver.service: Failed with result 'exit-code’.

Upon investigation (googling) I found a CentOS 7 post (http://apache-traffic-server.24303.n7.nabble.com/Traffic-server-fails-to-start-Centos-7-td3574.html) about the same issue, the thread recommended using RuntimDirectory=trafficserver and RunTimeDirectoryPreserve=restart in trafficservers service-file.
This did not work either as the directory was created with a sid/gid of root/root and not trafficserver/trafficserver.
I then tried using PermissionsStartOnly=True and setting User=,Group= to trafficserver, but as trafficserver chroots(?) itself I got this error instead:
> Jul 18 09:51:46 host traffic_manager[4268]: Fatal: failed to acquire privileged capabilities: Operation not permitted

I tried another thing, which I can’t remember now of course, but I got the following error for that:
> Jul 18 09:55:21 host traffic_manager[4464]: Fatal: [LocalManager::initMgmtProcessServer] failed to bind socket at /var/run/trafficserver/processerver.sock

Either way, I ended up using tmpfiles.d:
> root@host:~# cat /etc/tmpfiles.d/trafficserver.conf
> #Type	Path			Mode	UID		GID		Age	Argument
> d	/run/trafficserver	0755	trafficserver	trafficserver	-

Which after another reboot worked just fine. I’m sure there is a more elegant fix for this, but shy of ExecStartPre=mkdir … I wasn’t able to figure out any other way.
Seeing as trafficserver can’t start after a normal reboot, I thought I should report this.
I’ve also tested this on a fresh install of Debian 9.5 with the same error.

-- System Information:
> root@host:~# uname -a
> Linux host 4.9.0-7-amd64 #1 SMP Debian 4.9.110-1 (2018-07-05) x86_64 GNU/Linux
> root@host:~# lsb_release -a
> No LSB modules are available.
> Distributor ID:	Debian
> Description:	Debian GNU/Linux 9.5 (stretch)
> Release:	9.5
> Codename:	stretch

Thanks,
David
—
David Brodin
Sveriges Radio AB
Phone: +46 (0)8 784 2329
Email: david.brodin@sr.se
https://sr.se/

Attachment: signature.asc
Description: Message signed with OpenPGP


Reply to: