That's because perform_reexec() just reexec's argv[0], which used to be /sbin/init. But that just changed pointing from upstart to pointing to systemd. So upstart's function isn't actually conceptually wrong, but perhaps we could run /sbin/upstart instead of argv[0] (which is likely /sbin/init)?
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1430479 Title: "telinit u" under upstart (upstart's Restart command) with systemd- sysv installed runs systemd Status in systemd package in Ubuntu: In Progress Status in upstart package in Ubuntu: New Bug description: I've today had two machines kill my X session during dist-upgrade, and it happened during libc6 postinst. Dmesg shows that systemd got somehow started during the earlier phase of the upgrade. X logs show a failure with "(EE) Cannot establish any listening sockets" etc.. Adam can fill in the more detailed analysis of what's happening there.. but I think it should be fairly easy to reproduce by installing vivid from an earlier image and dist-upgrading to current, if needed. Reproducer: - Start with a standard utopic VM (e. g. adt-buildvm-ubuntu-cloud -r utopic) - Switch apt sources to vivid - sudo apt install systemd-sysv - sudo telinit u # systemd command, forwards to upstart's /lib/sysvinit/telinit - Or directly: sudo /lib/sysvinit/telinit u To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1430479/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp

