Process with S state(Interruptable) in RHEL and gives Advertise error after restarting/Killing the p

Hello,
In our Production system one process is in S state(interruptible)and after killing and restarting the process gives 'advertise error'.
This error goes after rebooting the Server.
I have RHEL 5.9 (tikanga) OS in our server.
We tried debugging the issue with the help of 'strace' command line but I am not able to understand the output file generated by the Strace.
I have attached the output file of Strace command
Can somebody help me out.

Your attachment does not show the output from the 'Strace' command.

However, The interruptable S state means it is waiting on a resource that is not currently available and/or has been put to sleep by the scheduler for a set waiting time.

I attach a very brief and widely available RedHat document on this subject.

Do post back any further questions.

Hello Hicksd8,
The output is from Strace command only,
Command is: strace -o <out_file> /(path of exe)
I read the article you attached, but in our condition every time we running the process it is giving me "Advertise error".

"Advertise Error" is a RFS (Receive Flow Steering) specific error but am I right in saying that you only get this error when you kill the process and then try to restart it. The problem is probably that the new process is trying to advertise a resource still advertised by the killed process.

The question is why the uninterruptable S state process is worrying you in the first place. What is happening that prompts you to mess with it? Why don't you just leave it alone?

Reference: Search for "Linux error 68 EADV"

Yes you got it right, every time I am starting the Process it is giving me "Advertise Error", and the process is not behaving the way it supposed to, until the reboot of Server.
So I had to check the state of the process and I got this. Living with it is kind of difficult.
So can you please tell me how to get rid of the advertise error.

Thanks

The point is that when the system reboots it starts this process (for whatever reason, do you know what this process is trying to do?) and the CPU says that it is calling for a resource that is not available (which could be caused by a number of things, eg, misconfiguration). The process is not waiting on an interrupt (eg, I/O or network packet arrival or keyboard input) so the CPU puts the process to sleep indefinitely and will wake it up itself when it is possible to run the process (ie, the resource has become available). If the resource never becomes available, then the process will permanently sleep until the system is shutdown.

So to get rid of the "advertise error" don't kill the original process and don't try to restart the process. When you restart the process the CPU says that you want the same resource that this process (now killed but still on the CPU queue) is waiting for. Don't "advertise" for that resource because I haven't got it available and, if I did, there's another process waiting for it.

So why are you worried about this uninterruptable sleeping process?????
Is the system misbehaving? Is some application screwing up? Are you getting an error message somewhere? If so what? Let us all see the original error, not the process restart error.

Moto is: "If it ain't broke, don't try and fix it!"

Is some application screwing up?
Ans: Yes the problem is my application is not working, every time this error occurs i had to restart my server, and this application does some redundancy check and automatic database update on 2 redundant systems.
This error does not occur frequently, but when it occurs we have no other option but to restart the server.
My goal is not to debug the S state but to remove the "advertise error" without rebooting the server.
Can you help me??
And thanks for replying instantly.

Rohit

So when this occurs some resource is no longer available. Could that be a network connection to a redundant system? Some resource is not available causing the CPU to sleep the process indefinitely. Could the process under certain error conditions be calling for a vast amount of memory that the system doesn't have? If the process usually runs just fine then this problem occurs in unusual/faulty circumstances (eg, a remote connection goes down).

Yes you got it right, my one observation is: This error occurs due to the incomplete transfer of database to the remote server(Cause may be the link disconnection or SFTP interruption), and the process failed in-between due to non-complete schema of the database. From then onward I am getting the "Advertise Error".

Whatever the resource is that's going unavailable, the CPU would reschedule the process if the resource returned. Of course, although not likely, this could be a hardware problem (eg, faulty network card).

When this problem occurs can you check the network interfaces of both the local and remote nodes are still up, and the network infrastructure between them is working. The OS isn't seeing this as an error as such otherwise it would report it. It sees it as a suspension of service whilst a resource is unavailable, pending resumption.

# strace -p <pid>

should give you a clue as to why the process is sleeping.