NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: (CRON) DEATH (can't fork)



On Mon, Feb 9, 2009 at 10:36 AM,  <raymond.meyer%rambler.ru@localhost> wrote:
> On Mon, 9 Feb 2009 09:35:20 -0500
> matthew sporleder <msporleder%gmail.com@localhost> wrote:
>
>> On Mon, Feb 9, 2009 at 6:13 AM,  <raymond.meyer%rambler.ru@localhost> wrote:
>> > $ uname -a
>> > NetBSD ultra10 5.0_BETA NetBSD 5.0_BETA (GENERIC) #0: Tue Feb  3
>> > 21:25:22 GMT 2009
>> > root@p3smp:/opt/obj.sparc64/sys/arch/sparc64/compile/GENERIC sparc64
>> >
>> > My /var/log/cron.log file is filled with the following lines:
>> >
>> > Feb  3 22:53:17 ultra10 cron[397]: (CRON) DEATH (can't fork)
>> > Feb  8 11:46:38 ultra10 cron[402]: (CRON) DEATH (can't fork)
>> > Feb  9 10:54:43 ultra10 cron[343]: (CRON) DEATH (can't fork)
>> >
>> > Once the system has booted multiuser and I manually run
>> >
>> > /etc/rc.d/cron start
>> >
>> > then cron starts without problems.
>> >
>> > I have /var/run mounted as tmpfs, but I also have
>> >
>> > critical_filesystems_local="${critical_filesystems_local} /var/run /opt"
>> >
>> > in my /etc/rc.conf file.
>> >
>> > Any idea what the problem might be?
>> >
>>
>> Sadly, that error just means the daemon() call failed but it doesn't
>> report errno.
>>
>> Do you have swap?  Do you have a really low ulimit?  Is cron trying to
>> start twice?
>>
>> You could also change line 100 of cron.c to be more like:
>> log_it("CRON",getpid(),"DEATH",errno,"can't fork");
>>
>> to get more info.  (you may also need to #include <errno.h> if you go
>> down that path)
>
> I've added the following line to /etc/rc.d/cron
>
> start_cmd="ktrace -d -i -f /root/ktrace.out -t A /usr/sbin/${name}"
>
> to get a trace when cron is starting.
>
> I've attached the output of kdump on /root/ktrace.out file.
> Does it give you any clues?
>

Well, I see:
   343      1 cron     PSIG  SIGHUP caught handler=0x102880 mask=():
code=SI_NOINFO

But I don't know what is causing it because it looks like everything
else worked.

The fork works, it can write cron.pid, it looks like it's reading
/var/cron/tabs (although I'm not really sure about all that __stat30
stuff - does /var/cron/tabs exist at this point?), so I'm not really
sure.


Home | Main Index | Thread Index | Old Index