Details
Description
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.
Attachments
Issue Links
- is blocked by
-
DAEMON-194 deadloop and no return value in logger_child
- Resolved