Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 498764 - Pre-determined startup sequence for OpenRC
Summary: Pre-determined startup sequence for OpenRC
Status: RESOLVED DUPLICATE of bug 391945
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: OpenRC (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: OpenRC Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-21 10:11 UTC by Benda Xu
Modified: 2014-01-21 16:13 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benda Xu gentoo-dev 2014-01-21 10:11:51 UTC
The most frustrating senario with OpenRC is that after an upgrade, even with a successful "rc-update -u", the system somehow couldn't boot.

Most of the failures I experience are deadlocks from some weak (use, before/after) dependency loop. At present OpenRC does not have a feature to watch against such dependency loop before runtime and actual failure. This is also a blocker for parallel boot (bug 391945).

Weak dependency loop could be early detected if there is a mechanism to simulate boot process. Pre-determining service startup sequence serves as one of the simulation method.

The idea comes from insserv of Debian[1], it scans all init cripts, parses the LSB headers and construct a dependency tree (like OpenRC), and then output a set of symlinks which encodes the order of the services to be started (and stopped). startpar is used for parallel boot based on the resulting symlinks: Services with no dependency relations are started in parallel in a Makefile-style. Such parallel boot is reliable and well tested.

If the the insserv feature is implemented in OpenRC, the validity of the system can be reliably verified. We could say goodbye to startup deadlocks then.

1. http://packages.qa.debian.org/i/insserv.html

Reproducible: Always
Comment 1 William Hubbs gentoo-dev 2014-01-21 16:13:45 UTC

*** This bug has been marked as a duplicate of bug 391945 ***