Re: [PROBLEM] Machine Freezes while Running Crossover Office

Linus Torvalds
2005-05-29T22:57:44Z

On Sun, 29 May 2005, Pekka Enberg wrote:
>
> The mouse cursor does not move and the screen does not refresh. The
> machine locks up completely for few seconds (actually more like 5-10 s)
> and then the system comes back up (after which it can be used normally).
> I cannot even switch virtual consoles. Please note that I can
> immediately reproduce the problem again as many times as I want by doing
> the test scenario.

The thing is, your sysrq-P output clearly shows that it's all in wine, and
I'd be very surprised if this is not a codeweavers/wine bug. The pipe poll
code is literally a couple of lines long, and it's hard to introduce a bug
there. Especially a transient bug that goes away.

However, I don't understand how wine can block the X server from doing
even cursor updates. It might be a scheduler bug, of course. The one thing
a bigger pipe buffer does is end up changing scheduling behaviour.

(On the other hand, I would not be surprised if Wine does something that
makes X pause, like use DGA or whatever and tells X not to update the
screen, including cursors).

> Is it possible that your changes for pipes to fill up to 64 KB confuses
> pipe_poll and friends?

pipe_poll shouldn't get confused, but apps certainly could. If an app
"knows" that a pipe read can only return 4kB of data, it would obviously
get confused when that's no longer true.

> The funny thing is that when I am stracing (and
> thus not hitting the problem), I do not see _any_ calls to sys_poll but
> when I _do_ hit the bug, pipe_poll clearly shows up in oprofile.

Are you sure your oprofile PC map is correct?

Linus