application hangs in STABLE from time to time
Ganbold
ganbold at micom.mng.net
Thu Nov 30 21:59:38 PST 2006
Kris,
Kris Kennaway wrote:
> On Fri, Dec 01, 2006 at 01:02:33PM +0800, Ganbold wrote:
>
>> Kris Kennaway wrote:
>>
>>> On Fri, Nov 24, 2006 at 10:02:23AM +0800, Ganbold wrote:
>>>
>>>
>>>
>>>> So do I have interrupt storms here and it is something related to bge?
>>>>
>>>>
>>> No, your interrupts look fine.
>>>
>>>
>>>
>>>> What else should I check when application hangs again?
>>>>
>>>>
>>> The most important thing to know is what is the application doing when
>>> it hangs. Unfortunately none of the information you provided shows
>>> this. Next time use the -o wchan argument to ps to find out what
>>> state the process is blocked in.
>>>
>> Ok, Here it is:
>>
>> 573 ?? Is 0:00.02 /usr/sbin/inetd -wW -C 60
>> 78721 ?? I 0:00.01 /usr/local/Radiator-3.15/hooks/PSA
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> 78744 ?? Is 0:00.05 sshd: tsgan [priv] (sshd)
>> 78747 ?? S 0:00.02 sshd: tsgan at ttyp0 (sshd)
>> 591 v0 Is+ 0:00.00 /usr/libexec/getty Pc ttyv0
>> 592 v1 Is+ 0:00.00 /usr/libexec/getty Pc ttyv1
>> 593 v2 Is+ 0:00.00 /usr/libexec/getty Pc ttyv2
>> 594 v3 Is+ 0:00.00 /usr/libexec/getty Pc ttyv3
>> 595 v4 Is+ 0:00.00 /usr/libexec/getty Pc ttyv4
>> 596 v5 Is+ 0:00.00 /usr/libexec/getty Pc ttyv5
>> 597 v6 Is+ 0:00.00 /usr/libexec/getty Pc ttyv6
>> 598 v7 Is+ 0:00.00 /usr/libexec/getty Pc ttyv7
>> 16099 p0- I 20:29.05 perl /usr/local/Radiator-3.15/radiusd
>> -log_file /var/log/radius/logfile -config_file
>> /usr/local/Radiator-3.15/voip.cfg -pid_file /
>> 78748 p0 Is 0:00.01 -sh (sh)
>> 78750 p0 I 0:00.01 su
>> 78751 p0 S 0:00.04 _su (csh)
>> 78761 p0 R+ 0:00.00 ps ax
>>
>> voiprad#ps axHlwww|grep PSA
>>
>> 0 78721 16099 0 4 0 1696 1184 sbwait I ?? 0:00.01
>> /usr/local/Radiator-3.15/hooks/PSA
>>
>> voiprad#
>> voiprad#
>> voiprad# ps -o wchan
>> WCHAN
>> ttyin
>> ttyin
>> ttyin
>> ttyin
>> ttyin
>> ttyin
>> ttyin
>> ttyin
>> piperd
>> wait
>> pause
>> -
>>
>
> Well, I meant a more complete command than that one ;-) Fortunately
> it's also included in your previous output above ("sbwait"). This
> means that the process is waiting for network traffic (usually waiting
> for another local or remote process to send it data). So it's not
> obviously pointing to a problem.
>
> Remind me again how you know this isn't an application bug (sorry,
> I've forgotten context)?
>
This application connects to remote mysql-4.0.x server
and sends some queries and does some calculations and returns.
I tried to run this application from console, and it works
fine. It runs from radius server and it works fine serving
user access requests except sometimes it hangs. It used to
work fine on FreeBSD 5.2-STABLE before upgrading to RELENG-6.
So I guess there is something else.
>
>>> You can also use kgdb to find out
>>> where it is waiting in the kernel:
>>>
>>> kgdb /dev/mem /boot/kernel/kernel.symbols
>>> info threads
>>> <find the thread corresponding to the process that is blocked>
>>> thread <tid>
>>> bt
>>>
>>>
>> Oh, I don't have kernel.symbols file, how to enable it?
>>
>
> It might be in your kernel compilation directory (possibly called
> kernel.debug). Otherwise, you'll have to build a new kernel and
> trigger the problem again.
>
I tried with with kernel.debug without success:
voiprad# kgdb /dev/mem /usr/obj/usr/src/sys/VOIPRAD/kernel.debug
kgdb: bad namelist
thanks,
Ganbold
> kris
>
More information about the freebsd-stable
mailing list