[launchd-dev] Attaching to launchd via gdb?

Matt DeFoor mattdefoor at gmail.com
Thu Nov 15 16:51:08 PST 2007


On Nov 15, 2007 5:28 PM, Dave Zarzycki <zarzycki at apple.com> wrote:
> Traditionally, the kernel doesn't allow debuggers to attach to PID 1.
> As the author of launchd, I haven't felt strong enough to get the
> kernel team to change that policy. I've learned to live with logging.
> You can enable logging by adding "log level debug" to /etc/
> launchd.conf and adjusting /etc/syslog.conf to capture the generated
> messages.
>

Thanks, will do.

> Having said all that, based on the messages below, I'd be curious to
> figure how why those processes are running around with UID 166128603.
> Was that ever a valid UID on your system? For whatever it may be
> worth, getpwuid() is a shim around DirectoryService APIs and the
> DirectoryService daemon. I'd try to get in contact with them.
>

I should have explained the unusually high UID in my first message.
The UID is generated by my Open Directory plugin. There's an algorithm
that generates them for users authenticated via the plugin. High UIDs
like that are also somewhat common in the AD plugin from what I
understand. Anyway, these high UIDs haven't been a problem pre-Leopard
GM. So, I'm a little suspicious about them. However, if I assign the
user a low UID (something like 600) I can still reproduce the error.

So, I've been spending quality time in the debugger trying to figure
out if there's something in my plugin that would be causing getpwuid()
to fail when/if it makes calls via DirectoryService. But, to this
point, I haven't seen anything unusual. Like I said, the code was
working fine from Panther to pre-Leopard GM.

Cheers,
Matt


More information about the launchd-dev mailing list