Actions
Bug #2028
closedhylafax uses 100% cpu in a select() loop
Start date:
Due date:
% Done:
0%
Estimated time:
Description
On DragonFly-2.8 and 2.9 systems, the faxgetty process from comms/hylafax uses
100% cpu without any reason.
- top -n 1
load averages: 1.11, 1.13, 0.95; up 0+00:30:47 22:33:38
CPU states: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idlePID USERNAME NICE SIZE PRES STATE CPU TIME CTIME CPU COMMAND
871 root 0 14M 108K RUN 1 29:08 29:08 97.61% faxgetty
faxgetty listens on /dev/ttyd0 for incoming faxes and should be idle when there
is no fax activity.
List of open files:
- fstat
p 871#C0:0x2 rw
USER CMD PID FD PATH INUM MODE SZ|DV R/W
uucp faxgetty 871 root / ?(1c) -
uucp faxgetty 871 wd /var/spool/hylafax ?(1c) -
uucp faxgetty 871 text /usr/pkg/libexec/faxgetty ?(1c) -
uucp faxgetty 871 0 /dev/null 669 crw-rw-rw
uucp faxgetty 871 1 /dev/null 669 crw-rw-rw- #C0:0x2 rw
uucp faxgetty 871 2 /dev/null 669 crw-rw-rw- #C0:0x2 rw
uucp faxgetty 871 3 /var/spool/hylafax/status/ttyd0 ?(1c)> ffffffe019b25ef0
uucp faxgetty 871 4 /var/spool/hylafax/FIFO.ttyd0 ?(1c) -
uucp faxgetty 871 5 /var/spool/hylafax/FIFO ?(1c) -
uucp faxgetty 871 6* local dgram ffffffe04303cbc0 <
uucp faxgetty 871 7 /dev/ttyd0 1267 crw------- devctl rw
I tried to investigate what it was doing with ktrace:
- ktrace -t c -p 871
- ktrace -C
- kdump -R
This pattern was constantly repeating:
871 faxgetty 0.000010 CALL
select(0x8,0x7ffffffff8b0,0x7ffffffff830,0x7ffffffff7b0,0x595c80)
871 faxgetty 0.000017 RET select 1
871 faxgetty 0.000012 CALL gettimeofday(0x7ffffffff6c0,0)
871 faxgetty 0.000011 RET gettimeofday 0
871 faxgetty 0.000011 CALL read(0x4,0x7fffffffeee0,0x7ff)
871 faxgetty 0.000013 RET read 0
871 faxgetty 0.000011 CALL gettimeofday(0x7ffffffff700,0)
871 faxgetty 0.000011 RET gettimeofday 0
871 faxgetty 0.000011 CALL gettimeofday(0x7ffffffff6c0,0)
871 faxgetty 0.000012 RET gettimeofday 0
Actions