Bug 82832

Summary: Services with special characters in the name which fail during "systemctl start" display an incorrect error message
Product: systemd Reporter: seejay.11
Component: generalAssignee: systemd-bugs
Status: RESOLVED FIXED QA Contact: systemd-bugs
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Terminal session providing a better view of the issue

Description seejay.11 2014-08-20 01:47:59 UTC
Created attachment 104929 [details]
Terminal session providing a better view of the issue

Running a command like the following will give a bad error message on failure:

systemctl start 'netctl@wlo1\x2dSKY8B120.service'

The error message given is:

Job for netctl@wlo1\x2dSKY8B120.service failed. See 'systemctl status netctl@wlo1\x2dSKY8B120.service' and 'journalctl -xn' for details.

Typing "systemctl status netctl@wlo1\x2dSKY8B120.service" into the shell does not have the expected behaviour as the backslash is parsed by the shell which causes systemctl to check the wrong service. The service name should be quoted or adequately escaped.
The attached log shows "netctl" being used, because I originally assumed this was a netctl bug. I have tried this with "systemctl start 'netctl@wlo1\x2dSKY8B120.service'" and it prints the same message with the same mistake.
Comment 1 Zbigniew Jedrzejewski-Szmek 2014-08-31 04:44:58 UTC
Fixed in http://cgit.freedesktop.org/systemd/systemd/commit/?id=8e07fc41f8.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.