[launchd-dev] _vprocmgr_move_subset_to_user()
Stuart Crook
stuart at echus.demon.co.uk
Tue Mar 17 09:27:48 PDT 2009
Hi. Could someone help me understand _vprocmgr_move_subset_to_user()
and the environmental conditions which cause a call to it to fail.
To explain the context: I'm working with the PureDarwin (www.puredarwin.org
) team, and we've almost got an mutil-user environment up and running.
The system is running in standard (ie. not single-user) mode, with the
user as root (uid=0, gid=0). A number of daemons including launchd,
securityd and DirectoryService are active. "login" will run but fails
with the message "Cannot make/remove an entry for the specified
session". I've traced the failure down to the pam_launchd module (part
of the pam_modules project in Darwin), and specifically to a call to
_vprocmgr_move_subset_to_user() (no other failure in this module will
produce the exact error code I'm seeing).
The following error messages are printed to the system error log:
Mar 17 16:50:57 VMDarwin com.apple.launchd[1]
(com.apple.launchd.peruser.1000[95]): Root Mach bootstrap cannot be
transferred.
Mar 17 16:50:57 VMDarwin login[94]: USER_PROCESS: 94 ttys000
Mar 17 16:50:57 VMDarwin com.apple.launchd[95] (0x1010b0.login[94]):
Bug: launchd_core_logic.c:6292 (23646):1100: kr == 0
_vprocmgr_move_subset_to_user() is being called with arguments
uid=1000 and session_type="StandardIO" (the default, I believe). I've
tried following the source (from 258.19) but become lost when I can't
find vproc_mig_swap_integer().
So, bearing in mind that this is a version of Darwin assembled from
pieces rather than OS X, can anyone suggest why creating a user
session like this may fail? What steps do we need to take to assemble
an environment which will allow user session creations? Any and all
help will be appreciated.
(And if you'd like to assemble your own test environment, grab the
VMWare image from http://sites.google.com/a/puredarwin.org/puredarwin/downloads/xmas
and then follow the instructions here: http://sites.google.com/a/puredarwin.org/puredarwin/developers/network
).
Thanks
Stuart Crook
More information about the launchd-dev
mailing list