jsvc consumes 100% CPU when redirecting errfile (and not outfile) to syslog
---------------------------------------------------------------------------

                 Key: DAEMON-186
                 URL: https://issues.apache.org/jira/browse/DAEMON-186
             Project: Commons Daemon
          Issue Type: Bug
          Components: Jsvc
    Affects Versions: 1.0.1
         Environment: Ubuntu
            Reporter: Ana Solano Ros
            Priority: Minor


When you run jsvc redirecting -errfile to syslog but not -outfile to syslog the 
jsvc process in charge of the redirection to syslog daemon consumes 100% CPU.
The problem dissapears when redirecting both (-errfile and -outfile) to syslog.
The problem appears when only one is redirected to syslog and the other 
parameter is not specified or redirected to a file.

The problem in the process appears to be the following:
- jsvc  tries to open 2 file descriptors, one for the standard output and one 
for the error output, and listen to both file descriptors
- when it receives a message from one of both descriptors it sends the message 
to syslog daemon.
- In the case that only -errfile is specified (and not -outfile), when jsvc 
tries to open the stardard output file descriptor it fails and the file 
descriptor points to "0" (default value, /dev/null).
- The jsvc listen to both descriptors, the error output (that was correctly 
opened) and the 0 file descriptor, and jsvc is receiving data continously from 
this "broken" file descriptor. So it enters in a loop that consumes 100% of CPU.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to