[launchd-dev] What would cause `diskimages-helper` to throw an exception in script run by cron, but not launchd?

Morgan Aldridge morgant at makkintosshu.com
Thu Nov 11 06:50:56 PST 2010


I have my solution, so I'm mainly just curious as to what the cause of
this is and it may be slightly off topic, but this seems the most
appropriate place to ask.

Basically, I've been using an expect script to run `slapconfig
-backupdb` to perform Open Directory backups resulting in encrypted
disk images. It worked like a charm on numerous Mac OS X 10.5 Leopard
Server installs, run by cron. However, after upgrading each of these
servers to Snow Leopard Server, we found the disk images were not
created. cron was running the script, but `diskimages-helper` would
throw an exception, as seen in /var/log/system.log:

    Jul 23 03:00:08 servername hdiejectd[93114]: running
    Jul 23 03:00:11 servername diskimages-helper[93111]:
-frameworkCallbackWithDictionary: threw exception calling home.
    Jul 23 03:00:11 servername diskimages-helper[93111]: threw
exception reporting results back to framework.
    Jul 23 03:00:21 servername hdiejectd[93114]: quitCheck: calling exit(0)

The expect script works perfectly fine when run from the shell as
root. I wrote a new bash script which uses `serveradmin` (so the
wrapper for `slapconfig -backupdb`) and therefore doesn't require
expect, but it had the same result.

However, as soon as I switched to to being run by launchd instead of
cron, it works perfectly. So, what might've changed between Leopard
Server and Snow Leopard Server that would cause `diskimages-helper` to
throw the exception when run from cron, but _not_ when run by launchd?

Morgan Aldridge
---
http://www.makkintosshu.com/


More information about the launchd-dev mailing list