Tom Whitten wrote:
> Jesse writes:
>> By following the steps to enable verbose logging (as described in man
>> svc.startd), I somehow managed to cause several services to go into
>> maintenance. system/cron, system/sac, network/rpc/bind, system/basicreg and
>> others have all failed, many due to "Start method exited with
>> $SMF_EXIT_ERR_CONFIG." So, I figure I must have unknowingly mangled one of
>> the steps in enabling verbose logging and caused a problem with the
>> configuration of svc.startd.  
>>
>> I ran /lib/svc/bin/restore_repository with the -seed- option to try to fix
>> it, to no avail. Same problems persist. 
>>
>> Any tips on how I might solve this, and if not, is there a more robust way
>> to blow away and import a new repository without reinstalling my system? 
>>
>> Thanks,
>>
>> -Jesse
>>  
>>  
>> This message posted from opensolaris.org
>> _______________________________________________
>> smf-discuss mailing list
>> smf-discuss at opensolaris.org
> 
> Jesse and I pursued this off group.  It turns out that the services going
> into the maintenance state had nothing to do with enabling verbose
> logging.  When we looked into the services' logs we found messages like
> this:
> 
>   svc.startd could not set context for method: chdir: No such file or 
> directory
> 
> Jesse ran truss on startd and found that the failing directory was /root.
> Further investigation showed that /etc/passwd declared /root as the home
> directory for root.  When Jesse changed this back to /, the services came
> up normally.
> 
> If no working directory is specified for a service (in the method_context
> for instance), startd uses the home directory of the user ID for the
> service.  Startd attempts to chdir() to the working directory before
> starting the service.  In this case the user was root, so the /root home
> directory was picked up from /etc/passwd.
> 
> Details are in the restarter_get_method_context() and
> restarter_set_method_context() functions which can be found with the
> Opensolaris source browser at http://cvs.opensolaris.org/source/.
> 
> Thanks to Jesse for running a number of experiments so that we could track
> this problem down.

Thanks to both of you for persisting and finding the error.

Of course, this should have been easier to track down from the logfiles, 
and not involved trussing startd.  Bug 5095217 covers the 
less-than-helpful message.  5095219 covers failing more gracefully in 
similar situations.

Both are old bugs with the infamous See Comments right now.  I'll work 
on moving the useful data to the Description.

liane

Reply via email to