Bug 1833213 - systemd pauses for 180s on "Wait for Complete Device Initialization"
Summary: systemd pauses for 180s on "Wait for Complete Device Initialization"
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-08 05:23 UTC by M J
Modified: 2021-05-18 17:43 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-05-18 17:43:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description M J 2020-05-08 05:23:37 UTC
Description of problem:
I have an old Mellanox ConnectX-2 card plugged into my computer. The infiniband switch that it is plugged into is not always running at boot time. When my computer boots, systemd pauses for a long time at systemd-udev-settle.service ("udev Wait for Complete Device Initialization") before continuing. It seems that this script does a `/usr/bin/udevadm settle` and this process waits forever for something. The systemd process eventually times out.

I am guessing that it is infiniband-related since this problem has occurred since I decided to leave my switch off until I needed it. It seems that one of the infiniband drivers cannot cope with an unbound device and will stall certain other processes (like `udevadm settle`). The offending service also occurs at the behest of rdma.service.


Version-Release number of selected component (if applicable):
My card is a MT25204, firmware version 1.2.0. I use the stock drivers that have been provided by Fedora since version 19 or so.

How reproducible:
Every time I boot.


Steps to Reproduce:
1. Insert the MT25204
2. Boot your system
3. Wait for rdma.service and the subsequent systemd-udev-settle.service to start

Actual results:
You'll see systemd stalled while alternating between the message "Wait for Complete Device Initialization", along with parts of that string overwritten by the progress indicator, which counts up to 2 minutes before giving up and continuing with the rest of boot. That service will give the result [FAILED] when it finally continues.


Expected results:
Expect it to say [ OK ]


Additional info:
I produced a workaround by changing the systemd-udev-settle.service file to use the line: 
ExecStart=-/usr/bin/udevadm settle -t 0

The minus sign tells it to ignore the errorlevel in determining success/failure. The -t 0 parameter tells udevadm settle to return immediately if the result queue is empty.

Now that I've reported the workaround, I can rest.

Comment 1 Oleg Samarin 2020-05-12 19:17:52 UTC
M J, could you try the patch from https://bugzilla.redhat.com/show_bug.cgi?id=1830896 ,

Comment 2 Zbigniew Jędrzejewski-Szmek 2020-09-20 12:09:54 UTC
Is this still an issue with the latest updates? The udev slowness should be resolved.

Comment 3 Fedora Program Management 2021-04-29 16:24:38 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.


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