[Devel] all openser processes do not get killed
Klaus Darilion
klaus.mailinglists at pernau.at
Fri May 4 10:51:34 CEST 2007
Daniel-Constantin Mierla wrote:
> Hello,
>
> there are several cases which may get to blocking of openser stop, but
> should kill itself after 60sec. That is a define, maybe should be moved
> as config parameter.
>
> One possibility is caused by syslog -- syslog does synchronized writing,
I use asynchronous syslog and also have the problem ...
regards
klaus
> if it was writing when the kill is done will get locked by next log
> messages in destroy functions. It is hard to avoid it. Other possibility
> is from destroy functions, which try to aquire a lock set when the
> signal was received. Solution is to do destroy functions in non-blocking
> mode.
>
> Cheers,
> Daniel
>
>
> On 05/04/07 02:14, Ovidiu Sas wrote:
>> Hi Juha,
>>
>>
>> On openser stop, the attendant process will receive the SIGTERM and
>> it will dispatch the signal to it's child. The two hanging processes
>> are child of a child and are not visible to the dispatcher.
>>
>> Compile openser in debug mode, attach to the child with strace (strace
>> -p PID) and stop openser. Check if the SIGTERM signal is propagated
>> down to the two child and processes and check how the signal is
>> handled (and combine this information with the output of the debug
>> log). Maybe this will reveal why the two processes are still hanging.
>>
>>
>> Hope this helps,
>> Ovidiu Sas
>>
>> On 5/3/07, Juha Heinanen <jh at tutpro.com> wrote:
>>> Ovidiu Sas writes:
>>>
>>> > Use 'openserctl ps' to identify the processes by pid, stop openser
>>> and
>>> > then check which process is hanging.
>>>
>>> the two remaining ones are:
>>>
>>> Process:: ID=0 PID=10478 Type=attendant
>>> Process:: ID=2 PID=10480 Type=receiver child=0 sock= 192.98.101.10:5090
>>>
>>> and the defunc ones are hanging from the latter:
>>>
>>> root 10478 1 0 22:25 ? 00:00:00 /usr/sbin/openser
>>> root 10480 10478 0 22:25 ? 00:00:00 \_ /usr/sbin/openser
>>> root 10481 10480 0 22:25 ? 00:00:00 \_ [openser]
>>> <defunct>
>>> root 10482 10480 0 22:25 ? 00:00:00 \_ [openser]
>>> <defunct>
>>>
>>> sometimes init script stop doesn't kill any of the processes, but pid
>>> file does get removed.
>>>
>>> as i said, init script works flawlessly for me if i disable presence.
>>>
>>> i know that i can play games with killall, etc., but i would rather like
>>> to solve this problem, since i don't have any other applications either
>>> where games are necessary (mysql, radius, etc.).
>>>
>>> -- juha
>>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/devel
>>
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
More information about the Devel
mailing list