Bug 24037

Summary: man-db transfiletriggerin causes boot hang if service_harddrake installs packages that trigger it
Product: Mageia Reporter: Martin Whitaker <mageia>
Component: RPM PackagesAssignee: Thierry Vignaud <thierry.vignaud>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: release_blocker    
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: man-db CVE:
Status comment:
Bug Depends on:    
Bug Blocks: 23901    

Description Martin Whitaker 2018-12-19 16:04:39 CET
This is observed when booting the 7-beta1 Live ISOs with proprietary drivers enabled, but I think will occur if service_harddrake attempts to install any extra package that triggers the man-db transfiletriggerin.

The man-db transfiletriggerin is

if [ -x /usr/bin/systemd-run -a -x /usr/bin/systemctl ]; then
    /usr/bin/systemd-run /usr/bin/systemctl start man-db-cache-update >/dev/null 2>&1 || :
fi

The problem is that systemd-run blocks when called at that stage in the boot cycle - presumably because it relies on a service that is not yet running. I have checked this by enabling the systemd debug shell and running

  systemd-run ls

which hangs. However

  systemd-run --scope ls

works.

Assigning to the registered maintainer of man-db.
Martin Whitaker 2018-12-19 16:09:20 CET

Blocks: (none) => 23901

Comment 1 Thierry Vignaud 2018-12-20 02:31:19 CET
Can you test patching the file trigger?
If that works OK, please commit & upload
Comment 2 Martin Whitaker 2018-12-20 11:47:09 CET
Patch with what? The --scope option? That will defeat the reason you used systemd-run as it blocks until the command completes.

--no-block seems a better option. I've just tested that, and it fixes this bug.
Comment 3 Martin Whitaker 2018-12-20 14:39:06 CET
Also tested installing packages in a running system after adding the --no-block option. No problems seen, so fix committed and submitted.

Status: NEW => RESOLVED
Resolution: (none) => FIXED