X becomes unresponsive with nvidia and hardlocks with gdb (was Re: X becomes unresponsive with nvidia / xscreensaver and desktop panics)

Garrett Cooper yanefbsd at gmail.com
Sun Jan 11 18:53:10 PST 2009

On Fri, Jan 9, 2009 at 5:05 PM, Garrett Cooper <yanefbsd at gmail.com> wrote:
> On Fri, Jan 9, 2009 at 2:05 PM, Garrett Cooper <yanefbsd at gmail.com> wrote:
>> On Fri, Jan 9, 2009 at 1:40 PM, Doug Barton <dougb at freebsd.org> wrote:
>>> Garrett Cooper wrote:
>>>> Thanks for the tips Doug -- I'll give them a shot of course...
>>> Glad I could help. The one thing I forgot to mention is to try the
>>> nvidia-settings app if you have not already done so. There are various
>>> things there that you can tweak that might yield better results.
>>> Doug
>>    I did in fact set everything up via nvidia-settings. I'm running
>> some stress tests right now to see whether or not I can simulate the
>> issue -- it doesn't appear to be as straightforward as I thought..
>> -Garrett
> I believe my actual problem with panicking is related to gdb, not X11.
> So the actual problem is two-fold:
> - X11 livelocks, where I can login via ssh and kill .
> - When I use gdb -p, it prints out the same message reported here:
> <http://osdir.com/ml/gdb.bugs.discuss/2005-04/msg00043.html>. The only
> thing is that if I press `y' on the first go-around, the machine
> hardlocks on the first try with hitting `y'. If I hit `n' so gdb
> coredumps, I can either go on my merry way, or go back to the
> confirmation dialog. If I hit it again, it doesn't hardlock. It does
> hardlock though, and for whatever reason my PC speaker beeps, and I
> have to warm boot it. I haven't been able to get a kernel dump though,
> so something else mysteriously is going on that I can't track.
> So, just to simplify:
> first_try := True
> while gdb is running:
>    if prompt_for_coredump() and first_try is True:
>        panic()
>    first_try := False
> Thanks,
> -Garrett

Ok, I've been doing some more poking around this weekend, and here's
what I discovered:

- I've rebuilt my xorg-server a few times and it's still claiming that
it was built with 7.1-RC2 -_-...
- I can get the Xorg server to go full tilt by just compiling
something, like buildworld, via an xterm.
- I can't attach truss to Xorg, or the Xorg will livelock.

Now, trying out the nv driver:
- It constantly uses up ~20% CPU on one of my four cores. When I
compile something it chews up ~50% CPU.
- I can attach truss to Xorg, but it drags the CPU up to ~100%. Xorg
was spending a LOT of time pinging socket data around, which makes me
think that what the nvidia driver is doing is actually unrooting a
performance issue with the IPC mechanism in Xorg, as nv suffers from
the same thing, just on a less grand scale; mind you, I can get both
of my screens up and running under nvidia at different resolutions --
1920x1200 and 1680 x 1050 -- but under nv I only get 2 displays setup
at 1680 x 1050.
- Detaching truss causes the livelock condition (again).

Rebuilding xorg-server has proven to help so far. I did
delete-old-files, and it appears that xorg-server may have been
picking up some old libraries still.

Let's see if this sticks or not...


More information about the freebsd-x11 mailing list