RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1735787 - Unable to repeatedly reload service that fails
Summary: Unable to repeatedly reload service that fails
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: systemd
Version: 8.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: rc
: 8.0
Assignee: David Tardon
QA Contact: Frantisek Sumsal
URL:
Whiteboard:
Depends On:
Blocks: 1739428 1739441
TreeView+ depends on / blocked
 
Reported: 2019-08-01 12:37 UTC by Gunnar Guðvarðarson
Modified: 2023-05-17 12:17 UTC (History)
4 users (show)

Fixed In Version: systemd-239-19.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-28 16:45:02 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Example service, edit exitN to return test exit codes exit0 should always return 0 (205 bytes, text/plain)
2019-08-01 12:37 UTC, Gunnar Guðvarðarson
no flags Details
minimal example service (93 bytes, text/plain)
2019-08-01 14:35 UTC, David Tardon
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github systemd systemd issues 11238 0 'None' closed Main process exits on reload if `ExecReload` command is failing. 2020-09-28 07:28:19 UTC
Red Hat Issue Tracker RHELPLAN-25245 0 None None None 2023-05-17 12:17:19 UTC
Red Hat Product Errata RHSA-2020:1794 0 None None None 2020-04-28 16:45:20 UTC

Description Gunnar Guðvarðarson 2019-08-01 12:37:11 UTC
Created attachment 1597001 [details]
Example service, edit exitN to return test exit codes exit0 should always return 0

Description of problem:
Unable to repeatedly "reload" a oneshot service.

Red Hat Enterprise Linux 8.0 (Ootpa) -- affected
Fedora 30 (Workstation Edition) -- affected
CentOS Linux 7 (Core) -- not affected


Version-Release number of selected component (if applicable):
systemd 239


How reproducible:
always


Steps to Reproduce:
1. Create a oneshot service
2. Start it
3. Modify ExecReload script to return non 0 exit code
4. Reload it
5. Reload it again


Actual results:
Reload 1 fails due to exit code != 0
> Unit state is now: Active: failed (Result: exit-code)
Reload 2 fails with: `test.service is not active, cannot reload.`


Expected results:
Reload 1 fails due to exit code != 0
> Unit state is now: Active: active (exited) (Result: exit-code)
Reload 2 fails due to exit code != 0
# Modify ExecReload script to return exit code 0
Reload 3 succeeds


Additional info:
This affects units such as nftables.service such that a syntax error during reload causes the unit to enter a failed state, and must either be restarted by hand or the reload command run manually.

Restarting units like nftables.service will flush the firewall and then attempt to start it again, leaving you without a firewall until it gets started again.

By utilizing reload on units such as nftables, I can fix the syntax error and reload it again, using the atomic rule replacement feature of nftables.

https://wiki.nftables.org/wiki-nftables/index.php/Atomic_rule_replacement

It is possible to change the ExecReload command and prefix it with `-` but that causes the reload command to not notify you of syntax errors or similar.

Comment 1 Gabríel Arthúr Pétursson 2019-08-01 13:07:18 UTC
This appears to have been reported and fixed upstream very recently:

https://github.com/systemd/systemd/issues/11238
https://github.com/systemd/systemd/commit/d611cfa748aaf600832160132774074e808c82c7

Comment 2 David Tardon 2019-08-01 14:35:47 UTC
Created attachment 1597592 [details]
minimal example service

Comment 3 David Tardon 2019-08-01 14:37:15 UTC
PR: https://github.com/systemd-rhel/rhel-8/pull/14

Comment 4 Lukáš Nykrýn 2019-08-08 09:15:19 UTC
fix merged to github master branch -> https://github.com/systemd-rhel/rhel-8/pull/14 -> post

Comment 5 Petr Menšík 2019-08-09 10:34:49 UTC
Is there Fedora clone to depend on? Is it fixed on Fedora yet?

Just for the record, this is not issue of oneshot service like description suggests. Affects named.service as well.

Comment 8 Carl George 🤠 2020-01-23 22:44:33 UTC
This backport has been released to CentOS 8 Stream.

https://lists.centos.org/pipermail/centos-devel/2020-January/036500.html

Please test this and provide feedback if you're able.

Comment 11 errata-xmlrpc 2020-04-28 16:45:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:1794


Note You need to log in before you can comment on or make changes to this bug.