ports/74265: XFree86 Version 4.4.0 with KDE 3.1 freezes up in death loop

ALeine aleine at austrosearch.net
Mon Nov 22 19:50:24 UTC 2004

>Number:         74265
>Category:       ports
>Synopsis:       XFree86 Version 4.4.0 with KDE 3.1 freezes up in death loop
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 22 19:50:24 GMT 2004
>Originator:     ALeine
>Release:        FreeBSD 4.10-STABLE i386

System: FreeBSD 4.10-STABLE #1: Sun Sep 18 18:20:23 CEST 2004
    aleine at aleine:/usr/src/sys/compile/ALEINE


I upgraded XFree86 4 to the latest available version (4.4.0) from the
packages using the following metapackage and adding all the other
required packages recusively using pkg_add -r:

MD5 (XFree86-4.4.0_1,1.tgz) = 4bc68adf02cd294a522bbe90d7808dc1

After starting the newly upgraded XFree86 I noticed sporadic color
blotching: certain parts of some windows would turn the color of the
window title text color. For example, in xterm a line (or just a few
words) would change to that color. In the Opera browser the text input
field background (normally white) would also turn that color for less
than a second. The same flash blotching effect would happen in some
GTK based application windows as well.

The real problem lies in the fact that seemingly at random XFree86
freezes up completely so that it is not even possible to switch to
the console using CTRL+ALT+Fx. The mouse cursor remains responsive,
but everything else is frozen and CTRL+ALT+BACKSPACE does nothing
as well. I had to resort to using the reset button since I did not
have sshd up to try to log in from another machine on the LAN.

I wrote a simple script to periodically check XFree86 CPU usage
percentage and do the following upon determining that XFree86 was
using over 50 % of CPU percentage for more than 60 seconds:

- ktrace the offending process for 5 seconds
- kill the offending process, sending the SEGV, then the KILL signals
- log the results to syslog using logger

On the next freeze-up, XFree86 got killed and I was able to switch
to the console, but I could see nothing. I logged in without seeing
what I was typing and started XFree86 again.

Here is what my little script helped gather:

syslog entry:
Xwatcher: killed 1 process, pid = 401, sustained high cpu usage: 55.7 %,
after 60 seconds: 96.5 %, ktrace log in /var/log/xwatcher.401.ktrace.out

  401 XFree86  PSIG  SIGALRM caught handler=0x80d7838 mask=0x0 code=0x0
  401 XFree86  CALL  sigreturn(0xbfbfece4)
  401 XFree86  RET   sigreturn JUSTRETURN

These three lines keep repeating throughout the entire file, so XFree86
is obviously caught in a death loop.

# gdb XFree86
(gdb) x 0x80d7838
0x80d7838 <SmartScheduleTimer>: 0x83e58955

# gdb -c kdeinit.core
(gdb) x/f 0xbfbff454
0xbfbff454:     0x0

I don't have the time to debug this in further detail (nor do I have
the source files to everything needed), but if there's anything else
I can do to help solve this problem let me know.


It happens sporadically, sometimes after a few minutes, sometimes after
a few hours, it's hard to tell what triggers it, but it happens at
least a few times a day.


Unknown. Switch to Xorg?

WebMail FREE http://mail.austrosearch.net 

More information about the freebsd-ports-bugs mailing list