Fixed in SVN and next version
Stefan Friedel wrote:
> Hello everybody,
> I've a brand new installation of cfengine on some Sun X4200 servers under
> solarisx86/10; using the Blastwave package of cfengine 2.1.20.
>
> cfservd refuses to start because it can not write it's pid file:
>
> #################
> $ truss /opt/csw/sbin/cfservd -d -f /var/cfengine/inputs/cfservd.conf
>
> [...]
>
> sigaction(SIGUSR2, 0x08047830, 0x080478B0) = 0
> listen(4, 50, SOV_DEFAULT) = 0
> Listening for connections ...
> write(1, " L i s t e n i n g f o".., 30) = 30
> open64("/var/cfengine/cfservd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) Err#13
> EACCES [ALL]
> cfservd: Could not write to PID file cfservd.pid
> write(1, " c f s e r v d : C o u".., 49) = 49
> getuid() = 5308 [5308]
> getpid() = 25574 [25573]
> Incurred fault #6, FLTBOUNDS %pc = 0xFEBFCDC0
> siginfo: SIGSEGV SEGV_MAPERR addr=0x0000000E
> Received signal #11, SIGSEGV [default]
> siginfo: SIGSEGV SEGV_MAPERR addr=0x0000000E
> $
> ##################
>
> I looked into the source and found WritePID in locks.c which uses WORKDIR as
> path for the pid file. In cfservd.c the WORKDIR should be set to homedir if
> getuid>0 (l. 281). This seems not working as expected (the path is obviously
> set to /var/cfengine and not to /var/cfengine/home/ which in my case is the
> home of user cfengine). Is there a command line parameter for cfservd to set
> the path for the pid file? Any other hint on how to change WORKDIR to some
> place where an unprivileged user can write?
>
> Thanks and Regards, Stefan Friedel
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Bug-cfengine mailing list
> [email protected]
> https://cfengine.org/mailman/listinfo/bug-cfengine
>
_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine