[issue2028] hylafax uses 100% cpu in a select() loop

Francois Tigeot (via DragonFly issue tracker) sinknull at leaf.dragonflybsd.org
Fri Mar 18 14:48:30 PDT 2011


New submission from Francois Tigeot <ftigeot at wolfpond.org>:

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% idle

  PID 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 
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-   #C0:0x2 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)    -
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 <-> ffffffe019b25ef0
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

----------
assignedto: sjg
messages: 9741
nosy: ftigeot, sjg
priority: bug
status: unread
title: hylafax uses 100% cpu in a select() loop

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue2028>
_____________________________________________________






More information about the Bugs mailing list