Operating System - Tru64 Unix
1748032 Members
4946 Online
108757 Solutions
New Discussion юеВ

Re: Can the system call go to indefinite loop?

 
R.Dakshinamurthi
Occasional Contributor

Can the system call go to indefinite loop?

Our application is developed in C/Sybase ESQL, running in ES40/Tru64 5.1a.

At times the CPU usage becomes 99% and continues to hold 99% for more than 60 minutes. Finally we had to kill the process.
Kindly note that this problem happens occasionally.

We found that this problem is happening for one particular screen.
Thorough code analysis is done and there is no chance for indefinite loops.
We observed that there are calls to UNIX CURSES refresh () function. We are sure that refresh () involves system calls.

Can the system call go to indefinite loop?
If so how to detect that?

Your immediate response will be highly appreciated.

Dakshin
2 REPLIES 2
Mike Morawsky
Occasional Advisor

Re: Can the system call go to indefinite loop?

It is possible for system calls to loop but a more probable scenaro is refresh()looping (i.e. refresh() continuously making system calls). I would recommend using some sort of tracing tool such as truss or trace to further isolate the problem. Truss can be found on the Extended System V kit located on the Associated Product CD #2. You may also want to ensure the latest patches for v5.1a is installed . If you cannot further isolate the problem, I would recommend logging a support call with HP Services.

Ralf Puchner
Honored Contributor

Re: Can the system call go to indefinite loop?

is this problem related to the getch() topic you opened?

Have a look at the suggested debug method. Also watch for the current state of the process using "ps waux".
Help() { FirstReadManual(urgently); Go_to_it;; }