Trying to run programs that don't exist leaks FDs

View: New views
4 Messages — Rating Filter:   Alert me  

Trying to run programs that don't exist leaks FDs

by Andy Clayton-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

We're running cfengine 2.2.9 on FreeBSD 7.1 compiled from ports, and it
seems that when cfengine tries to run a program that doesn't exist, it
leaks file descriptors. If this happens enough in a run, it results in
the infamous MAXFD error.

Am I mistaken, or is this a cfpopen_sh bug?

Example:

processes:

      "not_running_1" restart "/does_not_exist.sh restart"
      "not_running_2" restart "/does_not_exist.sh restart"
      "not_running_3" restart "/does_not_exist.sh restart"
      "not_running_4" restart "/does_not_exist.sh restart"

      and so on...

Thanks,
Andy Clayton

_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: Trying to run programs that don't exist leaks FDs

by Mark Burgess :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


HAve you tried 2.2.10?

Andy Clayton wrote:

> Hello,
>
> We're running cfengine 2.2.9 on FreeBSD 7.1 compiled from ports, and it
> seems that when cfengine tries to run a program that doesn't exist, it
> leaks file descriptors. If this happens enough in a run, it results in
> the infamous MAXFD error.
>
> Am I mistaken, or is this a cfpopen_sh bug?
>
> Example:
>
> processes:
>
>       "not_running_1" restart "/does_not_exist.sh restart"
>       "not_running_2" restart "/does_not_exist.sh restart"
>       "not_running_3" restart "/does_not_exist.sh restart"
>       "not_running_4" restart "/does_not_exist.sh restart"
>
>       and so on...
>
> Thanks,
> Andy Clayton
>
> _______________________________________________
> Bug-cfengine mailing list
> Bug-cfengine@...
> https://cfengine.org/mailman/listinfo/bug-cfengine

--
Mark Burgess

-------------------------------------------------
Professor of Network and System Administration
Oslo University College, Norway

Personal Web: http://www.iu.hio.no/~mark
Office Telf : +47 22453272
-------------------------------------------------
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: Trying to run programs that don't exist leaks FDs

by Andy Clayton-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Mark,

Sorry for the delay--I was out the end of last week.

I tested again with 2.2.10 and the problem is not solved.

DoSignals(not_running_18)
Existing restart sequence found (/does_not_exist.sh restart)
cfengine:bsd71test: Executing shell command: /does_not_exist.sh restart
(Setting umask to 77)
cfengine:bsd71test: File descriptor 22 of child 94882 higher than MAXFD,
check for defunct children
cfengine:bsd71test: Process restart execution failed on
/does_not_exist.sh restart
cfengine:bsd71test: popen: No such file or directory
Defining classes
DoSignals(not_running_19)
Existing restart sequence found (/does_not_exist.sh restart)
cfengine:bsd71test: Executing shell command: /does_not_exist.sh restart
(Setting umask to 77)
cfengine:bsd71test: File descriptor 23 of child 94884 higher than MAXFD,
check for defunct children
cfengine:bsd71test: Process restart execution failed on
/does_not_exist.sh restart
cfengine:bsd71test: popen: No such file or directory

Thanks,
-Andy

Mark Burgess wrote:

> HAve you tried 2.2.10?
>
> Andy Clayton wrote:
>  
>> Hello,
>>
>> We're running cfengine 2.2.9 on FreeBSD 7.1 compiled from ports, and it
>> seems that when cfengine tries to run a program that doesn't exist, it
>> leaks file descriptors. If this happens enough in a run, it results in
>> the infamous MAXFD error.
>>
>> Am I mistaken, or is this a cfpopen_sh bug?
>>
>> Example:
>>
>> processes:
>>
>>       "not_running_1" restart "/does_not_exist.sh restart"
>>       "not_running_2" restart "/does_not_exist.sh restart"
>>       "not_running_3" restart "/does_not_exist.sh restart"
>>       "not_running_4" restart "/does_not_exist.sh restart"
>>
>>       and so on...
>>
>> Thanks,
>> Andy Clayton
>>
>> _______________________________________________
>> Bug-cfengine mailing list
>> Bug-cfengine@...
>> https://cfengine.org/mailman/listinfo/bug-cfengine
>>    
>
>  

_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine

Re: Trying to run programs that don't exist leaks FDs

by Mark Burgess :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Will try to look at this shortly. If you think you know the fix, let
me know.

M

Andy Clayton wrote:

> Hi Mark,
>
> Sorry for the delay--I was out the end of last week.
>
> I tested again with 2.2.10 and the problem is not solved.
>
> DoSignals(not_running_18)
> Existing restart sequence found (/does_not_exist.sh restart)
> cfengine:bsd71test: Executing shell command: /does_not_exist.sh restart
> (Setting umask to 77)
> cfengine:bsd71test: File descriptor 22 of child 94882 higher than MAXFD,
> check for defunct children
> cfengine:bsd71test: Process restart execution failed on
> /does_not_exist.sh restart
> cfengine:bsd71test: popen: No such file or directory
> Defining classes
> DoSignals(not_running_19)
> Existing restart sequence found (/does_not_exist.sh restart)
> cfengine:bsd71test: Executing shell command: /does_not_exist.sh restart
> (Setting umask to 77)
> cfengine:bsd71test: File descriptor 23 of child 94884 higher than MAXFD,
> check for defunct children
> cfengine:bsd71test: Process restart execution failed on
> /does_not_exist.sh restart
> cfengine:bsd71test: popen: No such file or directory
>
> Thanks,
> -Andy
>
> Mark Burgess wrote:
>> HAve you tried 2.2.10?
>>
>> Andy Clayton wrote:
>>  
>>> Hello,
>>>
>>> We're running cfengine 2.2.9 on FreeBSD 7.1 compiled from ports, and it
>>> seems that when cfengine tries to run a program that doesn't exist, it
>>> leaks file descriptors. If this happens enough in a run, it results in
>>> the infamous MAXFD error.
>>>
>>> Am I mistaken, or is this a cfpopen_sh bug?
>>>
>>> Example:
>>>
>>> processes:
>>>
>>>       "not_running_1" restart "/does_not_exist.sh restart"
>>>       "not_running_2" restart "/does_not_exist.sh restart"
>>>       "not_running_3" restart "/does_not_exist.sh restart"
>>>       "not_running_4" restart "/does_not_exist.sh restart"
>>>
>>>       and so on...
>>>
>>> Thanks,
>>> Andy Clayton
>>>
>>> _______________________________________________
>>> Bug-cfengine mailing list
>>> Bug-cfengine@...
>>> https://cfengine.org/mailman/listinfo/bug-cfengine
>>>    
>>  
>
> _______________________________________________
> Bug-cfengine mailing list
> Bug-cfengine@...
> https://cfengine.org/mailman/listinfo/bug-cfengine

--
Mark Burgess

-------------------------------------------------
Professor of Network and System Administration
Oslo University College, Norway

Personal Web: http://www.iu.hio.no/~mark
Office Telf : +47 22453272
-------------------------------------------------
_______________________________________________
Bug-cfengine mailing list
Bug-cfengine@...
https://cfengine.org/mailman/listinfo/bug-cfengine