Bug 1228277

Summary: repeated occurrences of Overwriting existing symlink /run/systemd/generator.late/squeezeboxserver.service with real service
Product: [Fedora] Fedora Reporter: udo <udovdh>
Component: systemdAssignee: systemd-maint
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: johannbg, jsynacek, lnie, lnykryn, mitchb, msekleta, s, systemd-maint, ufa, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemd-219-19.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-14 15:31:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description udo 2015-06-04 14:14:48 UTC
Description of problem:
Repeatedly overwrites certain links and logs about that in /var/log/messages

Version-Release number of selected component (if applicable):
systemd-219-15.fc22.x86_64

How reproducible:
upgrade to Fedora 22 from 20

Steps to Reproduce:
1. dmesg
2.
3.

Actual results:
[ 6370.920109] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/netconsole.service with real service
[ 6370.920167] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/btseed.service with real service
[ 6370.920209] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/dc_server.service with real service
[ 6370.920249] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/dc_client.service with real service
[ 6370.920289] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/bttrack.service with real service
[ 6370.920329] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/powerman.service with real service
[ 6370.920372] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/squeezeboxserver.service with real service
[ 6370.920495] systemd-sysv-generator[24583]: Overwriting existing symlink /run/systemd/generator.late/vblade.service with real service

and

[141905.796642] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/dc_client.service with real service
[141905.796695] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/bttrack.service with real service
[141905.796733] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/dc_server.service with real service
[141905.796768] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/netconsole.service with real service
[141905.796802] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/vblade.service with real service
[141905.796836] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/powerman.service with real service
[141905.796873] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/squeezeboxserver.service with real service
[141905.796982] systemd-sysv-generator[7507]: Overwriting existing symlink /run/systemd/generator.late/btseed.service with real service

and
[262117.005529] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/squeezeboxserver.service with real service
[262117.005660] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/dc_client.service with real service
[262117.005698] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/bttrack.service with real service
[262117.005735] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/dc_server.service with real service
[262117.005771] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/vblade.service with real service
[262117.005806] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/powerman.service with real service
[262117.005841] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/btseed.service with real service
[262117.005875] systemd-sysv-generator[25656]: Overwriting existing symlink /run/systemd/generator.late/netconsole.service with real service
[262119.432632] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/squeezeboxserver.service with real service
[262119.432723] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/powerman.service with real service
[262119.432748] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/dc_server.service with real service
[262119.432778] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/netconsole.service with real service
[262119.432802] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/dc_client.service with real service
[262119.432828] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/btseed.service with real service
[262119.432852] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/vblade.service with real service
[262119.432876] systemd-sysv-generator[25675]: Overwriting existing symlink /run/systemd/generator.late/bttrack.service with real service

etc

Expected results:
No such repeated mentions (maybe just once)


Additional info:
Logging was and still is a big problem for systemd.

Comment 1 Mitchell Berger 2015-06-27 01:23:53 UTC
This is the same bug as described in the following Debian bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778700

And it was fixed long ago (February) upstream:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=4e558983

In short, the problem is that the code to generate symlinks
for services that still have SYSV init scripts calls a
function is_symlink() to find out whether the symlink it's
about to create would interfere with an already-existing
symlink.  If so, it deletes the existing symlink before
proceeding.  However, is_symlink() returns a negative value
if there's no existing file or symlink with the desired name,
and the code was interpreting that negative value as true.
Thus, you periodically have that error message spit out for
each script in /etc/init.d/ (which obviously depends on which
other packages you have installed).

I've built 219-18 with this additional patch applied, and
verified that it does correct the problem.

Comment 2 udo 2015-06-27 02:47:33 UTC
Thanks.
I will be awaiting this update...

Comment 3 udo 2015-06-29 10:48:03 UTC
Where are the updates?
(there might be another bug waiting to be fixed in the fc22 release of systemd)

Comment 4 Fedora Update System 2015-07-08 13:14:10 UTC
systemd-219-19.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/systemd-219-19.fc22

Comment 5 lnie 2015-07-10 08:48:07 UTC
systemd-219-19.fc22  works

Comment 6 Fedora Update System 2015-07-10 19:18:06 UTC
Package systemd-219-19.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-219-19.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-11332/systemd-219-19.fc22
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2015-07-14 15:31:54 UTC
systemd-219-19.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.